Skip to: site navigation/presentation
Skip to: Thoughts From Eric

Archive: 'Tech' Category

Talk Talk

If you prefer hearing voice to reading text, I was on a couple of podcasts recently and would like to share; also, I have some live appearances coming up soon.

The first podcast is a 16-minute segment on the eHealth Radio Network, talking about designing for crisis.  This was recorded shortly before AEA Seattle and HxRefactored, which is why I talk about HxRefactored in the future tense.  Much as was the case with my talk at HxRefactored, this concentrates on the topic of designing for crisis in a medical/health care context, and as it turns out, it’s only slightly shorter than was my HxR talk.

The second is both longer and a bit more recent: I talked for an hour with Chris and Dave at Shop Talk Show about flexbox, inline layout, the difficulties of the past two years, and how I’ve changed professionally.  It doesn’t shy away from the emotional side, and some listeners have described it as “heart-rending” and “sobering”.  So, you know, fair warning.  On the other hand, I call Chris Coyier a “newb” about a minute in, so there’s that.

In the Shop Talk episode, we talk briefly about Facebook’s On This Day feature, which had just launched but I hadn’t seen at that point.  Yesterday, it finally popped up in my Facebook timeline.  I had observations, and will probably write about them soon.  First, though, I need to finish up my slides for Fluent, where I’ll be giving my talk “This Web App Best Viewed By Someone Else”.  I get 13 minutes to tell the audience that they… well, I don’t want to spoil it for anyone.  (Plus there’s another slide deck I need to finish up for next week, but that’s for a private engagement, so never mind that now.)

In May, I’ll once again be presenting the hour-long version of “Designing for Crisis” at An Event Apart Boston.  There are still some seats left if you’d care to join us; it’s a pretty great lineup, and as usual I’m feeling a wee bit intimidated by the brilliance.  Attendees have been telling us that this year’s lineup is one of the best they’ve seen, making AEA worth every penny and then some, so you’d get way more out of the show than just hearing me.

In case you’re wondering (and I also mentioned this on ShopTalk), I won’t be at AEA San Diego in June.  Part of me very much wants to be, but an accident of scheduling made it inadvisable: the show starts June 8th, the day after the first anniversary of Rebecca’s death and what would have been her seventh birthday.  I don’t know that I’ll be in any shape to hold brief conversation, let alone stand on stage in front of a few hundred people and give an hour-long talk, in the days immediately following.  Rather than risk it, we (the AEA team and I) decided to have someone else take my place at the San Diego show, and that show only.  I intend to be at all our other shows this year.

Hopefully, I’ll get a chance to write about attending not-web-design conferences in the near future.  I find such experiences entertainingly, and in some ways refreshingly, different.  I recommend it.

The Pivotal Ways

Five years ago yesterday, the suave and debonair Ethan Marcotte debuted a talk titled “A Dao of Flexibility” at An Event Apart Seattle.  I still remember the feeling in the room.  Those of us who were there realized that it was a pivotal moment for the web, even before Ethan had left the stage.  It was the moment that responsive web design burst forth into the world.

The title, and content, of Ethan’s talk explicitly paid homage to the rugged and handsome John Allsopp’s “A Dao of Web Design”, published fifteen years ago today at A List Apart.  It’s hard to overstate how much wisdom and prescience is distilled into that deceptively short piece.  As I said in the testimonial I contributed to ALA’s remembrance:

John’s insights are as sharp and relevant as ever, especially when we realize the web’s inherent flexibility isn’t just about layout—that, in fact, layout flexibility is one of the web’s least important features. I try to reread “A Dao of Web Design” at least once a year. You should, too.

There’s not much more I can add, and honestly, anything I tried to add to these seminal works of brilliance would only cheapen them.  Go, read; go, watch.  Remember where we’ve come from, and use that foundation to chart where we’re going.

On This Day

Earlier today, Facebook announced a new feature called “On This Day”.  With On This Day, you see pictures, posts, and other events that occurred on a given day.  If you’re familiar with Timehop, it seems very much like a Facebook-only Timehop.  That will probably seem limited and broken to actual Timehop users, but for the vast majority of Facebook users, it will be a new and potentially very welcome feature.

