Thoughts From Erichttp://meyerweb.com/eric/thoughts
Things that Eric A. Meyer, CSS expert, writes about on his personal Web site; it's largely Web standards and Web technology, but also various bits of culture, politics, personal observations, and other miscellaneous stuffTue, 24 Mar 2015 20:42:09 +0000en-UShourly1http://wordpress.org/?v=4.1.1On This Dayhttp://meyerweb.com/eric/thoughts/2015/03/24/on-this-day/
http://meyerweb.com/eric/thoughts/2015/03/24/on-this-day/#commentsTue, 24 Mar 2015 20:42:09 +0000http://meyerweb.com/eric/thoughts/?p=3239announced a new feature called “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 facebook.com/onthisday. 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.

]]>http://meyerweb.com/eric/thoughts/2015/03/24/on-this-day/feed/1Playing Shivahttp://meyerweb.com/eric/thoughts/2015/03/23/playing-shiva/
http://meyerweb.com/eric/thoughts/2015/03/23/playing-shiva/#commentsMon, 23 Mar 2015 15:11:12 +0000http://meyerweb.com/eric/thoughts/?p=3230Children charged through our house, laughing and shrieking and calling to each other as their games shifted fluidly from one imaginative burst to another. In the dining room, their adults sat around the table and talked, benignly ignoring the chaos around them. Earlier, there had been a group photo of the kids and rides in a crazily-painted convertible.

I sat in the kitchen window seat, my feet braced against the middle frame, staring out into the back yard. The afternoon was chilly and bright but not sunny, as befits March in Cleveland, but I didn’t really see it. I only know what the weather was like because I’ve gone back to look at the photos of that day. Whatever light was entering my eyes and falling on my retinas wasn’t leaving any impression in my brain; I was focused somewhere unseeable, trying not to think about the unthinkable.

A hand on my arm snapped me back. Rebecca stood next to me, her expression clouded and frowning.

“Hey there, Little Spark. What’s up?”

She climbed wordlessly into my lap and curled up against my chest, her back to the window. She rested a cheek in a cupped palm that pressed on my sternum, looking unseeingly into the kitchen, still pensive. The chaos was downstairs in the play room now, distant and muted. I circled my arms around her curled frame, gently pressing her to me, listening to and feeling her breath draw in and out.

I knew she was upset, and I knew just as certainly that she wanted to talk about it. I was far less certain that I wanted to hear it, but this wasn’t about me. It never had been, and it was far less so now.

“What are you thinking, sweetie?” I asked after a few moments.

“I’m scared that my brain cancer won’t go away and I will get dead,” she quavered miserably.

Suddenly I was hugging her tightly, my face half-buried in the bright blue shmata she wore on her head, tears coursing from my eyes.

“Me too,” I choked out. “I’m scared too, honey. Mommy and I are both scared. It’s okay to be scared.”

We wept quietly together, curled up on the window seat.

I had been crying a lot at that point. Three nights before, after all the kids had gone to sleep, I had stumbled into Kat’s and my bedroom, collapsed on the bed, and sobbed without stopping for more than an hour. At some points, I wept so intensely that Kat tried to get me to take medication to calm myself, afraid that I was about to literally choke to death on my own sorrow. Part of me wanted that to happen.

Because earlier that day, we had been told that another tumor had emerged. As soon as the doctors walked into the room, we knew from their body language that the news wasn’t good. When they asked Rebecca if she would go play with the Child Life specialist while Mommy and Daddy talked to the doctors, we knew it was bad. I felt the blood drain from my face as I reached out to take Kat’s hand in mine, both of us staring at the lead doctor and still trying to hope that it wasn’t as bad as we feared.

It was.

The previous August, the doctors in Philadelphia had told us the tumor was essentially completely removed, and that a long course of radiation and chemotherapy could, possibly, prevent a recurrence of the cancer that had almost killed our daughter. They didn’t give odds. They didn’t have too many assurances to give us, save one. They could pretty well assure us that if the cancer came back, all we could do was watch Rebecca die.

Now it was March 20th, almost exactly seven months from the day she had first seized. We had gotten her through multiple surgeries, two months of treatments in a city far from her home, and then weekly chemotherapy back home. Holidays had come, her MRIs had been clear, we’d returned to a relative normalcy. The nightmare had engulfed us, then receded.

