Category: Blog

Your blog category

  • 15 Movies That Give Away the Ending, If You’re Paying Attention

    15 Movies That Give Away the Ending, If You’re Paying Attention

    The best movie twists rarely come completely out of nowhere. Look closely enough, and filmmakers often spend the entire runtime quietly telling us exactly what is going to happen. A strange line of dialogue, an object sitting in the background, or a character behaving slightly differently can mean nothing the first time around and practically scream the answer on a rewatch. Sometimes the clue is so obvious that it seems impossible audiences missed it, which is precisely what makes the trick work. Once you know where everything is headed, these movies can feel like entirely different experiences the second time around. Here are 15 movies that give away the ending, if you’re paying attention.

    The post 15 Movies That Give Away the Ending, If You’re Paying Attention appeared first on Den of Geek.

    “Are you really Harry Potter?” wee little Dominic McLaughlin is asked by another incredulous first-year Hogwarts student at the end of the Harry Potter teaser from five months ago. That intriguing bit of marketing really leaned into elements from J.K. Rowling’s book series glossed over 25 years ago in the Christopher Columbus movie, Harry Potter and the Sorcerer’s Stone, such as just how miserable muggle school is for the Boy Who Lived. But by focusing so much on what is essentially the prologue, we didn’t get much flavor of what the real series is going to be about.

    That show is thus on much better display in the full trailer for the first season of HBO’s Harry Potter reboot, aptly titled for at least this year as Harry Potter and the Philosopher’s Stone. Whereas the secrets of Headmaster Dumbledore’s school for witchcraft and wizardry was only teased in the previous marketing, its total breadth is now on display. There is the sorting hat brought out beneath the floating candles of the great hall where Harry, Hermione Granger (Arabella Stanton), and all the rest have their fates decided; the botanical gardens are setting down roots; and a wizard’s idea of chess makes its move.

    Some of it even looks a bit different than how we might remember it based on the Warner Bros. movies from the 2000s. The Quidditch field outside the classrooms looks a lot humbler in size, as well as faintly more stately with its Victorian-flavored markings; and Paapa Essiedu is teasing a more youthful and, perhaps, even more openly anti-Potter Severus Snape when he menaces, “Let’s hope you show some talent with the Quidditch pitch, Potter. You’ve certainly not exhibited any in here.”

    The last line feels subtly counterintuitive to how Alan Rickman might have read the same dialogue 25 years ago… and therefore desperately needed because despite new castings and other seemingly arbitrary divergences from the production design choices of Columbus and WB a quarter-century ago, the film feels inescapably familiar. Which is both its advantage as a piece of IP extension and its burden as a creative endeavor.

    To be clear, it is far too early to pass any sort of judgment or critique on what HBO and showrunner Francesca Gardiner has achieved in their adaptation. But the main challenge of the series remains in the foreground throughout the sizzle reel: why make this again? Admittedly, it’s a question that’s dogged any remake going back to the days of when MGM would shamelessly churn out technicolor versions of their own black-and-white classics from 20 years prior. But at that time, there was no home media, no memes, and no YouTube clips to accompany audiences’ childhood nostalgia.

    cnx.cmd.push(function() {
    cnx({
    playerId: “106e33c0-3911-473c-b599-b1426db57530”,

    }).render(“0270c398a82f44f49c23c16122516796”);
    });

    There was also no need to feel obligated to remain slavishly faithful to the same source material. The alleged advantage of the Harry Potter TV series is that by making each season run 8-10 hours, it will doubtlessly have more time to carefully dramatize every single scene and inflection of Rowling’s pen, which previously had to be amended, shortened, and even supplemented with directors’ own ideas in a cinematic format. This is visible simply by virtue of the TV show having the correct UK title with “Philosopher” in lieu of “Sorcerer.” Nonetheless, the core elements folks love in these stories—the life-defining friendships between Harry, Hermione, and Ron, Quidditch, the sorting hat, or Dumbledore’s twinkly mentorship versus Snape’s foreboding alternative—were all faithfully adapted the first-time round. Beautifully so in many instances.

    The first teaser for Harry Potter intrigued me more since the lonely isolation of Harry’s childhood as an unwanted and unloved orphan in his aunt and uncle’s home is an aspect of the story the film series barely examined. Yet I imagine this trailer will win more fans based purely on it tickling the nostalgia of the aspects of the story that so many fondly cherish. It might be nice to be on the Hogwarts stomping grounds again, but I’m not convinced yet this will feel like anything more than a 20-year reminisce about glory days gone by.

    Harry Potter premieres on Christmas Day on HBO and HBO Max.

    The post HBO Harry Potter Trailer Reveals New Snape, Quidditch, and Hogwarts But Still Feels Old appeared first on Den of Geek.

  • Mad Max: Fury Road’s Casting Process Sounds Like It Was a Battle of Its Own

    Mad Max: Fury Road’s Casting Process Sounds Like It Was a Battle of Its Own

    It took George Miller a long time to make 2015’s Mad Max: Fury Road. He began developing the project around the turn of the millennium, but the director faced major setbacks, including filming location challenges, budget concerns, and the fact that his former leading man, Mel Gibson, was no longer a viable casting choice. Yet […]

    The post Mad Max: Fury Road’s Casting Process Sounds Like It Was a Battle of Its Own appeared first on Den of Geek.

    “Are you really Harry Potter?” wee little Dominic McLaughlin is asked by another incredulous first-year Hogwarts student at the end of the Harry Potter teaser from five months ago. That intriguing bit of marketing really leaned into elements from J.K. Rowling’s book series glossed over 25 years ago in the Christopher Columbus movie, Harry Potter and the Sorcerer’s Stone, such as just how miserable muggle school is for the Boy Who Lived. But by focusing so much on what is essentially the prologue, we didn’t get much flavor of what the real series is going to be about.

    That show is thus on much better display in the full trailer for the first season of HBO’s Harry Potter reboot, aptly titled for at least this year as Harry Potter and the Philosopher’s Stone. Whereas the secrets of Headmaster Dumbledore’s school for witchcraft and wizardry was only teased in the previous marketing, its total breadth is now on display. There is the sorting hat brought out beneath the floating candles of the great hall where Harry, Hermione Granger (Arabella Stanton), and all the rest have their fates decided; the botanical gardens are setting down roots; and a wizard’s idea of chess makes its move.

    Some of it even looks a bit different than how we might remember it based on the Warner Bros. movies from the 2000s. The Quidditch field outside the classrooms looks a lot humbler in size, as well as faintly more stately with its Victorian-flavored markings; and Paapa Essiedu is teasing a more youthful and, perhaps, even more openly anti-Potter Severus Snape when he menaces, “Let’s hope you show some talent with the Quidditch pitch, Potter. You’ve certainly not exhibited any in here.”

    The last line feels subtly counterintuitive to how Alan Rickman might have read the same dialogue 25 years ago… and therefore desperately needed because despite new castings and other seemingly arbitrary divergences from the production design choices of Columbus and WB a quarter-century ago, the film feels inescapably familiar. Which is both its advantage as a piece of IP extension and its burden as a creative endeavor.

    To be clear, it is far too early to pass any sort of judgment or critique on what HBO and showrunner Francesca Gardiner has achieved in their adaptation. But the main challenge of the series remains in the foreground throughout the sizzle reel: why make this again? Admittedly, it’s a question that’s dogged any remake going back to the days of when MGM would shamelessly churn out technicolor versions of their own black-and-white classics from 20 years prior. But at that time, there was no home media, no memes, and no YouTube clips to accompany audiences’ childhood nostalgia.

    cnx.cmd.push(function() {
    cnx({
    playerId: “106e33c0-3911-473c-b599-b1426db57530”,

    }).render(“0270c398a82f44f49c23c16122516796”);
    });

    There was also no need to feel obligated to remain slavishly faithful to the same source material. The alleged advantage of the Harry Potter TV series is that by making each season run 8-10 hours, it will doubtlessly have more time to carefully dramatize every single scene and inflection of Rowling’s pen, which previously had to be amended, shortened, and even supplemented with directors’ own ideas in a cinematic format. This is visible simply by virtue of the TV show having the correct UK title with “Philosopher” in lieu of “Sorcerer.” Nonetheless, the core elements folks love in these stories—the life-defining friendships between Harry, Hermione, and Ron, Quidditch, the sorting hat, or Dumbledore’s twinkly mentorship versus Snape’s foreboding alternative—were all faithfully adapted the first-time round. Beautifully so in many instances.

    The first teaser for Harry Potter intrigued me more since the lonely isolation of Harry’s childhood as an unwanted and unloved orphan in his aunt and uncle’s home is an aspect of the story the film series barely examined. Yet I imagine this trailer will win more fans based purely on it tickling the nostalgia of the aspects of the story that so many fondly cherish. It might be nice to be on the Hogwarts stomping grounds again, but I’m not convinced yet this will feel like anything more than a 20-year reminisce about glory days gone by.

    Harry Potter premieres on Christmas Day on HBO and HBO Max.

    The post HBO Harry Potter Trailer Reveals New Snape, Quidditch, and Hogwarts But Still Feels Old appeared first on Den of Geek.

  • Wonder Woman 3 Could Never Happen in the New DCU

    Wonder Woman 3 Could Never Happen in the New DCU

    Paradise is officially lost, at least for Gal Gadot. The star recently expressed her disappointment that a third Wonder Woman movie with her back as Princess Diana and Patty Jenkins directing did not come to pass. “They told me the opposite!” she said of Wonder Woman 3 on the Happy Sad Confused (via Variety) podcast. […]

    The post Wonder Woman 3 Could Never Happen in the New DCU appeared first on Den of Geek.

    “Are you really Harry Potter?” wee little Dominic McLaughlin is asked by another incredulous first-year Hogwarts student at the end of the Harry Potter teaser from five months ago. That intriguing bit of marketing really leaned into elements from J.K. Rowling’s book series glossed over 25 years ago in the Christopher Columbus movie, Harry Potter and the Sorcerer’s Stone, such as just how miserable muggle school is for the Boy Who Lived. But by focusing so much on what is essentially the prologue, we didn’t get much flavor of what the real series is going to be about.

    That show is thus on much better display in the full trailer for the first season of HBO’s Harry Potter reboot, aptly titled for at least this year as Harry Potter and the Philosopher’s Stone. Whereas the secrets of Headmaster Dumbledore’s school for witchcraft and wizardry was only teased in the previous marketing, its total breadth is now on display. There is the sorting hat brought out beneath the floating candles of the great hall where Harry, Hermione Granger (Arabella Stanton), and all the rest have their fates decided; the botanical gardens are setting down roots; and a wizard’s idea of chess makes its move.

    Some of it even looks a bit different than how we might remember it based on the Warner Bros. movies from the 2000s. The Quidditch field outside the classrooms looks a lot humbler in size, as well as faintly more stately with its Victorian-flavored markings; and Paapa Essiedu is teasing a more youthful and, perhaps, even more openly anti-Potter Severus Snape when he menaces, “Let’s hope you show some talent with the Quidditch pitch, Potter. You’ve certainly not exhibited any in here.”

    The last line feels subtly counterintuitive to how Alan Rickman might have read the same dialogue 25 years ago… and therefore desperately needed because despite new castings and other seemingly arbitrary divergences from the production design choices of Columbus and WB a quarter-century ago, the film feels inescapably familiar. Which is both its advantage as a piece of IP extension and its burden as a creative endeavor.

    To be clear, it is far too early to pass any sort of judgment or critique on what HBO and showrunner Francesca Gardiner has achieved in their adaptation. But the main challenge of the series remains in the foreground throughout the sizzle reel: why make this again? Admittedly, it’s a question that’s dogged any remake going back to the days of when MGM would shamelessly churn out technicolor versions of their own black-and-white classics from 20 years prior. But at that time, there was no home media, no memes, and no YouTube clips to accompany audiences’ childhood nostalgia.

    cnx.cmd.push(function() {
    cnx({
    playerId: “106e33c0-3911-473c-b599-b1426db57530”,

    }).render(“0270c398a82f44f49c23c16122516796”);
    });

    There was also no need to feel obligated to remain slavishly faithful to the same source material. The alleged advantage of the Harry Potter TV series is that by making each season run 8-10 hours, it will doubtlessly have more time to carefully dramatize every single scene and inflection of Rowling’s pen, which previously had to be amended, shortened, and even supplemented with directors’ own ideas in a cinematic format. This is visible simply by virtue of the TV show having the correct UK title with “Philosopher” in lieu of “Sorcerer.” Nonetheless, the core elements folks love in these stories—the life-defining friendships between Harry, Hermione, and Ron, Quidditch, the sorting hat, or Dumbledore’s twinkly mentorship versus Snape’s foreboding alternative—were all faithfully adapted the first-time round. Beautifully so in many instances.

    The first teaser for Harry Potter intrigued me more since the lonely isolation of Harry’s childhood as an unwanted and unloved orphan in his aunt and uncle’s home is an aspect of the story the film series barely examined. Yet I imagine this trailer will win more fans based purely on it tickling the nostalgia of the aspects of the story that so many fondly cherish. It might be nice to be on the Hogwarts stomping grounds again, but I’m not convinced yet this will feel like anything more than a 20-year reminisce about glory days gone by.

    Harry Potter premieres on Christmas Day on HBO and HBO Max.

    The post HBO Harry Potter Trailer Reveals New Snape, Quidditch, and Hogwarts But Still Feels Old appeared first on Den of Geek.

  • HBO Harry Potter Trailer Reveals New Snape, Quidditch, and Hogwarts But Still Feels Old

    HBO Harry Potter Trailer Reveals New Snape, Quidditch, and Hogwarts But Still Feels Old

    “Are you really Harry Potter?” wee little Dominic McLaughlin is asked by another incredulous first-year Hogwarts student at the end of the Harry Potter teaser from five months ago. That intriguing bit of marketing really leaned into elements from J.K. Rowling’s book series glossed over 25 years ago in the Christopher Columbus movie, Harry Potter […]

    The post HBO Harry Potter Trailer Reveals New Snape, Quidditch, and Hogwarts But Still Feels Old appeared first on Den of Geek.

    “Are you really Harry Potter?” wee little Dominic McLaughlin is asked by another incredulous first-year Hogwarts student at the end of the Harry Potter teaser from five months ago. That intriguing bit of marketing really leaned into elements from J.K. Rowling’s book series glossed over 25 years ago in the Christopher Columbus movie, Harry Potter and the Sorcerer’s Stone, such as just how miserable muggle school is for the Boy Who Lived. But by focusing so much on what is essentially the prologue, we didn’t get much flavor of what the real series is going to be about.

    That show is thus on much better display in the full trailer for the first season of HBO’s Harry Potter reboot, aptly titled for at least this year as Harry Potter and the Philosopher’s Stone. Whereas the secrets of Headmaster Dumbledore’s school for witchcraft and wizardry was only teased in the previous marketing, its total breadth is now on display. There is the sorting hat brought out beneath the floating candles of the great hall where Harry, Hermione Granger (Arabella Stanton), and all the rest have their fates decided; the botanical gardens are setting down roots; and a wizard’s idea of chess makes its move.

    Some of it even looks a bit different than how we might remember it based on the Warner Bros. movies from the 2000s. The Quidditch field outside the classrooms looks a lot humbler in size, as well as faintly more stately with its Victorian-flavored markings; and Paapa Essiedu is teasing a more youthful and, perhaps, even more openly anti-Potter Severus Snape when he menaces, “Let’s hope you show some talent with the Quidditch pitch, Potter. You’ve certainly not exhibited any in here.”

    The last line feels subtly counterintuitive to how Alan Rickman might have read the same dialogue 25 years ago… and therefore desperately needed because despite new castings and other seemingly arbitrary divergences from the production design choices of Columbus and WB a quarter-century ago, the film feels inescapably familiar. Which is both its advantage as a piece of IP extension and its burden as a creative endeavor.

    To be clear, it is far too early to pass any sort of judgment or critique on what HBO and showrunner Francesca Gardiner has achieved in their adaptation. But the main challenge of the series remains in the foreground throughout the sizzle reel: why make this again? Admittedly, it’s a question that’s dogged any remake going back to the days of when MGM would shamelessly churn out technicolor versions of their own black-and-white classics from 20 years prior. But at that time, there was no home media, no memes, and no YouTube clips to accompany audiences’ childhood nostalgia.

    cnx.cmd.push(function() {
    cnx({
    playerId: “106e33c0-3911-473c-b599-b1426db57530”,

    }).render(“0270c398a82f44f49c23c16122516796”);
    });

    There was also no need to feel obligated to remain slavishly faithful to the same source material. The alleged advantage of the Harry Potter TV series is that by making each season run 8-10 hours, it will doubtlessly have more time to carefully dramatize every single scene and inflection of Rowling’s pen, which previously had to be amended, shortened, and even supplemented with directors’ own ideas in a cinematic format. This is visible simply by virtue of the TV show having the correct UK title with “Philosopher” in lieu of “Sorcerer.” Nonetheless, the core elements folks love in these stories—the life-defining friendships between Harry, Hermione, and Ron, Quidditch, the sorting hat, or Dumbledore’s twinkly mentorship versus Snape’s foreboding alternative—were all faithfully adapted the first-time round. Beautifully so in many instances.

    The first teaser for Harry Potter intrigued me more since the lonely isolation of Harry’s childhood as an unwanted and unloved orphan in his aunt and uncle’s home is an aspect of the story the film series barely examined. Yet I imagine this trailer will win more fans based purely on it tickling the nostalgia of the aspects of the story that so many fondly cherish. It might be nice to be on the Hogwarts stomping grounds again, but I’m not convinced yet this will feel like anything more than a 20-year reminisce about glory days gone by.

    Harry Potter premieres on Christmas Day on HBO and HBO Max.

    The post HBO Harry Potter Trailer Reveals New Snape, Quidditch, and Hogwarts But Still Feels Old appeared first on Den of Geek.

  • Share your challenges and assets on our Survey

    Share your challenges and assets on our Survey

    What small town people see as their biggest challenges And what topics rural people most want help with What is the Survey of Rural Challenges? The survey is a project of SaveYour.Town and SmallBizSurvival.com, and it is open for responses every other year. People participate mostly from across the US, Canada, and other countries, including Australia, the UK, and…

  • Why are so many people’s marketing lists stale?

    Why are so many people’s marketing lists stale?

    If your systems don’t talk to each other, you could be sending mixed messages to your potential customers and dissauding them from buying from you.

    The post Why are so many people’s marketing lists stale? appeared first on HighEdWebTech.

    If you’re like me, and you may be since you’re reading this post,  you get ideas for apps , websites and services all the time. I know I do. What I am bad at is actually executing these ideas. Sometimes I write a little code, other times I buy a domain name that would fit my idea and then life happens and before you know it I have a bunch of folders, some code and domain names but no real sites to speak of.  I’m trying to break that cycle.

    I worked in higher ed from 1998 to 2016. It was both the best and hardest career choice I could have made and it was awesome. I met so many awesome colleagues, team members, friends and more across that time. I left and went to the private sector for two years, but it wasn’t a great fit. At that point, I went full-time on my own at my digital agency, Gas Mark 8.  I kept looking for higher ed roles, interviewed for several (including a few full-day on campus interviews) but nothing went my way. What can you do — it happens.

    Over the last 6 years since I left higher ed, I’ve seen so many amazing people leave the industry. It started pre-pandemic, the last 3 years have really been hard on higher education and there’s been a large exodus of talent. There are a lot of reasons for that, and we know many of them (pay, remote work, career advancement, difficult environments, the big sea change in education, and so on.) There has been a very large brain drain, and that’s a bummer.

    I’m bummed because I love higher ed and it’s important. I don’t know what the future holds for it, but I believe in what its about. I have one child a year away from finishing college and one a year away from starting. They’re working with amazing faculty and staff and taking advantage of all the opportunities they can. It’s so critical as they get ready to go out into the world.

    Back in 2013 or 2014, I created a very quick and dirty job search website that provided links to the HR listing pages of colleges and universities around me in Cleveland, where I live. I was curious about what was out there, and made a simple tool. I shared it with some folks on my team, and added more cities like Erie and Pittsburgh, Pennsylvania. It was just for me mostly, and had very little in terms of design or usability. I did, however, notice that a few schools featured  RSS feeds, and I added a note in my code to someday build out a feature that would grab those job posts and show them on the page without needing another click. The idea nagged at me. I took me 7 or 8 years, but I finally built it.

    Before Christmas, I was going through some folders of code and old sites and found the old job site I made. “Finally,” I thought, “there has to be an easy way to build this.” In about 15 minutes, I spun up a WordPress dev site, installed some of the tools we use at Gas Mark 8 and got to work. I started with the last school I worked at (miss you, JCU) — it’s also where my son attends. I threw in their RSS feed and to my surprise, it worked. There were 15 jobs in a custom post type I created. Interesting…

    I continued to iterate on features and data structures. The goal in my mind was to build something I didn’t have to babysit. I wanted to add schools to it, import their posts and make sure the data goes to the right place. It started out well. I found more and more schools whose applicant tracking system (ATS) offered RSS or Atom feeds. A decent amount do but the vast majority of them to do not. TMany are closed systems, which is fine, but it stinks to not share that data.

    One thing that the plugins we have and the code I’ve written so far doesn’t do (except for a few tests) is scrape pages to get job postings. The ones I’ve tried to scape use the same system so I can re-use my code but many obfuscate their code and don’t let you make requests to data like JSON feeds (looking at you, Workday.) If anyone has written a scraper for any of these ATS sites, let me know.

    Once the jobs were coming in, the actual web site  needed a layout, design, UI and most importantly a name. Let me introduce you to CollegeAndUniversity.careers. Have you tried to find a good domain name lately? It’s difficult.

    Tako logo After a few weeks of work and getting some help (thanks, Dylan!), it’s ready for use. I’ve polling about 90 schools and the site now has over 7,700 jobs. It polls schools daily, gets new jobs, edits existing job and deletes jobs that are no longer posted. We’ve created some cool searching ability (by keyword, state or both.) I think it would be cool to allow people to create job search alerts, but that’s down the road. I’ve got a nice feature list going.

    We also have a logo. I had one made awhile ago for another app (it’s on the list to build) and we all love it so it’s got a graduation cap now. Why an octopus? It’s got eight legs. Our agency also has an 8 in it. Made sense at the time. I’m thinking of calling it Tako.

    The site is built in WordPress and uses Elementor. I did the design in XD and we built it from there. It uses WP All Import Pro to poll all the schools and import the jobs. I wrote some PHP to scrape a few sites that didn’t have feeds. It’s OK but not the best. The site is hosted at Cloudways, where we are a Gold Agency Partner and are big fans. They’ve made our lives much easier.

    I’m sharing it here because there are still some folks who subscribe to this blog via email so I hope you’ll open it and visit it. You may still work in higher ed, so I’d love your feedback and ideas on how to make this the best job search tool possible.

    If you have a second, would you mind checking it out? Better yet, if you know of someone who is searching for the next stop in their career, please share it with them. We’re adding new schools every day and if just one person finds an amazing opportunity from the site, then all the work and time will have been worth it.

    Me? I’m glad to get one of these ideas out of my head and out there into the world.

    Thanks and Happy New Year Career!

    The post I decided to build a job search site appeared first on HighEdWebTech.

  • New Plugin Hides WordPress 5 Upgrade Nags

    New Plugin Hides WordPress 5 Upgrade Nags

    Here’s a nice, simple plugin to use if you want to hide the “Update to WordPress 5” nag alert from your site’s dashboard.

    The post New Plugin Hides WordPress 5 Upgrade Nags appeared first on HighEdWebTech.

    If you’re like me, and you may be since you’re reading this post,  you get ideas for apps , websites and services all the time. I know I do. What I am bad at is actually executing these ideas. Sometimes I write a little code, other times I buy a domain name that would fit my idea and then life happens and before you know it I have a bunch of folders, some code and domain names but no real sites to speak of.  I’m trying to break that cycle.

    I worked in higher ed from 1998 to 2016. It was both the best and hardest career choice I could have made and it was awesome. I met so many awesome colleagues, team members, friends and more across that time. I left and went to the private sector for two years, but it wasn’t a great fit. At that point, I went full-time on my own at my digital agency, Gas Mark 8.  I kept looking for higher ed roles, interviewed for several (including a few full-day on campus interviews) but nothing went my way. What can you do — it happens.

    Over the last 6 years since I left higher ed, I’ve seen so many amazing people leave the industry. It started pre-pandemic, the last 3 years have really been hard on higher education and there’s been a large exodus of talent. There are a lot of reasons for that, and we know many of them (pay, remote work, career advancement, difficult environments, the big sea change in education, and so on.) There has been a very large brain drain, and that’s a bummer.

    I’m bummed because I love higher ed and it’s important. I don’t know what the future holds for it, but I believe in what its about. I have one child a year away from finishing college and one a year away from starting. They’re working with amazing faculty and staff and taking advantage of all the opportunities they can. It’s so critical as they get ready to go out into the world.

    Back in 2013 or 2014, I created a very quick and dirty job search website that provided links to the HR listing pages of colleges and universities around me in Cleveland, where I live. I was curious about what was out there, and made a simple tool. I shared it with some folks on my team, and added more cities like Erie and Pittsburgh, Pennsylvania. It was just for me mostly, and had very little in terms of design or usability. I did, however, notice that a few schools featured  RSS feeds, and I added a note in my code to someday build out a feature that would grab those job posts and show them on the page without needing another click. The idea nagged at me. I took me 7 or 8 years, but I finally built it.

    Before Christmas, I was going through some folders of code and old sites and found the old job site I made. “Finally,” I thought, “there has to be an easy way to build this.” In about 15 minutes, I spun up a WordPress dev site, installed some of the tools we use at Gas Mark 8 and got to work. I started with the last school I worked at (miss you, JCU) — it’s also where my son attends. I threw in their RSS feed and to my surprise, it worked. There were 15 jobs in a custom post type I created. Interesting…

    I continued to iterate on features and data structures. The goal in my mind was to build something I didn’t have to babysit. I wanted to add schools to it, import their posts and make sure the data goes to the right place. It started out well. I found more and more schools whose applicant tracking system (ATS) offered RSS or Atom feeds. A decent amount do but the vast majority of them to do not. TMany are closed systems, which is fine, but it stinks to not share that data.

    One thing that the plugins we have and the code I’ve written so far doesn’t do (except for a few tests) is scrape pages to get job postings. The ones I’ve tried to scape use the same system so I can re-use my code but many obfuscate their code and don’t let you make requests to data like JSON feeds (looking at you, Workday.) If anyone has written a scraper for any of these ATS sites, let me know.

    Once the jobs were coming in, the actual web site  needed a layout, design, UI and most importantly a name. Let me introduce you to CollegeAndUniversity.careers. Have you tried to find a good domain name lately? It’s difficult.

    Tako logo After a few weeks of work and getting some help (thanks, Dylan!), it’s ready for use. I’ve polling about 90 schools and the site now has over 7,700 jobs. It polls schools daily, gets new jobs, edits existing job and deletes jobs that are no longer posted. We’ve created some cool searching ability (by keyword, state or both.) I think it would be cool to allow people to create job search alerts, but that’s down the road. I’ve got a nice feature list going.

    We also have a logo. I had one made awhile ago for another app (it’s on the list to build) and we all love it so it’s got a graduation cap now. Why an octopus? It’s got eight legs. Our agency also has an 8 in it. Made sense at the time. I’m thinking of calling it Tako.

    The site is built in WordPress and uses Elementor. I did the design in XD and we built it from there. It uses WP All Import Pro to poll all the schools and import the jobs. I wrote some PHP to scrape a few sites that didn’t have feeds. It’s OK but not the best. The site is hosted at Cloudways, where we are a Gold Agency Partner and are big fans. They’ve made our lives much easier.

    I’m sharing it here because there are still some folks who subscribe to this blog via email so I hope you’ll open it and visit it. You may still work in higher ed, so I’d love your feedback and ideas on how to make this the best job search tool possible.

    If you have a second, would you mind checking it out? Better yet, if you know of someone who is searching for the next stop in their career, please share it with them. We’re adding new schools every day and if just one person finds an amazing opportunity from the site, then all the work and time will have been worth it.

    Me? I’m glad to get one of these ideas out of my head and out there into the world.

    Thanks and Happy New Year Career!

    The post I decided to build a job search site appeared first on HighEdWebTech.

  • Design for Safety, An Excerpt

    Design for Safety, An Excerpt

    Antiracist economist Kim Crayton says that “intention without strategy is chaos.” We’ve discussed how our biases, assumptions, and inattention toward marginalized and vulnerable groups lead to dangerous and unethical tech—but what, specifically, do we need to do to fix it? The intention to make our tech safer is not enough; we need a strategy.

    This chapter will equip you with that plan of action. It covers how to integrate safety principles into your design work in order to create tech that’s safe, how to convince your stakeholders that this work is necessary, and how to respond to the critique that what we actually need is more diversity. (Spoiler: we do, but diversity alone is not the antidote to fixing unethical, unsafe tech.)

    The process for inclusive safety

    When you are designing for safety, your goals are to:

    • identify ways your product can be used for abuse,
    • design ways to prevent the abuse, and
    • provide support for vulnerable users to reclaim power and control.

    The Process for Inclusive Safety is a tool to help you reach those goals (Fig 5.1). It’s a methodology I created in 2018 to capture the various techniques I was using when designing products with safety in mind. Whether you are creating an entirely new product or adding to an existing feature, the Process can help you make your product safe and inclusive. The Process includes five general areas of action:

    • Conducting research
    • Creating archetypes
    • Brainstorming problems
    • Designing solutions
    • Testing for safety

    The Process is meant to be flexible—it won’t make sense for teams to implement every step in some situations. Use the parts that are relevant to your unique work and context; this is meant to be something you can insert into your existing design practice.

    And once you use it, if you have an idea for making it better or simply want to provide context of how it helped your team, please get in touch with me. It’s a living document that I hope will continue to be a useful and realistic tool that technologists can use in their day-to-day work.

    If you’re working on a product specifically for a vulnerable group or survivors of some form of trauma, such as an app for survivors of domestic violence, sexual assault, or drug addiction, be sure to read Chapter 7, which covers that situation explicitly and should be handled a bit differently. The guidelines here are for prioritizing safety when designing a more general product that will have a wide user base (which, we already know from statistics, will include certain groups that should be protected from harm). Chapter 7 is focused on products that are specifically for vulnerable groups and people who have experienced trauma.

    Step 1: Conduct research

    Design research should include a broad analysis of how your tech might be weaponized for abuse as well as specific insights into the experiences of survivors and perpetrators of that type of abuse. At this stage, you and your team will investigate issues of interpersonal harm and abuse, and explore any other safety, security, or inclusivity issues that might be a concern for your product or service, like data security, racist algorithms, and harassment.

    Broad research

    Your project should begin with broad, general research into similar products and issues around safety and ethical concerns that have already been reported. For example, a team building a smart home device would do well to understand the multitude of ways that existing smart home devices have been used as tools of abuse. If your product will involve AI, seek to understand the potentials for racism and other issues that have been reported in existing AI products. Nearly all types of technology have some kind of potential or actual harm that’s been reported on in the news or written about by academics. Google Scholar is a useful tool for finding these studies.

    Specific research: Survivors

    When possible and appropriate, include direct research (surveys and interviews) with people who are experts in the forms of harm you have uncovered. Ideally, you’ll want to interview advocates working in the space of your research first so that you have a more solid understanding of the topic and are better equipped to not retraumatize survivors. If you’ve uncovered possible domestic violence issues, for example, the experts you’ll want to speak with are survivors themselves, as well as workers at domestic violence hotlines, shelters, other related nonprofits, and lawyers.

    Especially when interviewing survivors of any kind of trauma, it is important to pay people for their knowledge and lived experiences. Don’t ask survivors to share their trauma for free, as this is exploitative. While some survivors may not want to be paid, you should always make the offer in the initial ask. An alternative to payment is to donate to an organization working against the type of violence that the interviewee experienced. We’ll talk more about how to appropriately interview survivors in Chapter 6.

    Specific research: Abusers

    It’s unlikely that teams aiming to design for safety will be able to interview self-proclaimed abusers or people who have broken laws around things like hacking. Don’t make this a goal; rather, try to get at this angle in your general research. Aim to understand how abusers or bad actors weaponize technology to use against others, how they cover their tracks, and how they explain or rationalize the abuse.

    Step 2: Create archetypes

    Once you’ve finished conducting your research, use your insights to create abuser and survivor archetypes. Archetypes are not personas, as they’re not based on real people that you interviewed and surveyed. Instead, they’re based on your research into likely safety issues, much like when we design for accessibility: we don’t need to have found a group of blind or low-vision users in our interview pool to create a design that’s inclusive of them. Instead, we base those designs on existing research into what this group needs. Personas typically represent real users and include many details, while archetypes are broader and can be more generalized.

    The abuser archetype is someone who will look at the product as a tool to perform harm (Fig 5.2). They may be trying to harm someone they don’t know through surveillance or anonymous harassment, or they may be trying to control, monitor, abuse, or torment someone they know personally.

    The survivor archetype is someone who is being abused with the product. There are various situations to consider in terms of the archetype’s understanding of the abuse and how to put an end to it: Do they need proof of abuse they already suspect is happening, or are they unaware they’ve been targeted in the first place and need to be alerted (Fig 5.3)?

    You may want to make multiple survivor archetypes to capture a range of different experiences. They may know that the abuse is happening but not be able to stop it, like when an abuser locks them out of IoT devices; or they know it’s happening but don’t know how, such as when a stalker keeps figuring out their location (Fig 5.4). Include as many of these scenarios as you need to in your survivor archetype. You’ll use these later on when you design solutions to help your survivor archetypes achieve their goals of preventing and ending abuse.

    It may be useful for you to create persona-like artifacts for your archetypes, such as the three examples shown. Instead of focusing on the demographic information we often see in personas, focus on their goals. The goals of the abuser will be to carry out the specific abuse you’ve identified, while the goals of the survivor will be to prevent abuse, understand that abuse is happening, make ongoing abuse stop, or regain control over the technology that’s being used for abuse. Later, you’ll brainstorm how to prevent the abuser’s goals and assist the survivor’s goals.

    And while the “abuser/survivor” model fits most cases, it doesn’t fit all, so modify it as you need to. For example, if you uncovered an issue with security, such as the ability for someone to hack into a home camera system and talk to children, the malicious hacker would get the abuser archetype and the child’s parents would get survivor archetype.

    Step 3: Brainstorm problems

    After creating archetypes, brainstorm novel abuse cases and safety issues. “Novel” means things not found in your research; you’re trying to identify completely new safety issues that are unique to your product or service. The goal with this step is to exhaust every effort of identifying harms your product could cause. You aren’t worrying about how to prevent the harm yet—that comes in the next step.

    How could your product be used for any kind of abuse, outside of what you’ve already identified in your research? I recommend setting aside at least a few hours with your team for this process.

    If you’re looking for somewhere to start, try doing a Black Mirror brainstorm. This exercise is based on the show Black Mirror, which features stories about the dark possibilities of technology. Try to figure out how your product would be used in an episode of the show—the most wild, awful, out-of-control ways it could be used for harm. When I’ve led Black Mirror brainstorms, participants usually end up having a good deal of fun (which I think is great—it’s okay to have fun when designing for safety!). I recommend time-boxing a Black Mirror brainstorm to half an hour, and then dialing it back and using the rest of the time thinking of more realistic forms of harm.

    After you’ve identified as many opportunities for abuse as possible, you may still not feel confident that you’ve uncovered every potential form of harm. A healthy amount of anxiety is normal when you’re doing this kind of work. It’s common for teams designing for safety to worry, “Have we really identified every possible harm? What if we’ve missed something?” If you’ve spent at least four hours coming up with ways your product could be used for harm and have run out of ideas, go to the next step.

    It’s impossible to guarantee you’ve thought of everything; instead of aiming for 100 percent assurance, recognize that you’ve taken this time and have done the best you can, and commit to continuing to prioritize safety in the future. Once your product is released, your users may identify new issues that you missed; aim to receive that feedback graciously and course-correct quickly.

    Step 4: Design solutions

    At this point, you should have a list of ways your product can be used for harm as well as survivor and abuser archetypes describing opposing user goals. The next step is to identify ways to design against the identified abuser’s goals and to support the survivor’s goals. This step is a good one to insert alongside existing parts of your design process where you’re proposing solutions for the various problems your research uncovered.

    Some questions to ask yourself to help prevent harm and support your archetypes include:

    • Can you design your product in such a way that the identified harm cannot happen in the first place? If not, what roadblocks can you put up to prevent the harm from happening?
    • How can you make the victim aware that abuse is happening through your product?
    • How can you help the victim understand what they need to do to make the problem stop?
    • Can you identify any types of user activity that would indicate some form of harm or abuse? Could your product help the user access support?

    In some products, it’s possible to proactively recognize that harm is happening. For example, a pregnancy app might be modified to allow the user to report that they were the victim of an assault, which could trigger an offer to receive resources for local and national organizations. This sort of proactiveness is not always possible, but it’s worth taking a half hour to discuss if any type of user activity would indicate some form of harm or abuse, and how your product could assist the user in receiving help in a safe manner.

    That said, use caution: you don’t want to do anything that could put a user in harm’s way if their devices are being monitored. If you do offer some kind of proactive help, always make it voluntary, and think through other safety issues, such as the need to keep the user in-app in case an abuser is checking their search history. We’ll walk through a good example of this in the next chapter.

    Step 5: Test for safety

    The final step is to test your prototypes from the point of view of your archetypes: the person who wants to weaponize the product for harm and the victim of the harm who needs to regain control over the technology. Just like any other kind of product testing, at this point you’ll aim to rigorously test out your safety solutions so that you can identify gaps and correct them, validate that your designs will help keep your users safe, and feel more confident releasing your product into the world.

    Ideally, safety testing happens along with usability testing. If you’re at a company that doesn’t do usability testing, you might be able to use safety testing to cleverly perform both; a user who goes through your design attempting to weaponize the product against someone else can also be encouraged to point out interactions or other elements of the design that don’t make sense to them.

    You’ll want to conduct safety testing on either your final prototype or the actual product if it’s already been released. There’s nothing wrong with testing an existing product that wasn’t designed with safety goals in mind from the onset—“retrofitting” it for safety is a good thing to do.

    Remember that testing for safety involves testing from the perspective of both an abuser and a survivor, though it may not make sense for you to do both. Alternatively, if you made multiple survivor archetypes to capture multiple scenarios, you’ll want to test from the perspective of each one.

    As with other sorts of usability testing, you as the designer are most likely too close to the product and its design by this point to be a valuable tester; you know the product too well. Instead of doing it yourself, set up testing as you would with other usability testing: find someone who is not familiar with the product and its design, set the scene, give them a task, encourage them to think out loud, and observe how they attempt to complete it.

    Abuser testing

    The goal of this testing is to understand how easy it is for someone to weaponize your product for harm. Unlike with usability testing, you want to make it impossible, or at least difficult, for them to achieve their goal. Reference the goals in the abuser archetype you created earlier, and use your product in an attempt to achieve them.

    For example, for a fitness app with GPS-enabled location features, we can imagine that the abuser archetype would have the goal of figuring out where his ex-girlfriend now lives. With this goal in mind, you’d try everything possible to figure out the location of another user who has their privacy settings enabled. You might try to see her running routes, view any available information on her profile, view anything available about her location (which she has set to private), and investigate the profiles of any other users somehow connected with her account, such as her followers.

    If by the end of this you’ve managed to uncover some of her location data, despite her having set her profile to private, you know now that your product enables stalking. Your next step is to go back to step 4 and figure out how to prevent this from happening. You may need to repeat the process of designing solutions and testing them more than once.

    Survivor testing

    Survivor testing involves identifying how to give information and power to the survivor. It might not always make sense based on the product or context. Thwarting the attempt of an abuser archetype to stalk someone also satisfies the goal of the survivor archetype to not be stalked, so separate testing wouldn’t be needed from the survivor’s perspective.

    However, there are cases where it makes sense. For example, for a smart thermostat, a survivor archetype’s goals would be to understand who or what is making the temperature change when they aren’t doing it themselves. You could test this by looking for the thermostat’s history log and checking for usernames, actions, and times; if you couldn’t find that information, you would have more work to do in step 4.

    Another goal might be regaining control of the thermostat once the survivor realizes the abuser is remotely changing its settings. Your test would involve attempting to figure out how to do this: are there instructions that explain how to remove another user and change the password, and are they easy to find? This might again reveal that more work is needed to make it clear to the user how they can regain control of the device or account.

    Stress testing

    To make your product more inclusive and compassionate, consider adding stress testing. This concept comes from Design for Real Life by Eric Meyer and Sara Wachter-Boettcher. The authors pointed out that personas typically center people who are having a good day—but real users are often anxious, stressed out, having a bad day, or even experiencing tragedy. These are called “stress cases,” and testing your products for users in stress-case situations can help you identify places where your design lacks compassion. Design for Real Life has more details about what it looks like to incorporate stress cases into your design as well as many other great tactics for compassionate design.

  • Sustainable Web Design, An Excerpt

    Sustainable Web Design, An Excerpt

    In the 1950s, many in the elite running community had begun to believe it wasn’t possible to run a mile in less than four minutes. Runners had been attempting it since the late 19th century and were beginning to draw the conclusion that the human body simply wasn’t built for the task. 

    But on May 6, 1956, Roger Bannister took everyone by surprise. It was a cold, wet day in Oxford, England—conditions no one expected to lend themselves to record-setting—and yet Bannister did just that, running a mile in 3:59.4 and becoming the first person in the record books to run a mile in under four minutes. 

    This shift in the benchmark had profound effects; the world now knew that the four-minute mile was possible. Bannister’s record lasted only forty-six days, when it was snatched away by Australian runner John Landy. Then a year later, three runners all beat the four-minute barrier together in the same race. Since then, over 1,400 runners have officially run a mile in under four minutes; the current record is 3:43.13, held by Moroccan athlete Hicham El Guerrouj.

    We achieve far more when we believe that something is possible, and we will believe it’s possible only when we see someone else has already done it—and as with human running speed, so it is with what we believe are the hard limits for how a website needs to perform.

    Establishing standards for a sustainable web

    In most major industries, the key metrics of environmental performance are fairly well established, such as miles per gallon for cars or energy per square meter for homes. The tools and methods for calculating those metrics are standardized as well, which keeps everyone on the same page when doing environmental assessments. In the world of websites and apps, however, we aren’t held to any particular environmental standards, and only recently have gained the tools and methods we need to even make an environmental assessment.

    The primary goal in sustainable web design is to reduce carbon emissions. However, it’s almost impossible to actually measure the amount of CO2 produced by a web product. We can’t measure the fumes coming out of the exhaust pipes on our laptops. The emissions of our websites are far away, out of sight and out of mind, coming out of power stations burning coal and gas. We have no way to trace the electrons from a website or app back to the power station where the electricity is being generated and actually know the exact amount of greenhouse gas produced. So what do we do? 

    If we can’t measure the actual carbon emissions, then we need to find what we can measure. The primary factors that could be used as indicators of carbon emissions are:

    1. Data transfer 
    2. Carbon intensity of electricity

    Let’s take a look at how we can use these metrics to quantify the energy consumption, and in turn the carbon footprint, of the websites and web apps we create.

    Data transfer

    Most researchers use kilowatt-hours per gigabyte (kWh/GB) as a metric of energy efficiency when measuring the amount of data transferred over the internet when a website or application is used. This provides a great reference point for energy consumption and carbon emissions. As a rule of thumb, the more data transferred, the more energy used in the data center, telecoms networks, and end user devices.

    For web pages, data transfer for a single visit can be most easily estimated by measuring the page weight, meaning the transfer size of the page in kilobytes the first time someone visits the page. It’s fairly easy to measure using the developer tools in any modern web browser. Often your web hosting account will include statistics for the total data transfer of any web application (Fig 2.1).

    The nice thing about page weight as a metric is that it allows us to compare the efficiency of web pages on a level playing field without confusing the issue with constantly changing traffic volumes. 

    Reducing page weight requires a large scope. By early 2020, the median page weight was 1.97 MB for setups the HTTP Archive classifies as “desktop” and 1.77 MB for “mobile,” with desktop increasing 36 percent since January 2016 and mobile page weights nearly doubling in the same period (Fig 2.2). Roughly half of this data transfer is image files, making images the single biggest source of carbon emissions on the average website. 

    History clearly shows us that our web pages can be smaller, if only we set our minds to it. While most technologies become ever more energy efficient, including the underlying technology of the web such as data centers and transmission networks, websites themselves are a technology that becomes less efficient as time goes on.

    You might be familiar with the concept of performance budgeting as a way of focusing a project team on creating faster user experiences. For example, we might specify that the website must load in a maximum of one second on a broadband connection and three seconds on a 3G connection. Much like speed limits while driving, performance budgets are upper limits rather than vague suggestions, so the goal should always be to come in under budget.

    Designing for fast performance does often lead to reduced data transfer and emissions, but it isn’t always the case. Web performance is often more about the subjective perception of load times than it is about the true efficiency of the underlying system, whereas page weight and transfer size are more objective measures and more reliable benchmarks for sustainable web design. 

    We can set a page weight budget in reference to a benchmark of industry averages, using data from sources like HTTP Archive. We can also benchmark page weight against competitors or the old version of the website we’re replacing. For example, we might set a maximum page weight budget as equal to our most efficient competitor, or we could set the benchmark lower to guarantee we are best in class. 

    If we want to take it to the next level, then we could also start looking at the transfer size of our web pages for repeat visitors. Although page weight for the first time someone visits is the easiest thing to measure, and easy to compare on a like-for-like basis, we can learn even more if we start looking at transfer size in other scenarios too. For example, visitors who load the same page multiple times will likely have a high percentage of the files cached in their browser, meaning they don’t need to transfer all of the files on subsequent visits. Likewise, a visitor who navigates to new pages on the same website will likely not need to load the full page each time, as some global assets from areas like the header and footer may already be cached in their browser. Measuring transfer size at this next level of detail can help us learn even more about how we can optimize efficiency for users who regularly visit our pages, and enable us to set page weight budgets for additional scenarios beyond the first visit.

    Page weight budgets are easy to track throughout a design and development process. Although they don’t actually tell us carbon emission and energy consumption analytics directly, they give us a clear indication of efficiency relative to other websites. And as transfer size is an effective analog for energy consumption, we can actually use it to estimate energy consumption too.

    In summary, reduced data transfer translates to energy efficiency, a key factor to reducing carbon emissions of web products. The more efficient our products, the less electricity they use, and the less fossil fuels need to be burned to produce the electricity to power them. But as we’ll see next, since all web products demand some power, it’s important to consider the source of that electricity, too.

    Carbon intensity of electricity

    Regardless of energy efficiency, the level of pollution caused by digital products depends on the carbon intensity of the energy being used to power them. Carbon intensity is a term used to define the grams of CO2 produced for every kilowatt-hour of electricity (gCO2/kWh). This varies widely, with renewable energy sources and nuclear having an extremely low carbon intensity of less than 10 gCO2/kWh (even when factoring in their construction); whereas fossil fuels have very high carbon intensity of approximately 200–400 gCO2/kWh. 

    Most electricity comes from national or state grids, where energy from a variety of different sources is mixed together with varying levels of carbon intensity. The distributed nature of the internet means that a single user of a website or app might be using energy from multiple different grids simultaneously; a website user in Paris uses electricity from the French national grid to power their home internet and devices, but the website’s data center could be in Dallas, USA, pulling electricity from the Texas grid, while the telecoms networks use energy from everywhere between Dallas and Paris.

    We don’t have control over the full energy supply of web services, but we do have some control over where we host our projects. With a data center using a significant proportion of the energy of any website, locating the data center in an area with low carbon energy will tangibly reduce its carbon emissions. Danish startup Tomorrow reports and maps this user-contributed data, and a glance at their map shows how, for example, choosing a data center in France will have significantly lower carbon emissions than a data center in the Netherlands (Fig 2.3).

    That said, we don’t want to locate our servers too far away from our users; it takes energy to transmit data through the telecom’s networks, and the further the data travels, the more energy is consumed. Just like food miles, we can think of the distance from the data center to the website’s core user base as “megabyte miles”—and we want it to be as small as possible.

    Using the distance itself as a benchmark, we can use website analytics to identify the country, state, or even city where our core user group is located and measure the distance from that location to the data center used by our hosting company. This will be a somewhat fuzzy metric as we don’t know the precise center of mass of our users or the exact location of a data center, but we can at least get a rough idea. 

    For example, if a website is hosted in London but the primary user base is on the West Coast of the USA, then we could look up the distance from London to San Francisco, which is 5,300 miles. That’s a long way! We can see that hosting it somewhere in North America, ideally on the West Coast, would significantly reduce the distance and thus the energy used to transmit the data. In addition, locating our servers closer to our visitors helps reduce latency and delivers better user experience, so it’s a win-win.

    Converting it back to carbon emissions

    If we combine carbon intensity with a calculation for energy consumption, we can calculate the carbon emissions of our websites and apps. A tool my team created does this by measuring the data transfer over the wire when loading a web page, calculating the amount of electricity associated, and then converting that into a figure for CO2 (Fig 2.4). It also factors in whether or not the web hosting is powered by renewable energy.

    If you want to take it to the next level and tailor the data more accurately to the unique aspects of your project, the Energy and Emissions Worksheet accompanying this book shows you how.

    With the ability to calculate carbon emissions for our projects, we could actually take a page weight budget one step further and set carbon budgets as well. CO2 is not a metric commonly used in web projects; we’re more familiar with kilobytes and megabytes, and can fairly easily look at design options and files to assess how big they are. Translating that into carbon adds a layer of abstraction that isn’t as intuitive—but carbon budgets do focus our minds on the primary thing we’re trying to reduce, and support the core objective of sustainable web design: reducing carbon emissions.

    Browser Energy

    Data transfer might be the simplest and most complete analog for energy consumption in our digital projects, but by giving us one number to represent the energy used in the data center, the telecoms networks, and the end user’s devices, it can’t offer us insights into the efficiency in any specific part of the system.

    One part of the system we can look at in more detail is the energy used by end users’ devices. As front-end web technologies become more advanced, the computational load is increasingly moving from the data center to users’ devices, whether they be phones, tablets, laptops, desktops, or even smart TVs. Modern web browsers allow us to implement more complex styling and animation on the fly using CSS and JavaScript. Furthermore, JavaScript libraries such as Angular and React allow us to create applications where the “thinking” work is done partly or entirely in the browser. 

    All of these advances are exciting and open up new possibilities for what the web can do to serve society and create positive experiences. However, more computation in the user’s web browser means more energy used by their devices. This has implications not just environmentally, but also for user experience and inclusivity. Applications that put a heavy processing load on the user’s device can inadvertently exclude users with older, slower devices and cause batteries on phones and laptops to drain faster. Furthermore, if we build web applications that require the user to have up-to-date, powerful devices, people throw away old devices much more frequently. This isn’t just bad for the environment, but it puts a disproportionate financial burden on the poorest in society.

    In part because the tools are limited, and partly because there are so many different models of devices, it’s difficult to measure website energy consumption on end users’ devices. One tool we do currently have is the Energy Impact monitor inside the developer console of the Safari browser (Fig 2.5).

    You know when you load a website and your computer’s cooling fans start spinning so frantically you think it might actually take off? That’s essentially what this tool is measuring. 

    It shows us the percentage of CPU used and the duration of CPU usage when loading the web page, and uses these figures to generate an energy impact rating. It doesn’t give us precise data for the amount of electricity used in kilowatts, but the information it does provide can be used to benchmark how efficiently your websites use energy and set targets for improvement.

  • A Content Model Is Not a Design System

    A Content Model Is Not a Design System

    Do you remember when having a great website was enough? Now, people are getting answers from Siri, Google search snippets, and mobile apps, not just our websites. Forward-thinking organizations have adopted an omnichannel content strategy, whose mission is to reach audiences across multiple digital channels and platforms.

    But how do you set up a content management system (CMS) to reach your audience now and in the future? I learned the hard way that creating a content model—a definition of content types, attributes, and relationships that let people and systems understand content—with my more familiar design-system thinking would capsize my customer’s omnichannel content strategy. You can avoid that outcome by creating content models that are semantic and that also connect related content. 

    I recently had the opportunity to lead the CMS implementation for a Fortune 500 company. The client was excited by the benefits of an omnichannel content strategy, including content reuse, multichannel marketing, and robot delivery—designing content to be intelligible to bots, Google knowledge panels, snippets, and voice user interfaces. 

    A content model is a critical foundation for an omnichannel content strategy, and for our content to be understood by multiple systems, the model needed semantic types—types named according to their meaning instead of their presentation. Our goal was to let authors create content and reuse it wherever it was relevant. But as the project proceeded, I realized that supporting content reuse at the scale that my customer needed required the whole team to recognize a new pattern.

    Despite our best intentions, we kept drawing from what we were more familiar with: design systems. Unlike web-focused content strategies, an omnichannel content strategy can’t rely on WYSIWYG tools for design and layout. Our tendency to approach the content model with our familiar design-system thinking constantly led us to veer away from one of the primary purposes of a content model: delivering content to audiences on multiple marketing channels.

    Two essential principles for an effective content model

    We needed to help our designers, developers, and stakeholders understand that we were doing something very different from their prior web projects, where it was natural for everyone to think about content as visual building blocks fitting into layouts. The previous approach was not only more familiar but also more intuitive—at least at first—because it made the designs feel more tangible. We discovered two principles that helped the team understand how a content model differs from the design systems that we were used to:

    1. Content models must define semantics instead of layout.
    2. And content models should connect content that belongs together.

    Semantic content models

    A semantic content model uses type and attribute names that reflect the meaning of the content, not how it will be displayed. For example, in a nonsemantic model, teams might create types like teasers, media blocks, and cards. Although these types might make it easy to lay out content, they don’t help delivery channels understand the content’s meaning, which in turn would have opened the door to the content being presented in each marketing channel. In contrast, a semantic content model uses type names like product, service, and testimonial so that each delivery channel can understand the content and use it as it sees fit. 

    When you’re creating a semantic content model, a great place to start is to look over the types and properties defined by Schema.org, a community-driven resource for type definitions that are intelligible to platforms like Google search.

    A semantic content model has several benefits:

    • Even if your team doesn’t care about omnichannel content, a semantic content model decouples content from its presentation so that teams can evolve the website’s design without needing to refactor its content. In this way, content can withstand disruptive website redesigns. 
    • A semantic content model also provides a competitive edge. By adding structured data based on Schema.org’s types and properties, a website can provide hints to help Google understand the content, display it in search snippets or knowledge panels, and use it to answer voice-interface user questions. Potential visitors could discover your content without ever setting foot in your website.
    • Beyond those practical benefits, you’ll also need a semantic content model if you want to deliver omnichannel content. To use the same content in multiple marketing channels, delivery channels need to be able to understand it. For example, if your content model were to provide a list of questions and answers, it could easily be rendered on a frequently asked questions (FAQ) page, but it could also be used in a voice interface or by a bot that answers common questions.

    For example, using a semantic content model for articles, events, people, and locations lets A List Apart provide cleanly structured data for search engines so that users can read the content on the website, in Google knowledge panels, and even with hypothetical voice interfaces in the future.

    Content models that connect

    After struggling to describe what makes a good content model, I’ve come to realize that the best models are those that are semantic and that also connect related content components (such as a FAQ item’s question and answer pair), instead of slicing up related content across disparate content components. A good content model connects content that should remain together so that multiple delivery channels can use it without needing to first put those pieces back together.

    Think about writing an article or essay. An article’s meaning and usefulness depends upon its parts being kept together. Would one of the headings or paragraphs be meaningful on their own without the context of the full article? On our project, our familiar design-system thinking often led us to want to create content models that would slice content into disparate chunks to fit the web-centric layout. This had a similar impact to an article that were to have been separated from its headline. Because we were slicing content into standalone pieces based on layout, content that belonged together became difficult to manage and nearly impossible for multiple delivery channels to understand.

    To illustrate, let’s look at how connecting related content applies in a real-world scenario. The design team for our customer presented a complex layout for a software product page that included multiple tabs and sections. Our instincts were to follow suit with the content model. Shouldn’t we make it as easy and as flexible as possible to add any number of tabs in the future?

    Because our design-system instincts were so familiar, it felt like we had needed a content type called “tab section” so that multiple tab sections could be added to a page. Each tab section would display various types of content. One tab might provide the software’s overview or its specifications. Another tab might provide a list of resources. 

    Our inclination to break down the content model into “tab section” pieces would have led to an unnecessarily complex model and a cumbersome editing experience, and it would have also created content that couldn’t have been understood by additional delivery channels. For example, how would another system have been able to tell which “tab section” referred to a product’s specifications or its resource list—would that other system have to have resorted to counting tab sections and content blocks? This would have prevented the tabs from ever being reordered, and it would have required adding logic in every other delivery channel to interpret the design system’s layout. Furthermore, if the customer were to have no longer wanted to display this content in a tab layout, it would have been tedious to migrate to a new content model to reflect the new page redesign.

    We had a breakthrough when we discovered that our customer had a specific purpose in mind for each tab: it would reveal specific information such as the software product’s overview, specifications, related resources, and pricing. Once implementation began, our inclination to focus on what’s visual and familiar had obscured the intent of the designs. With a little digging, it didn’t take long to realize that the concept of tabs wasn’t relevant to the content model. The meaning of the content that they were planning to display in the tabs was what mattered.

    In fact, the customer could have decided to display this content in a different way—without tabs—somewhere else. This realization prompted us to define content types for the software product based on the meaningful attributes that the customer had wanted to render on the web. There were obvious semantic attributes like name and description as well as rich attributes like screenshots, software requirements, and feature lists. The software’s product information stayed together because it wasn’t sliced across separate components like “tab sections” that were derived from the content’s presentation. Any delivery channel—including future ones—could understand and present this content.

    Conclusion

    In this omnichannel marketing project, we discovered that the best way to keep our content model on track was to ensure that it was semantic (with type and attribute names that reflected the meaning of the content) and that it kept content together that belonged together (instead of fragmenting it). These two concepts curtailed our temptation to shape the content model based on the design. So if you’re working on a content model to support an omnichannel content strategy—or even if you just want to make sure that Google and other interfaces understand your content—remember:

    • A design system isn’t a content model. Team members may be tempted to conflate them and to make your content model mirror your design system, so you should protect the semantic value and contextual structure of the content strategy during the entire implementation process. This will let every delivery channel consume the content without needing a magic decoder ring.
    • If your team is struggling to make this transition, you can still reap some of the benefits by using Schema.org–based structured data in your website. Even if additional delivery channels aren’t on the immediate horizon, the benefit to search engine optimization is a compelling reason on its own.
    • Additionally, remind the team that decoupling the content model from the design will let them update the designs more easily because they won’t be held back by the cost of content migrations. They’ll be able to create new designs without the obstacle of compatibility between the design and the content, and ​they’ll be ready for the next big thing. 

    By rigorously advocating for these principles, you’ll help your team treat content the way that it deserves—as the most critical asset in your user experience and the best way to connect with your audience.