As you can imagine, given what happened with Year in Review, I’m very interested by On This Day.  I haven’t interacted with the actual product yet, so I don’t know what kinds of opt-in or opt-out features will be present.  If any.  From the screenshots in the Facebook announcement, it looks like they’ve taken a much more neutral direction with the visual design.  There are calendar pages and abstract photos, with few of them expressing much in the way of emotional content.  An exception is seen at the top center of the banner image on the announcement, depicting what appears to be a woman in love, but that’s actually a decoration on the banner, instead of a UI component.  Whether those sorts of things will show up in the UI, I don’t know.

But this is what I wonder: is Facebook about to hurt a bunch of people?  From the announcement:

To see your On This Day page, you can click on the On This Day bookmark, search for “On This Day,” or visit You might also see a story in your News Feed.

Putting “a story in the News Feed” is exactly how Year in Review became a viral news story.  And it’s what distinguishes On This Day from Timehop or ThinkUp (which has “your most popular update” features).

If I install Timehop, for example, I know what I’m getting into.  I’m actively, consciously deciding to revisit events from past years by way of Timehop.  I can decide not to launch it at all on certain days, if I know what I see would be too painful.

On This Day, on the other hand, is part of an existing ecosystem.  Dropping On This Day into the Facebook news feed without consent is very much like having Timehop install itself onto your smartphone and then auto-launch, all without asking.  If this happened, we’d (rightly) take the responsible parties to task.  Patronizing dismissals that “you use a smartphone, you get what you deserve” would be relatively thin on the ground, whereas I’m sure there will be plenty of that directed toward any Facebook user upset by what an On This Day new feed entry shows them.  That was certainly the leading line of condescension around the Year in Review news feed post.

There isn’t much more to go on in the announcement, though I did notice:

…you can choose to subscribe to notifications so you’ll be alerted when you have memories to look back on. You can also edit and delete old posts, or decide to share your memories with friends.

Editing or deleting old posts is interesting, if a bit troubling to the historian in me, and the ability to sign up for notifications is a welcome sign of opt-in ethics, but what I notice here is what’s missing:  I don’t see any reference to an ability to opt out of On This Day, either for certain days or altogether.  It might be there and simply not referred to in the product announcement, but I wonder if this is something that Facebook users will simply have to get used to.

The timing of this has a personal resonance.  As I wrote about yesterday, we just passed the first anniversary of the day Kat and I were told about Rebecca’s second tumor.  For the next eleven weeks, both our posts and pictures from last year, wherever they’re housed, will form a chronicle of the last days of our daughter’s life.  How will we react to Facebook, how will we feel about our experience there, if On This Day constantly reminds us of those events?  Will this product increase our affinity with Facebook, or our antipathy?  Perhaps we might go to Facebook to catch up with friends and joke around with them a bit, as a form of mental respite.  Or, perhaps, we would have done that, but now will be unable to do so.  We’ll soon find out.

Lest anyone misunderstand, this isn’t just about Facebook.  It’s about every service or product that seeks to increase user affinity, and avoid user antipathy.  Facebook just happens to be providing some very obvious grounds on which to base these conversations.  Given their line of business and scale of operation, that’s probably to be expected.  I’ll be following this with great professional and personal interest.

Friday Figure

Just for fun, and maybe for a little bit of edification, I present to you one of the figures from the chapter on color, backgrounds, and gradients I’ve just finished writing for CSS: The Definitive Guide, 4th Edition.

This figure is (at the moment) captioned “Very, very tall ellipses”; it’s a diagram of what happens if you create a radial gradient with no horizontal sizing.  (Whether you also have vertical sizing is actually irrelevant.)  The ellipses all get so incredibly tall that you only see the sides at their most vertical, which results in the appearance of a mirrored horizontal linear gradient.  This is of course explained in more detail in the chapter, and builds on a whole lot of previous text.