Now it engulfed us again, more complete than ever. For those seven months, I had held my fears in abeyance. Now there was no dam to hold them back.

I lay in my bed, almost screaming my sorrow, choking and nearly convulsing, as I tried to cope with the certainty that our little girl was going to die soon, and there was no hope left. Although she would ultimately prove me wrong, because of course she would, I tried to come to terms with my desolate conviction that Rebecca wouldn’t even graduate kindergarten, let alone turn six.

That night, I started to mourn my child’s death.

Within a minute or two, Rebecca was done crying and starting to get restless to rejoin the chaos. I paused my own grief, wiped the tears from both our faces, and gave her kisses. She smiled at me and climbed off my lap.

Five minutes later, she charged through the kitchen with her friends, the kids she’d shared a playgroup with since they were newborns, shrieking and laughing along with them, because to be five years old is to live completely in the moment.

They thundered onward, down the steps to the back hall and up the stairs to the sun room and on to the living room. I listened to her bright, sunny voice echoing from across the house, drew in a deep breath, wiped away my tears, and resolved to live in the moment as much as I could. For her, and for me.

That night, after the kids were asleep, Kat and I stood in the kitchen, cleaning and putting away the last few dishes left over from the play date. We talked about the day, how much fun all the kids had had, and shared our mutual admiration of our friends, who had brought their children to play with our child, knowing how that would sharpen their kids’ pain when Rebecca’s death came.

“Thank you for letting me fill the house with people,” Kat said. “I know it’s tough for you sometimes, having that much noise and activity.”

I shrugged. It didn’t seem to matter. Very little did, at that point.

“Do you understand why I wanted them all here today?” she asked.

“You were sitting shiva for her,” I heard myself say, distantly surprised by the words as they emerged.

“Yes,” she said quietly. “How did you know?”

“I’ve known you for seventeen years now.”

“I was sitting shiva for her while she’s still alive. How fucked up is that?”

I shook my head mutely. Tears streaked both our faces.

In the year since that day, a year ago today, I’ve come to realize what an incredible gift it was for Rebecca. To bring all those kids and adults who loved her so much into the house, all those people she’d known and loved all her too-short life—to give her a day of play and fun and craziness, the kind of craziness she loved, while she was still able to enjoy it—what better form of mourning could there be?

Rebecca knew, long before I did, possibly even before Kat did, why her friends were there. She mourned the truth, and then had a fantastic day anyway.

I may have been far older than her, but she was far, far wiser than me.

]]>http://meyerweb.com/eric/thoughts/2015/03/23/playing-shiva/feed/10Big Little Heroeshttp://meyerweb.com/eric/thoughts/2015/03/06/big-little-heroes/
http://meyerweb.com/eric/thoughts/2015/03/06/big-little-heroes/#commentsFri, 06 Mar 2015 17:58:28 +0000http://meyerweb.com/eric/thoughts/?p=3216On March 15th, 2015, there will be a St. Baldrick’s Foundation fundraising event at the Cleveland Heights Community Center. At last year’s event, Rebecca was there, running around and flipping out (in a good way) as her sister Carolyn shaved to raise money. She gave a big hug to her kindergarten teacher, who had shown up to surprise her and had his head shaved as well. She was, to all appearances, a totally normal and healthy kid, so full of life that many people there didn’t realize she was one of the honorees.

Four days later was the MRI that revealed the second tumor, the one that killed her two months later.

This year, Carolyn will not be shaving her head, though she is again captaining the team for her elementary school. In her place, Rebecca’s best friends in the world—the kids from her infant playgroup, as well as her friend Ruth—will be cutting their hair or shaving their heads to raise money in Rebecca’s honor. If you want to make a difference in their lives, as well as the lives of children who have or will one day have cancer, please consider donating to one or all of these brave kids:

Some of them took years to grow enough hair to comb, let alone braid. And yet, even at their ages, they are willing to sacrifice that hair in order to do something positive. We are so, so grateful to them all.

Rebecca being fierce, July 20th, 2013. Her first tumor, which was already present in this picture, was discovered a month later.

We are also very grateful to St. Baldrick’s for working with us over the past few months to establish The Rebecca Alison Meyer Fund for Pediatric Cancer Research. This “Hero Fund” is specifically designed to fund promising research into the prevention of tumor reemergence, as well as glioblastoma research in general. As we say on the Fund’s page:

We were told after [Rebecca’s] first tumor was biopsied that if another tumor appeared, all we could do was watch her die. There were no studies to try to prevent the reoccurrence of the tumor. Once it did recur, there were very limited study options, none of which were life saving—only life prolonging. This is typical of so many types of tumors.

You cannot imagine, unless you’ve lived it, what it’s like to know that your child has a rapidly deteriorating terminal condition about which nothing can be done. There are no words to describe it. “Helpless” doesn’t begin to come close. We hope that Rebecca’s Fund can, in whatever way, however small, help even one family avoid that nightmare. We hope it can help many, many families avoid it.

You can donate directly to Rebecca’s Fund if you prefer, but please note that all funds raised for the March 15th Cleveland Heights event will be counted as part Rebecca’s Fund. So please, if you’re inclined to support the Fund, donate to one or all of Rebecca’s friends listed above, because donating to them means donating to the Fund as well. Thank you.

]]>http://meyerweb.com/eric/thoughts/2015/03/06/big-little-heroes/feed/0The Widening Gulfhttp://meyerweb.com/eric/thoughts/2015/02/15/the-widening-gulf/
http://meyerweb.com/eric/thoughts/2015/02/15/the-widening-gulf/#commentsSun, 15 Feb 2015 15:14:11 +0000http://meyerweb.com/eric/thoughts/?p=3208So many people who knew Rebecca told us how they had to hold back tears, watching the Super Bowl halftime show. “I wish Rebecca could have seen it,” they say. “When Katy Perry sang ‘Firework’, all I could think is how much Rebecca would have loved it.”

Rebecca loved Katy Perry songs, you see. She loved to sing and dance to “Firework”, so much so that her sister Carolyn made it part of the medley she arranged and performed at Rebecca’s funeral. And Rebecca loved to sing “Roar”, and pretty much anything from Katy Perry. Even “Brave”, which is actually sung by Sara Bareilles, but when your terminally ill daughter tells you a song is by Katy Perry, then it’s by Katy Perry.

But all I can think is, I wish I could be so sure.

Because yes, five-year-old-going-on-six Rebecca loved Katy Perry, and Frozen, and hula hoops, and so many more things. But by now she’d be six-and-two-thirds, and so much can change so fast at that age. By now, maybe she’d have moved on to Taylor Swift, and Katy Perry would be so last year. She might be done with Frozen, and instead be into Big Hero Six or The Emperor’s New Groove.

I know that she would be different by now, just as amazing as ever, but different. Some enthusiasms would have given way to others; her interests would have shifted. How, we don’t know. Can never know.

Every day, she becomes a little more distant from us, a little less known. A gulf slowly widens with the passing of time, and what she would be now becomes ever more uncertain. We become estranged from our own daughter, not by hurtful words or actions, but by the merciless passage of time, by the choices she never got to make, the changes she never experienced.

I knew that this would come, but for a time I could ignore it. A month or two after she died, I could still pretend that I knew how she would react, what she would think, how she would behave. Even though I never knew that with any certainty. She was never so predictable as that. Never so static.

Now it’s been too long.

And it hurts, knowing that I can never know the girl she would be now, never know the girl she would have become, never know the woman she would have been.

I miss her, sometimes more than I ever thought possible, so much that I can physically feel the absence. But sometimes I think what I miss more than the Rebecca I knew is the Rebecca I never got to know.

]]>http://meyerweb.com/eric/thoughts/2015/02/15/the-widening-gulf/feed/8Friday Figurehttp://meyerweb.com/eric/thoughts/2015/02/13/friday-figure/
http://meyerweb.com/eric/thoughts/2015/02/13/friday-figure/#commentsFri, 13 Feb 2015 22:50:59 +0000http://meyerweb.com/eric/thoughts/?p=3203
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.

]]>http://meyerweb.com/eric/thoughts/2015/02/13/friday-figure/feed/0Run, Salmon, Runhttp://meyerweb.com/eric/thoughts/2015/02/09/run-salmon-run/
http://meyerweb.com/eric/thoughts/2015/02/09/run-salmon-run/#commentsMon, 09 Feb 2015 20:50:53 +0000http://meyerweb.com/eric/thoughts/?p=3179CSS: The Definitive Guide. I have two things to announce on that front.]]>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!

]]>http://meyerweb.com/eric/thoughts/2015/02/09/run-salmon-run/feed/2Writing for The Pastry Boxhttp://meyerweb.com/eric/thoughts/2015/02/09/writing-for-the-pastry-box/
http://meyerweb.com/eric/thoughts/2015/02/09/writing-for-the-pastry-box/#commentsMon, 09 Feb 2015 16:33:23 +0000http://meyerweb.com/eric/thoughts/?p=3182Words, Words”, was published last week.]]>I’m beyond pleased to note that my second piece for The Pastry Box, “Words, Words”, was published last week. The first, “Sunrise, Sunset”, was published a month before that. (It’s not about what you might think—and yet, and the same time, it is.)

