meyerweb.com

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

Archive: 'Writing' Category

Taking Steps

Not too long ago, I got Step Nined on Facebook.

If that didn’t parse as regular English for you, Step Nine is part of the twelve-step program offered by Alcoholics Anonymous. It states, with edits for out-of-context clarity:

“[Make] direct amends to [people you have harmed] wherever possible, except when to do so would injure them or others.”

And so someone I knew back in the town where I grew up, a classmate all throughout my pre-college education who I’ll call John, sent me a private message on Facebook apologizing for how he’d treated me, stating that he’d had no reason other than just having been a mean kid, and hoping that things were going well for me and my family.

I’ve pondered this message quite a bit in the interim. The message brought me neither upset nor relief, though I can well imagine that many people in such a situation would feel one or both. I bore no mental or physical scars with his signature upon them. There was no need of closure, or of re-opening, or really of anything, at least from my point of view. He and his actions toward me, positive or negative, are one thin thread in the complex skein that was my childhood, lost in the overall pattern.

In truth, John’s message aroused more pity in me than anything else. I thought as I read it, What must he have endured as a child, that hurting other people seemed normal to him?  And in that thought, I felt an echo from the past, as though the question had come to me before. Perhaps my parents made the observation, as I struggled through growing up, and I was finally able to hear it now. I’m not sure. It doesn’t really matter. If his message is anything to go by, whatever John did has been far more damaging to him than it ever might have been to me.

Still, I keep coming back to John’s message and pondering it further. What I’ve thought about, far more than its contents or the history it references, has been the simple fact of how it happened, and what that means.

Had John wanted to offer amends in, say, the late 1990s, he would have had to actively seek me out. It would have taken the effort of calling my parents to ask for contact information, or other people he thought might have it, and then making that call to me. The social distance would have been a barrier to contact, one whose surmounting signified the importance of the act to him. And then, when he did make that call, he would have talked to me, able to gauge my reaction. There would have been a feedback loop to tell him whether or not his amends were injurious in some way.

And yes, of course, John could have done exactly that today. He could have kept his process entirely off Facebook and gone through those efforts, as an act of personal penance or just as a useful social signifier. Or, perhaps, he could have contacted me on Facebook to ask for my phone number, with a brief statement as to why he was asking for it, and then let my decision to allow the contact or not be a measure of whether it would in fact be injurious.

But he didn’t. Because the internet has disintermediated social effort.

What I wonder about, as I ponder this small signal, is the depth of his remorse. How much does John really mean it, and how much is he going through the motions, trying to get through Step Nine as quickly as possible so that he can reach Step Twelve sooner? Is he working through his personal pain, or is he grinding the leveling process? It’s impossible for me to say. I know it’s a lot easier to send a bunch of “sorry” messages to your contacts than it is to talk to each person you feel you’ve wronged, one on one, one by one, and go through that painful process over and over and over again.

I wonder if that simple ease of contact has robbed him of a critical component of his healing process.

Or, if you want to be more accurate, I wonder if that simple ease of contact lured him into a course of action that was harmful to his healing process.

The things we build are almost always meant to make things faster, more efficient, easier. Perhaps, sometimes, they should be harder.

This genie will not go back into the bottle. The internet isn’t going away and Facebook still has a long way to go before its fall. Even then, something will have replaced it. There’s no reason to think these sorts of connections will become more difficult to make, technologically speaking.

I wonder if they will become more difficult, socially speaking—if an act like that will become frowned upon, as we might frown upon a form letter condolence note. I wonder what sort of protocols and expectations, what social mores, will emerge over time in response to the disruptions our work has caused and will cause, and how they will shape personal interactions at all levels.

I wonder how much effort we should be putting into influencing the evolution of those emergent social constructs, whether through our work or our personal interactions, and how much of that effort would be ultimately fruitless.

I wonder how intentional people are about what they do, online as well as off; and how intentional they should be.

I wonder what I should say to John.

This article was originally published at The Pastry Box Project on 2 March 2015.

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!

Writing for The Pastry Box

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.

Words, Words

R: “What are you playing at?”

G: “Words, words.  They’re all we have to go on.”