I had a much simpler version of this figure before, and shared it with Sara Soueidan, who had some very smart feedback that helped me get to what you see above.  The figure was finished not too long before i posted it; once it was done, I realized really liked the look, so decided on the spur of the moment to post it.  Thus the late-Friday timestamp on the post.

While the figure is a PNG, it’s actually a screenshot of an HTML+CSS file displayed in a browser—Safari, in this particular case, though most are done in Firefox.  All of the figures in the book will be created using HTML+CSS whenever possible.  Doing so lets me make sure I understand what I’m illustrating, and also allows me to change the look and arrangement of figures without too much difficulty.

So that’s fun with edge cases for this Friday.  If people like it, or more likely I just feel like doing it, I’ll post more in the future.

Run, Salmon, Run

I was recently asked on Twitter about the status of the fourth edition of CSS: The Definitive Guide.  A fair question, given how long the project has lain dormant!  I have two things to announce on that front.

The first is that I’m really excited to say that Estelle Weyl has joined me as co-author for the fourth edition.  We’re working in parallel, tackling individual chapters and doing technical review of each other as we work.  Sharing the load, especially with someone as sharp and knowledgable as Estelle, will help get chapters out faster, and the overall book done sooner.

The second is that writing is once again underway, with four chapters in process.  I’ve got the transforms chapter done, and the backgrounds and gradients (and maybe foreground colors too) chapter almost done.  Estelle is nearing the end of transitions and animations, with flexbox up next.  What comes after that for each of us is a little bit up in the air, though I’ll probably tackle basic visual formatting next.  Unless I get distracted by something more interesting, of course—truth be told, I’ve been eyeing grid layout with some covetousness in my heart.

So, the book is once again underway, and actually has been for a little while now.  I can’t say with certainty when we’ll be done and ready to compile everything into the Doorstop Edition, but we’re pushing for this year or early next.

As an offshoot of this renewed push, I’ve been expanding and revising my CSS test files so that I can check my understanding of the specification, as well as test the fine details of browser support.  Over the holidays I decided, more or less on a whim, to commit the whole kit ‘n’ kaboodle to Github.  There’s no license and no readme, mostly because I didn’t think to establish either when I set up the repository.  Sorry, I guess?  In any case, I regard the CSS in the tests to be public domain, but the actual content (whether inline or replaced) of the HTML files may or may not be, so a single license would have been hard to assert anyway.  I mostly put the files up there as a form of open backup, and also to smooth out the process of managing updates to the tests between my local machine and meyerweb.  Feel free to make use of the tests for your personal education, though!

Media Queries

Thanks to a combination of my slow process of re-integrating into the web community and the Year in Review explosion at the end of 2014, I actually have some media appearances to tell you about.  (This is at least four times as weird for me as it is for you.)

Since I love the written word, I’ll start with the fact that I’ve been published at Slate Magazine.  As the whole Year in Review thing was going crazy viral, an editor at Slate emailed to ask if I’d consider republishing “Inadvertent Algorithmic Cruelty” with them.  I said I’d love to as long as I could revise the piece a bit, to which they readily agreed.  So I reworked the opening to be extra-clear about what had actually happened, gave it a closing that was better attuned to a wider audience than the few hundred web designers I assumed would read the original post, and they ran it.  (The headline was, I have to say, not my idea, but that’s how it goes in most magazines: editors write headlines.  I was at least able to suggest some tweaks.)

Shortly after that piece went live, I was asked to be part of a piece on Huffington Post Live about Year in Review (of course).  I was still in Tennessee when the segment aired, and our hotel’s wifi wasn’t up to the task of streaming video, but thankfully they were willing to have me on by phone.

I saved what I consider to be the best for last.  Jen Simmons just recently had me as a guest on The Web Ahead, where we talked for two hours about what my family has been through in the past two years, designing for crisis, Year in Review, what it’s like to have a story go viral on you, being intentional in the age of social media, new details about my AEA talk “Designing for Crisis”, the Metafilter dot, and a whole lot more.  Parts of it are emotionally difficult, but not too many.  We got pretty deep into what I’m thinking about design and where it should go, and in a few cases Jen posed questions that I couldn’t really answer, because they’re at or beyond the edge of what I’ve figured out so far.