For those who aren’t familiar with The Pastry Box, it describes itself thusly:

Each year, The Pastry Box Project gathers 30 people who are each influential in their field and asks them to share thoughts regarding what they do. Those thoughts are then published every day throughout the year at a rate of one per day, starting January 1st and ending December 31st.

It’s become much more than that, in my eyes. In a lot of ways, The Pastry Box has become a place where writers feel free to stretch themselves and their writing, and to look at themselves and what they do in new lights. It’s an incredibly valuable resource. There are thoughts in their archives that touched, moved, and changed me.

I was invited late last year to be a contributor to The Pastry Box in 2015, and of course I said yes. I accepted the invitation for a couple of reasons. The foremost reason is, of course, the honor of being a Pastry Box contributor. Over the past few years, they’ve had some of the greatest minds and writers of our field participate. That’s even more true of this year’s roster, and I am completely humbled to join them. The fact that this is the last year of The Pastry Box wasn’t actually a factor, as I’d have said yes in any year.

The second reason is that I’m very interested to see how I write in an environment where there are no comments. No doubt this marks me for an anachronism, but it has literally been decades since I wrote for an online outlet that didn’t support reader comments. That ever-present feedback channel is something I value, which is why I still support comments here, but I’m sure it’s affected how I write. Not negatively, or even necessarily positively—it just affects the writing, or so I believe. Over the course of 2015, I hope to find out if I’m right about that.

If you’d like to follow along, please follow The Pastry Box via RSS or Twitter (or both, as I do). Not just for my few thoughts, of course, but for all the amazing contributors this year. Already there have been insightful, funny, and deeply personal stories, and a new thought comes fresh-baked every day. That’s why I’ve followed them in year past, and why I am still amazed and honored to be a part of their final year.

]]>http://meyerweb.com/eric/thoughts/2015/02/09/writing-for-the-pastry-box/feed/2Gradient List Bulletshttp://meyerweb.com/eric/thoughts/2015/02/09/gradient-list-bullets/
http://meyerweb.com/eric/thoughts/2015/02/09/gradient-list-bullets/#commentsMon, 09 Feb 2015 05:27:58 +0000http://meyerweb.com/eric/thoughts/?p=3187CSS gradients are kind of fun. I know, they’re a little clumsy at first, but I’ve found that with just a little practice, you can hand-author them without more than a brief refresher course on exactly how to structure the first part. At least for me, as long as I can get the setup right, the color stops are a breeze.

As I’ve said in previous posts, gradients are images, just like a PNG or SVG or whatever. That’s why you can write them directly into background properties and have them display. The thing is, though, that you can use them anywhere a property accepts an image value. Like, say, list-item-image and list-item.

Yes, that’s right: you can define gradient list bullets. A test page I set up last week (and the screenshot shown nearby) demonstrates a few different possibilities, but there are so many more.

There are two major limitations I can see: one, you can’t layer multiple gradients together, the way you can with backgrounds. You get one gradient image, and that’s it. Two, this isn’t supported in Firefox, not even the nightly builds. Every other desktop browser appears to support this, usually at least a couple of versions back, and a fair number of mobile browsers as well. A bug has been filed by Boris—thanks, Boris!—so hopefully this limitation will fall away soon.

Fortunately, this is a textbook case of progressive enhancement. You set the basic bullet style, then define something snazzier for browsers that can handle it (which is, again, most of them). If your design somehow critically depends on the appearance of the list bullets, then you’ll need to use another approach. Also, rethink your design.

A third limitation, one not nearly so momentous, is that the list bullets are kind of small as compared to the list items’ font size in most browsers, but a bit bigger in others (as Ana Tudor pointed out; thanks, Ana!). So if you’re going to express yourself with list bullets, be bold and not too complex, and realize there will be some sizing differences across browsers.