—Tom Stoppard, Rosencrantz & Guildernstern Are Dead

My recent-inbox counter incremented by one, and I was between tasks, so I went to take a look.  It was a notification from Facebook:

Jesse Gardner commented on a link you shared.

"*gets some popcorn*"

Thanks,
The Facebook Team

I couldn’t figure out what would have provoked that sort of comment, so I went to look at the link I’d shared and came away even more confused.  What about the link was popcorn-worthy?  It wasn’t even a case of being an inappropriate response: it was so out of left field, it seemed literally disconnected from the post.  I seriously wondered whether it was a reply meant for some other post, accidentally dropped onto mine by some combination of multiple browser tabs and mental distraction.

So I asked, and it turned out Jesse was actually replying to an earlier comment on that link.  Once he clarified, his comment made perfect sense, and it was in fact quite funny.  What had seemed like a complete non sequitur was revealed to fit seamlessly into the conversation.

Words have such power, but none of it their own.  The words “commented on a link you shared” are so neutral, they make the Swiss look hyperpartisan, and yet they were sufficient to fit into my mental state in such a way that I was led completely astray.  I was so taken in by the idea that Jesse was commenting on the link, I never stopped to ask if he was participating in a conversation.

It wasn’t the words that led me astray, but my interpretation of them.  I led me astray.  Everything I brought to that moment of reading, all my experiences and biases, took the incredibly banal concepts encoded in those arbitrary marks and came to a conclusion that had nothing to do with Jesse’s original intent.  An entire flowering construct of incorrect, misleading assumptions grew out of that simple moment of unconscious interpretation.

No matter how hard we work to be clear, no matter how many words we spend on precision, no matter how carefully we choose our words, what people find in our words is more a product of their views than our efforts.

This is the dilemma of communication: we cannot control how people hear us, and yet cannot declaim all responsibility for what they hear.  If we express ourselves badly, or in a way that is misinterpreted by many, that is on us.

This is the dilemma of communication: we cannot control how people speak to us, and yet cannot declaim all responsibility for what we hear.  If we misinterpret another’s intent, or listen in bad faith, that is on us.

Words have such power, but none of it their own.  We invest them with all the power they have, each in our own way.  We rarely think about it, rarely make conscious decisions about what power we invest in which words.  I think we think far less about what we hear than what we say, and still less about why we hear what we hear.

Nothing about communication can be entirely one-sided.  We bring ourselves to the words that pass between us, every node in the network running on a unique protocol, striving for clarity in a landscape that seems built for confusion.

This is dilemma of communication: words.  Words.

This article was originally published at The Pastry Box Project on 2 February 2015.

Sunrise, Sunset

Everything begins, and everything ends.  Sometimes the beginnings are hard to define, and the endings are hard to accept.  Other times the beginnings are clear, and the endings are welcome.

We have a lot of beginnings and endings in our lives.  Beginnings are usually easier than endings.  In fact, some of us dislike endings so much that we avoid them by any means possible.  How many projects have you started, and then let fade from attention, denying them a proper finish?  I’ve done that so many times, I should be ashamed.

This is so common to our industry, though.  Plenty of projects and even programming languages get launched, gain favor, start a buzz, and then gradually fall by the wayside, but they never really end.  There are still people making a living writing COBOL.  There are so few of them left, in fact, they’re probably making a better living than you and me.  COBOL will only die when the last machine shuts down, or else when the last COBOL programmer does.

We see the same dynamics at play in design.  Remember drop shadows?  Some day, we’ll say the same thing about flat design, even responsive design as we now understand it.  Something will build from them, whether as a reaction or an evolution, be given a snappy new name (snappy names are critical to the adoption of design trends), and we’ll look back and say, “Remember…?”

But there is no standard definition of what constitutes the end of a trend.  It’s probably just as well, since in the absence of such a definition, we can support a thriving industry of thinkpieces on The Death Of whatever the thinkpiecer wants to declare dead.  They’re never definitive, but they do generate traffic, which generates ad revenue, which generates higher stock prices for Google.