Jen is such a great interviewer.  Not only did she ask great questions and then patiently let me ramble my way to answers, she brought really smart perspectives to everything we were talking about.  Listening to her observations and thoughts gave me several new insights into designing for crisis, and more.  You should listen to the episode, or to any of the shows in her archives, just to hear a master of the craft at work.

So, yeah.  This has all been very interesting for me.  At some point, I’ll probably write something about what it’s like to watch a story about you go viral, but for now, I’m enjoying the return to anonymity.  It’s left me time to think more about empathetic design, and to catch up with work and other people’s thoughts.  That’s the best part of this whole web thing: learning from others.  It’s why I got started with the web in the first place.  It’s why I’m still here.

Ramping Up

We were driving back home from our impromptu surprise family vacation in Tennessee, winding our way through the Appalachian Mountains, when I pointed out a long, steep ramp to nowhere branching off the side of the highway.  “What do you think it’s for?” I asked the kids.

They made some guesses, some quite clever, but none correct.  So I told them about runaway truck ramps and how they work.  I think they were vaguely interested for a few seconds; I got a well-isn’t-that-interesting grunt, which I’ll take as a win.  We swept on past, the kids went back to whatever they were doing before I’d interrupted them, and I kept my eyes on the road.

But I was still thinking about the runaway truck ramp, and how it’s a perfect physical example of designing for crisis.

I also wondered about the history of runaway ramps—when they were first implemented, and how many runaway vehicles crashed before the need was recognized and a solution found.  After I got home, I looked it up and discovered that ramps didn’t really exist until the 1970s or so.  Even if we assume that no vehicles lost control in the U.S. until the Eisenhower Interstate System was established in the 1950s (just go with it), that’s still two decades of what were probably some pretty horrible crashes, before a solution was implemented.

This is not to say that the ramps are a perfect solution.  A runaway vehicle can certainly crash before reaching the next ramp, and using a ramp is likely to damage the vehicle even under the best of circumstances.  A badly-designed ramp can be almost as dangerous as no ramp at all.  Still, a solution exists.

I feel like web design is at the pre-ramp phase.  We’ve created a huge, sprawling system that amplifies commerce and communication, but we haven’t yet figured out how to build in some worst-case-scenario features that don’t interfere with the main functioning of the system.  We’ve laid down the paths and made some of them look pretty or even breathtaking, but we’re still not dealing with the crashes that happen when an edge case comes onto our stretch of the road.

I’m trying really hard to avoid “information superhighway” clichés here, by the way.

I’ve been pondering whether to incorporate this particular example into my 2015 talk, “Designing for Crisis”—much will depend on how the talk stands after I go back through it one more time to tighten it up, and start rehearsing again.  If there’s room and a good hook, I’ll add it in as a brief illustration.  If not, that’s okay too.  It’s still given me another way to look at designing for crisis, and how that topic fits into the broader theme that the Facebook imbroglio brought to light.

I’m still trying to get a good handle on what the broader theme is, exactly.  “Designing for Crisis” is a part of it, but just a part.  Several people have told me I should turn that talk into a book, but it never quite felt like a book.  Sure, I could have stretched it to fill a book, but something was missing, and I knew it.  I thought there was a hole in the idea that I needed to identify and fill; instead, the idea was filling a hole in a context I hadn’t seen.

Now I have.  It will take some time to see all of it, or even just more of it, but at least now I know it’s there and waiting to be explored and shared.

Well, That Escalated Quickly

This post is probably going to be a little bit scattered, because I’m still reeling from the overwhelming, unexpected response to the last post.  I honestly expected “Inadvertent Algorithmic Cruelty” to be read by maybe two or three hundred people over the next couple of weeks, all of them friends, colleagues, and friends who are colleagues.  I hoped that I’d maybe give a few of them something new and interesting to think about, but it was really mostly just me thinking out loud about a shortcoming in our field.  I never expected widespread linking, let alone mainstream media coverage.