A fourth limitation is performance. If you make your gradients too complex, especially if they’re radial gradients, you may degrade the user experience, particularly on mobile. As always, use your new-found power responsibly. Thank you.

]]>http://meyerweb.com/eric/thoughts/2015/02/09/gradient-list-bullets/feed/8Media Querieshttp://meyerweb.com/eric/thoughts/2015/01/16/media-queries/
http://meyerweb.com/eric/thoughts/2015/01/16/media-queries/#commentsFri, 16 Jan 2015 18:18:39 +0000http://meyerweb.com/eric/thoughts/?p=3165Thanks 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.

]]>http://meyerweb.com/eric/thoughts/2015/01/16/media-queries/feed/3Ramping Uphttp://meyerweb.com/eric/thoughts/2015/01/06/ramping-up/
http://meyerweb.com/eric/thoughts/2015/01/06/ramping-up/#commentsTue, 06 Jan 2015 16:32:29 +0000http://meyerweb.com/eric/thoughts/?p=3151We 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.
Photo by Bidgee (CC BY-SA 3.0 AU)

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.

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’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.

]]>http://meyerweb.com/eric/thoughts/2015/01/06/ramping-up/feed/9Well, That Escalated Quicklyhttp://meyerweb.com/eric/thoughts/2014/12/27/well-that-escalated-quickly/
http://meyerweb.com/eric/thoughts/2014/12/27/well-that-escalated-quickly/#commentsSat, 27 Dec 2014 18:16:59 +0000http://meyerweb.com/eric/thoughts/?p=3142This 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.

]]>http://meyerweb.com/eric/thoughts/2014/12/27/well-that-escalated-quickly/feed/94Inadvertent Algorithmic Crueltyhttp://meyerweb.com/eric/thoughts/2014/12/24/inadvertent-algorithmic-cruelty/
http://meyerweb.com/eric/thoughts/2014/12/24/inadvertent-algorithmic-cruelty/#commentsWed, 24 Dec 2014 21:37:03 +0000http://meyerweb.com/eric/thoughts/?p=3133I didn’t go looking for grief this afternoon, but it found me anyway, and I have designers and programmers to thank for it. In this case, the designers and programmers are somewhere at Facebook.

I know they’re probably pretty proud of the work that went into the “Year in Review” app they designed and developed, and deservedly so—a lot of people have used it to share the highlights of their years. Knowing what kind of year I’d had, though, I avoided making one of my own. I kept seeing them pop up in my feed, created by others, almost all of them with the default caption, “It’s been a great year! Thanks for being a part of it.” Which was, by itself, jarring enough, the idea that any year I was part of could be described as great.

Still, they were easy enough to pass over, and I did. Until today, when I got this in my feed, exhorting me to create one of my own. “Eric, here’s what your year looked like!”

Yes, my year looked like that. True enough. My year looked like the now-absent face of my little girl. It was still unkind to remind me so forcefully.

And I know, of course, that this is not a deliberate assault. This inadvertent algorithmic cruelty is the result of code that works in the overwhelming majority of cases, reminding people of the awesomeness of their years, showing them selfies at a party or whale spouts from sailing boats or the marina outside their vacation house.

But for those of us who lived through the death of loved ones, or spent extended time in the hospital, or were hit by divorce or losing a job or any one of a hundred crises, we might not want another look at this past year.

To show me Rebecca’s face and say “Here’s what your year looked like!” is jarring. It feels wrong, and coming from an actual person, it would be wrong. Coming from code, it’s just unfortunate. These are hard, hard problems. It isn’t easy to programmatically figure out if a picture has a ton of Likes because it’s hilarious, astounding, or heartbreaking.

Algorithms are essentially thoughtless. They model certain decision flows, but once you run them, no more thought occurs. To call a person “thoughtless” is usually considered a slight, or an outright insult; and yet, we unleash so many literally thoughtless processes on our users, on our lives, on ourselves.

Where the human aspect fell short, at least with Facebook, was in not providing a way to opt out. The Year in Review ad keeps coming up in my feed, rotating through different fun-and-fabulous backgrounds, as if celebrating a death, and there is no obvious way to stop it. Yes, there’s the drop-down that lets me hide it, but knowing that is practically insider knowledge. How many people don’t know about it? Way more than you think.