That is, until some confluence of factors causes Google’s stock to drop, which will in turn launch a thousand breathless thinkpieces on The Death of Google.  They’ll sail off toward the intellectual horizon, questionable axioms and unquestioned assumptions fluttering gaily in the hot air, following in the wakes of the fleets of thinkpieces on The Death of Apple, The Death of Microsoft, The Death of Dell, The Death of IBM, The Death of Kodak, and The Death of Digital Equipment Corporation.

If you live long enough, you start to get a sense that it’s all just a little bit of history repeating, as Shirley Bassey once put it.  The towering crises of youth, both the personal and global, are eventually seen to be iterations on a long-running theme.  When our elders say that youth is wasted on the young, a big part of that observation is the realization that the time of life at which you are the most energetic is also the time in which you’re most likely to expend all that energy taking everything so damn seriously, as if the world is coming to an end.

Which it will, at some point.  Everything does.

The best we can hope for is that an ending comes at the right time, for the right reasons.  We don’t always have the ability to make that happen.  Other times, we do.

Here’s to the last year of The Pastry Box.

This article was originally published at The Pastry Box Project on 2 January 2015.

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.

On Writing

Our situation, and my posts, have been the cause of sleepless nights and fallen tears for a great many people.  In some ways I feel bad about that; it occasionally feels like I’m forcing our pain onto other people, which isn’t exactly a friendly thing to do.  But I know you’re here because you want to be here for us, and here, words are how we commune.

But why, I am occasionally asked and occasionally ask myself, am I writing about Rebecca’s cancer instead of doing other things?  There are a number of reasons.

Part of it is that I’m creating a precisely timestamped chronicle for later, the historian in me asserting itself.  This is where a lot of my tweets come from, as well: the desire to record something at the moment, so that later I’ll be able to say whether X happened before or after Y or how many days apart two events actually were.

But it’s also for Joshua, if he wants to know more about his sister and what happened to her, when he’s older; and for Carolyn, if she ever wants to revisit this time or see it from my perspective, to compare against her memories.  And perhaps for others, if I ever decide to collect these fragments into some sort of longer work.

More importantly, writing about what’s happening and how I feel about it allows me to organize my thoughts and give some structure to what’s happening.  In a situation where so much is beyond our ability to do anything at all, this is something I can shape directly.  It allows me to feel some small measure of influence.  It lets me face my fears by naming them.  It helps me get a handle on a few shards of this overwhelming thing that defies any real understanding.

And of course I’m grieving online.  I do that here so that I can put it away elsewhere, so to speak.  When I’m with the kids, I can be there for them as the father I’ve always been and hope to keep being, rather than the hollowed-out ruin I sometimes feel like.  Grieving here, through the words that come to me, makes that easier to do.  So I write and tweet.  A little bit of pressure release.

But most of all, I am sharing Rebecca with you, with anyone who will listen.  We’ve always felt it’s up to our kids to become themselves and then bring themselves to the world in their own way, to meaningfully affect it and be affected by it.  In the words of Khalil Gibran:

Your children are not your children.
They are the sons and daughters of Life’s longing for itself.
They come through you but not from you,
And though they are with you yet they belong not to you.

You may give them your love but not your thoughts,
For they have their own thoughts.
You may house their bodies but not their souls,
For their souls dwell in the house of tomorrow,
which you cannot visit, not even in your dreams.
You may strive to be like them,
but seek not to make them like you.
For life goes not backward nor tarries with yesterday.

You are the bows from which your children
as living arrows are sent forth.
The archer sees the mark upon the path of the infinite,
and He bends you with His might
that His arrows may go swift and far.
Let your bending in the archer’s hand be for gladness;
For even as He loves the arrow that flies,
so He loves also the bow that is stable.

We’ve always meant for our children to fly free of their own accord, on the arc of their choosing, when they were ready.  Rebecca will almost certainly not have that opportunity.

So now we are her archers.  In the Web, I have a bow that can send her arrow all the way around the world.  If her flight is to be short, then let it be far, a trail of purest fire etched across every sky, more beautiful and wondrous than any comet could ever hope to be.

February 2016
SMTWTFS
January  
 123456
78910111213
14151617181920
21222324252627
2829  

Archives

Feeds

Extras