So the first thing I want to say: I owe the Year in Review team in specific, and Facebook in general, an apology.  No, not the other way around.  I did get email from Jonathan Gheller, product manager of the Year in Review team at Facebook, before the story starting hitting the papers, and he was sincerely apologetic.  Also determined to do better in the future.  But I am very sorry that I dropped the Internet on his head for Christmas.  He and his team didn’t deserve it.

(And yes, I’ve reflected quite a bit on the irony that I inadvertently made their lives more difficult by posting, after they inadvertently made mine more difficult by coding.)

Yes, their design failed to handle situations like mine, but in that, they’re hardly alone.  This happens all the time, all over the web, in every imaginable context.  Taking worst-case scenarios into account is something that web design does poorly, and usually not at all.  I was using Facebook’s Year in Review as one example, a timely and relevant foundation to talk about a much wider issue.

The people who I envisioned myself writing for—they got what I was saying and where I was focused.  The very early responses to the post were about what I expected.  But then it took off, and a lot of people came into it without the context I assumed the audience would have.

What surprised and dismayed me were the…let’s call them uncharitable assumptions made about the people who worked on Year in Review.  “What do you expect from a bunch of privileged early-20s hipster Silicon Valley brogrammers who’ve never known pain or even want?” seemed to be the general tenor of those responses.

No.  Just no.  This is not something you can blame on Those Meddling Kids and Their Mangy Stock Options.

First off, by what right do we assume that young programmers have never known hurt, fear, or pain?  How many of them grew up abused, at home or school or church or all three?  How many of them suffered through death, divorce, heartbreak, betrayal?  Do you know what they’ve been through?  No, you do not.  So maybe dial back your condescension toward their lived experiences.

Second, failure to consider worst-case scenarios is not a special disease of young, inexperienced programmers.  It is everywhere.

As an example, I recently re-joined ThinkUp, a service I first used when it was install-yourself-and-good-luck alpha ware, and I liked it then.  I’d let it fall by the wayside, but the Good Web Bundle encouraged me to sign up for it again, so I did.  It’s a fun service, and it is specifically designed to “show how well you’re using your social networks at a more human level,” to quote their site.

So I started getting reports from ThinkUp, and one of the first was to tell me about my “most popular shared link” on Twitter.  It was when I posted a link to Rebecca’s obituary.

“Popular” is maybe not the best word choice there.

Admittedly, this is a small wrinkle, a little moment of content clashing with context, and maybe there isn’t a better single word than “popular” to describe “the thing you posted that had the most easily-tracked response metrics”.  But the accompanying copy was upbeat, cheery, and totally didn’t work.  Something like, “You must be doing something right—people loved what you had to say!”

This was exactly what Facebook did with Year in Review: found the bit of data that had the most easily-tracked response metrics.  Facebook put what its code found into a Year in Review “ad”.  ThinkUp put what its code found into a “most popular” box.  Smaller in scale, but very similar in structure.

I’m not bringing this up to shame ThinkUp, and I hope I haven’t mischaracterized them here.  If they haven’t found solutions yet, I know they’re trying.  They really, really care about getting this right.  In fact, whenever I’ve sent them feedback, the responses have been fantastic—really thoughtful and detailed.

My point is that ThinkUp is a product of two of the smartest and most caring people I know, Gina Trapani and Anil Dash.  Neither of them comes anywhere close to fitting the Young Brogrammer stereotype; they are, if anything, its antithesis, in both form and deed.  And yet, they have fallen prey to exactly the same thing that affected the Year in Review team: a failure to anticipate how a design decision that really worked in one way completely failed in another, and work to handle both cases.  This is not because they are bad designers: they aren’t.  This is not because they lack empathy: they don’t.  This is not because they ignored their users: they didn’t.  This is such a common failure that it’s almost not a failure any more.  It just… is.

We need to challenge that “is”.  I’ve fallen victim to it myself.  We all have.  We all will.  It will take time, practice, and a whole lot of stumbling to figure out how to do better, but it is, I submit, vitally important that we do.

April 2015