This is another aspect of designing for crisis, or maybe a better term is empathetic design. In creating this Year in Review app, there wasn’t enough thought given to cases like mine, or friends of Chloe, or anyone who had a bad year. The design is for the ideal user, the happy, upbeat, good-life user. It doesn’t take other use cases into account.

Just to pick two obvious fixes: first, don’t pre-fill a picture until you’re sure the user actually wants to see pictures from their year. And second, instead of pushing the app at people, maybe ask them if they’d like to try a preview—just a simple yes or no. If they say no, ask if they want to be asked again later, or never again. And then, of course, honor their choices.

It may not be possible to reliably pre-detect whether a person wants to see their year in review, but it’s not at all hard to ask politely—empathetically—if it’s something they want. That’s an easily-solvable problem. Had the app been designed with worst-case scenarios in mind, it probably would have been.

If I could fix one thing about our industry, just one thing, it would be that: to increase awareness of and consideration for the failure modes, the edge cases, the worst-case scenarios. And so I will try.

]]>http://meyerweb.com/eric/thoughts/2014/12/24/inadvertent-algorithmic-cruelty/feed/268Finding My Wayhttp://meyerweb.com/eric/thoughts/2014/12/19/finding-my-way/
http://meyerweb.com/eric/thoughts/2014/12/19/finding-my-way/#commentsFri, 19 Dec 2014 18:49:37 +0000http://meyerweb.com/eric/thoughts/?p=3127With presentations of “Designing for Crisis” at AEA Orlando and World Usability Day Cleveland now behind me, I’m getting into the process of reviewing and refining the talk for 2015. This will be my talk at An Event Apart all throughout this year, making me one of the rare AEA speakers who won’t have a brand-new talk in 2015. (We’ll have a mix of new and familiar faces, as we always try to do, and they’ll all be bringing new material to the stage.)

Even “Designing for Crisis” will have some new aspects to it, as I discover ways to strengthen it and loop in some new thoughts and discoveries. As an example, I just recently had a great chat with Amy Cueva, who gave me some really sharp insights into how I can share the message even more effectively. I expect that kind of iterative improvement to continue throughout the year, given how new the topic is to me, and possibly to everyone. It’s been something of a surprise to have many people tell me it’s caused them to see their own work in a whole new light—even people working in fields where you might think they would already be on top of this. I’m really excited to bring this talk to people at AEA, and elsewhere as opportunities arise. I hope it will do some good in the world.

In parallel with that ongoing effort, I’m getting back to writing more than just the occasional blog post. I’ve restarted work on the fourth edition of CSS: The Definitive Guide—details on that will be forthcoming just after the holidays. I’m also starting to write down some of the thoughts and approaches in “Designing for Crisis”, as well as some nascent thoughts on network effects, responsibility, community, and guidance. I’m also trying to teach myself git so I can push out public repositories of my CSS tests and some bits of code I’d like to release into the wild, but honestly that’s pretty slow going, because it’s always a fifth or sixth priority behind my family, working on AEA, refining and rehearsing the new talk, and writing.

(“Bits of code”. SEE WHAT I DID THERE?)

Given everything that’s coming together, I really am looking forward to 2015 and a return to speaking and writing. For painfully obvious reasons, I was pretty out of the loop for nearly all of 2014, not to mention the last half of 2013. I tried to stay up to date, but it’s one thing to be in the middle of things, and quite another to observe things from a distance. (The mosh pit never looks like it feels, you know?) So in addition to all the other stuff, I’m working overtime to catch up, and that’s where I could really use some help from the community.

So, tell me: what did I miss? What’s emerging that I should be (or should already have been) paying attention to, and what am I already behind the curve on? What has you excited, and what sounds so awesome that you’re hungering to know more about it? And maybe most important of all, where should I be going to get caught up?

All input welcome, whether here in the comments, or out there on les médias sociaux. And thank you!

I still have trouble believing this. Kat and I both still have trouble. But only on occasion, these days, and not for long. As someone once said, when it comes to the death of a loved one, you don’t get over it, but you do, eventually, if you allow yourself, get used to it. We’re slowly getting used to it.

Half a year. It seems like it’s been forever, as if uncountable years have passed since Rebecca died, and yet there are still so many traces and impressions of her that sometimes it seems as if she was only just here. We struggle, sometimes, to decide what to preserve and what to let go. We had to force ourselves to put the few boxes of mementoes we’ve kept into storage this past week. It felt like we were consigning Rebecca to the attic, which doesn’t seem like much when you think about it, but it was in some ways as difficult as consigning her remains to the earth. For that matter, we were recently making some changes to the family picture wall, and for each picture of Rebecca, we had to ask if it should stay up or come down. None of those choices were easy, even after half a year.

Of course, half a year is less time than elapsed between her diagnosis and her death. I remember so much, and so little, of those months. But this is unremarkable, given that we remember so little of our regular lives. (Think about yesterday, or of last Friday. How much of the day do you actually remember? How many of those several thousand minutes can you no longer recall with clarity? Now, what else have you forgotten?)

We have thousands upon thousands of images of Rebecca; just in my iPhoto library alone, there are 10,188 photos tagged with her name, 1,624 of which I flagged or rated five stars (or both), 785 of which are on Flickr. Kat has thousands more, as do so many of our friends and relatives. Those pictures can take us back, clarify our memories, or remind us of some aspect of her personality. Myriad facets of a life so short, and yet so fully lived.

Videos are far more rare—the Flickr album has just three—mostly because I greatly dislike shooting video. In the end, it didn’t matter. Our friend Jessica captured a video that is the quintessential Rebecca, a near-perfect distillation of Rebecca’s personality in just under ten seconds—all her sass ‘n’ spice, and all her sweetness too.

“Of course I’m not ready. But I will. We take it a day at a time. Today she’s okay.”

“Today she’s okay. Except she isn’t.”

“I know, Kat, but maybe it’s a side effect of the p28. Or maybe it’s tumor infiltration, or a virus, or who knows what. She’s been through a lot these past few months. Whatever’s happening, we’ll find out what it is and deal with it.”

August 2012

“God, what a week!”

“Yeah.”

“It’s not enough that Rebecca nearly killed herself choking on that gum-ball right before we left for vacation. Thank God Jen was right there to give her the Heimlich! I don’t want to think about what would have happened if she’d aspirated with nobody around. And the way she was wailing after the car hit us, I was sure she was headed to the hospital.“

“Me too. Which I have to say seemed weird, because she was sitting furthest from the impact.”

“I thought maybe the energy from the impact somehow bounced around the car and focused where she was sitting, or maybe she wasn’t buckled in tightly enough. I thought a lot of things.”

“Yeah. At least I managed to speed up enough that the impact was behind Joshua instead of right into his door. I’m not sure the van would be drivable if I hadn’t, and I’m not sure that he’d be out of the hospital altogether. I just wish I could’ve sped up sooner, or faster, or something.”

“You did great. Nobody was hurt. We couldn’t ask for much more.”

“I know. Still. I’m not going to soon forget how I felt when I thought Rebecca was seriously hurt. Like you said, she sounded like she was.”

“Sometimes I think her guardian angel either gets sloppy or works overtime in August. Remember that bad allergic reaction she had to the sunblock last year?”

“Yes, and I remember how hyper the Benadryl made her.”

“All this stuff that’s happened to her—I just picture her guardian angel sitting in a bar every August going, ‘I kept her safe, now gimme another one!’”

“At least she’ll have some great stories to tell in high school, when they play ‘who had the worst vacation’.”

April 2012

“I can’t believe these things are back.”

“At least this time they aren’t as widespread, and they can be removed laparoscopically. It was hard enough when you were bedridden for two months when we had only two kids. With three now, I think I’d go insane. Especially given Joshua’s disinterest in sleep.”

“I can’t figure out how a baby that young is so opposed to sleep. He’ll never remember this, and to Carolyn this is just another round of Mommy-in-the-hospital. But Rebecca is so worried. Have you seen how clingy she’s gotten with me since we told her?”

“She’s still pretty young. She’ll adjust quickly.”

“How do we help her do that?”

“The same way we did with Carolyn. We tell her a hospital is where people go to get better, and that Mommy has bad rocks in her belly that the doctors will take out and then Mommy will get better.”

“You know she’s going to ask us if every rock we go past is a good rock or a bad rock.”

“That’s okay. She’ll figure it out soon enough, and she’s too little to understand things like tumor growth and how one kind of tissue is good but another is bad. And one day, when she grows up, she’ll probably chuckle about how she thought Mommy had actual rocks in her belly.”

July 2009

“How’s Kat doing?”

“She’s feeling a little bit better every day. The infection she got in her incision really set her back, but that finally seems to be cleared up. We’re hoping that she’ll be able to start walking unassisted and maybe get downstairs in the next week or two.”

“How are the girls?”

“They’re fine. I think Carolyn enjoys taking her mom snacks in bed, and we sometimes have family dinner up there. It was a little scary for her at first, but she’s young and resilient. Rebecca is still Rebecca, crawling and cruising like crazy.”

“You know, I really thought you’d be a widower by now.”

“What? Why?”

“When we saw those MRIs showing the mass, and then they delayed her surgery for an oncologist to be on hand, I was convinced it was malignant and that she’d die from it and leave you all alone with the girls. I was sure.”

“Ah. Well, fortunately, it wasn’t.”

“Seriously. It was a pretty terrible first birthday present for Rebecca, though, to have her party postponed and her mom in the hospital.”

“I suppose, but she’s so young that she’ll never remember any of it. Besides, she’ll have plenty more birthdays.”

June 2008

“I know we’ve waited a long time to be placed, but we can’t take a child with cystic fibrosis if we’re not ready to deal with everything that entails.”

“What does it mean if she has CF?”

“A lot of respiratory problems, lots of lung infections, possible lung transplants. Bottom line? She’d probably die from it in her teens or early twenties.”

“…I don’t know if I can do that.”

“This could be nothing. We’ll know by Monday whether she has it or not.”

“If she does, I— I have to turn down placement, Kat. I’m sorry. I don’t think I can go into an adoption knowing that it’s time-limited. I know we’ve been waiting more than two years, but I don’t know if I could survive one of our children dying young. I’d rather wait longer, and take placement of another baby, than face that.”

“You know some people would ask what you’d do if we’d been able to get pregnant and given birth to a child with CF.”

“And I’d tell them that I’d love and care for that child. But we can’t get pregnant, and one of the side effects of that inability is that we get the ability to choose which child we take into our lives. I make no apology for exercising that choice to maximize our chances of having the best outcome. We’ve done it before, and if need be, we’ll do it again. I don’t think I can choose to adopt a child with a life-span I know ahead of time to be limited. Maybe I’m a coward for that, and maybe not, but that’s where I am.”

March 2008

“I don’t get it. Why do we have to renew our homestudy?”

“They’re only good for two years. State law says you have renew if you’re still waiting.”

“Yes, thank you, I know that. I mean, why are we still waiting? After two years? We only waited a few months for Carolyn.”

“I know.”

“We’re great parents. Why are we waiting so long? What’s wrong with us?”

“Nothing. You know that. It’s just, sometimes you wait.”

“Two years, though. Sometimes I feel like we’re never going to get picked.”

“Sometimes I feel the same way, but you know that if we wait long enough, eventually we’ll be at the top of the list. And then even if no birthparents actively pick us, we’ll get placed if the birthmother says she doesn’t care who gets the baby.”

“Wouldn’t you rather be picked? Instead of just placed by default?”

“Honestly, I’m fine with it either way. I know it’s been a long time. I know it feels like forever. But compared to how long we’ll get to be with that child, it’s really not very long at all. They’ll be our child for the rest of our lives. We’ll get to love them for decades. Compared to that, what’s a couple of years?”

October 2003

“I talked to Adoption Circle today and we’re back on the waiting list.”

“Okay, great.”

“They asked how we were doing.”

“What did you tell them?”

“That we were doing okay, and we were ready.”

“Well, it has been four months since Mom died. It’s sad, but we can’t put our lives on hold forever.”

“That’s basically what I told them.”

“You know, given Mom’s family’s history of cancer, it’s probably for the best that we’re adopting—I wouldn’t want to risk passing that on to our kids. I just hope I live long enough to see them grow up.”

October 1998

As the funeral service for Kat’s aunt Judy ended, the sun slipped behind a bank of clouds. The mourners began to disperse, leaving the family to stand in the chill October air, talking quietly as they comforted Judy’s husband and children. Off to one side, Judy’s mother, Kat’s grandmother, stood stiff and drawn next to me, her eyes glistening with tears as she stared off at the horizon. I had already expressed condolences and couldn’t think of anything else to say, so I just stood there. After a few moments, she looked at the grave, then looked at me, and shook her head.

“It’s a terrible thing for a parent to bury a child,” she said. “Terrible. Nobody should ever outlive their child.”