Interview: Eric A. Meyer
After graduating from the CWRU, Eric A. Meyer started working for CWRU as a customer support specialist and later as a hypermedia systems specialist. While he worked at CWRU, he attended the fifth international World Wide Web conference in Paris. There he first encountered with CSS and was immediately sold to Cascading Style Sheets. Nowadays Eric is one of the best-known CSS authorities and we have the honor to interview ‘the godfather of CSS wisdom’.
Are you on a Windows- or Apple computer?
Been using Macs for twenty-plus years now. Currently a MacBook Pro running Mountain Lion, because I’m a very late adopter, particularly when it comes to operating systems.
What is your favorite internet browser?
Firefox, mostly for the extensions I have available. I sometimes drop into Safari for Flash-dependent sites, because I really love irony.
What kind of phone do you use?
An iPhone 4S. Did I mention I’m a late adopter?
Which software do you use to write code?
Eric A. Meyer's Biography
1.What were your plans/dreams after graduating from CWRU (and did they come true)?
My plans were to work for the university while I got a Master’s degree in English, with an eye toward a doctorate and eventual teaching; and to enjoy my new marriage. Neither of those worked out for me. In 1993 I stumbled across the web and was instantly hooked, and in 1995 my wife left me. I don’t think there’s a causative link there.
2.What was your first encounter with the world wide web?
I don’t remember it super-clearly, but I know that my then-co-worker and still-friend Jim Nauer was telling us all about this new web thing and how it was pretty sweet. At some point, he got me to try out a beta of NCSA Mosaic, and I was instantly hooked. I surfed around for a while, and wondered how pages were built. Jim pointed me at the HTML 2.0 specification. The rest is history.
3.What was your first encounter with CSS?
I’d convinced CWRU to send me to the Fifth International World Wide Web Conference in Paris, France, because a trip to Europe is always more awesome when someone else is paying for it. While there, I presented a paper on the “Borealis Image Server” we’d created at CWRU, and decided to spend the rest of my time attending the W3C track, where various Working Groups talked about what they were up to. One of them was on this new thing called Cascading Style Sheets. I’d never even heard of CSS before, but by the time that panel was over, the top of my head felt like it had blown off. I was instantly sold. It just felt right.
4.What skill have you always meant to learn, but never did?
Ink wash painting.
5.How does your average day look like?
Get up, do some stuff, go back to bed. That stuff varies pretty wildly, so it’s hard to average.
6.Which of your qualities helped you most to succeed in the industry?
The near-constant drive to share what I know. In mid-1995, I published the first of what was eventually a trilogy of HTML tutorials on the CWRU web site. (They were taken down years ago sadly.) With a lot of help from Alex Derbes, I gave the tutorial interactive quizzes at the end of each chapter, and wrote the whole thing in a familiar, breezy style. Within a few years, it had drawn more than a million visitors. By then, of course, I was already onto CSS, and publishing the results of my browser compatibility testing in a big chart. At every step, the goal was to learn something and then share it—and, I should say, to enable others to do the same. I wasn’t writing HTML tutorials and CSS compatibility charts to show off. I was doing that in an effort to teach everyone how to create their own web pages, so they could share what they knew.
7.What’s the coolest thing you’ve ever coded, what are you most proud of?
8.Which people/friends from the web-design/-development industry are important for you, who do you look up to and who contribute, in your opinion, in the most effective way to the community?
I could spend a week listing names and still not cover everyone, so I’m not going to go there. I will say that those who contribute in the most effective way possible are those who give back to the community that has taught and helped them. We got to where we are on the shoulders of those who preceded us, and it’s imperative that we offer our shoulders to those who succeed us.
Eric A. Meyer's Books
9.What made you decide to write your first book?
It comes back to that desire to teach, to share what I know. I had written the HTML tutorials and some CSS columns for WebReview, and was working my way toward pitching a CSS book with O’Reilly. At the same time, the O’Reilly folks—who, unbeknownst to me, shared office space with WebReview—asked the WebReview folks if they knew anyone who could write about this new CSS thing. My name came up, and O’Reilly got in touch. So I was ready to write at exactly the point in time they wanted someone to write.
I mean, certainly part of it was the thrill of seeing my name on a book spine. I’ve been a reader my whole life, and I always looked up to great authors. The idea that I could have a title on store and library shelves was pretty enticing. But if that’s all I wanted, I probably would have tried fiction or poetry or something. I focused on technical authoring because it was a way to help others learn, which to me is one of the noblest things one can do.
10.What were your expectations when you published your first book (and did those expectations come true)?
I figured it would be mildly popular, and maybe make me some spending money. At the time, you see, the future of CSS was somewhat in doubt. Early implementations has been buggy, and there was a lot of talk of dumping CSS in favor of something new, just to get a fresh start. DOCTYPE switching got us past that. (Kids, ask your parents.) I literally overheard a conversation at a conference in mid-2000 where I was described as “a nice guy who wrote a good book about a dead technology.” Which was not an unreasonable point of view, right then.
What I did expect that came true was something Jeff Veen had told me, which was, “If you want to get invited to speak at conferences, write a book.” After I published the book, I did start getting asked to speak at conferences. I don’t know if that’s quite as true today; I know it’s not true at An Event Apart. Sure, having written a book is a plus, but it isn’t a requirement, and we definitely don’t start with publication lists to find speakers. Having written blog posts or launched a project or released source code is more of a draw these days.
11.After writing all the books you’ve already published, what tip would you give to a starting writer?
Don’t expect to retire, or even make a living. Do it because you’re passionate about a topic and want to contribute your perspective. There’s nothing wrong with thinking you can do that; we all have a unique perspective. It’s not pride or hubris to think you have something worthwhile to say. The best books were born of someone saying, “I think this and nobody else is saying it, so I will.” It’s like side projects: build something that scratches your itch. So, write something that you’d want to read and pump your first in the air while you read it.
12.Your plan is to finish the fourth edition of ‘CSS: The Definitive Guide’ this year or early next year. How do you come up with topics that actually make sense with each other?
Man, I wish I knew. It’s really hard because so many things in CSS itself are interdependent. Like, it’s hard to talk about specificity before you talk about selectors and inheritance, but selectors and inheritance act the way they do because of specificity! I’ve always struggled with what to put together in what order, ever since the first edition. This one’s no different, and in many ways is worse. A lot of times I have to just pick a direction and hope people follow me on it. As an example, in the chapter I just finished on CSS Transforms, I decided to talk about how transforms work and then define all the various transform functions, rather than the other way around. I hope it works!
An Event Apart
13.How would you describe An Event Apart to someone who is unfamiliar with it?
It’s three days of very concentrated education and inspiration about design, code, and content. You walk away from it with a better understanding of how to do your job better right now, and also how you’ll be doing your job in a year or two. It’s also a gathering of like-minded people, a great chance to network and hear new ideas and perspectives, and just a really strong dose of energy.
14.How do you and Jeffrey Zeldman (and probably others) decide who to invite to speak at An Event Apart?
It’s a content-first process: we start with, “What topics should be covered?”. Once we’ve whittled that down to a list of 15-20 topics, then we ask ourselves, “Who should talk about these topics?” then we find out who’s available when, and curate each show to be the best combination of topics and speakers we can assemble.
15.What is the goal behind An Event Apart?
We strive really hard to make sure every talk has practical takeaways as well as new insights on the present and future. The goal is education and actionable points hand in hand with insight and inspiration. But even more simply than that, the goal is to create a conference that Jeffrey and I would be excited and glad to attend ourselves.
Cascading Style Sheets (CSS)
16.How was it to learn and develop CSS when it basically didn't exist?
Confusing, because I didn’t know how little support there was—I naively assumed that the Big Two browsers (Netscape and IE) supported all of CSS1 correctly, so when I started writing CSS and it didn’t do what I expected, I couldn’t always tell if it was my error or theirs. That’s what spurred me to build a test suite, and then to publish my support findings as a big grid of yes/no/buggy ratings. Sort of a caniuse.com, except in the late 1990s and not as complex.
17.When you started with CSS, what were the biggest issues you faced?
Browser support, which includes both missing support and bad support. There were a lot of mistakes in those early days, a lot of sloppiness. It took most of a decade just to clean up most of it. That, and the lack of a strong layout system, something that’s finally starting to fall away due to Flexbox and Grid Layout.
18.What do you think are the biggest differences between CSS back in 1996 and CSS nowadays, 2015?
Consistency. You really can’t imagine, unless you lived through it, just how buggy and inconsistent and frustrating browser support for CSS was.
19.Can you describe your workflow when you create HTML and CSS from scratch?
First content, then HTML, then CSS. I usually organize my CSS by section of the layout, so the header styles are all together at the top of the CSS, the page-content styles are in the middle, and the footer styles come at the end. Then I do my media-query blocks, with the same internal organization.
20.What tools do you use for cross-browser testing?
Browsers. There‘s really no substitute for hands-on, in-browser testing. Screenshots from a service are a good start, but they’re not enough. You need to see and feel the interaction.
21.How would you recommend somebody to start learning HTML/CSS?
Just start writing it and experimenting. Think of something you want to put online, mark it up, style it, and get it out there. Keep doing that over and over. Learning something like JS might require a slightly more structured learning approach, but HTML and CSS really are pretty simple to learn, even if difficult to master.
22.Why do you think different browsers have different default styling for elements?
Everyone has their own aesthetic, and the specification very intentionally doesn’t try to define default element presentation, so differences are inevitable. Plus, some of the differences are down to when browsers were first developed. There are default styles in Mozilla and IE that are literal holdovers from the days of NCSA Mosaic, whereas other browsers like Safari and Opera don’t have the same legacy styles. Now they have their own.
23.How do you make sure that the CSS you create make websites 'future proof'?
I don’t really think about that, because authoring clean valid CSS gives you 95% of future-proofing for free. The rest is avoiding anything that’s still experimental and seems likely to change, which is more or less instinct by now.
25.What CSS properties do you think are redundant and which are currently missing?
I think what’s missing is properties to describe layout. The recent rise of Flexbox, and the coming implementation of Grid Layout, is changing that. The white-space property has been made largely redundant, but that took a long time to happen.
26.What is your opinion about CSS preprocessors?
I love them! I don’t use them, but I love them. Here’s why: preprocessors are a fantastic way to extend CSS, which in turn makes them a fantastic place to experiment with what CSS should support natively. As an example, preprocessors have long offered the ability to lighten or darken a color, so if you have a purple, you could say, “make this element that purple, but 30% lighter”. Not 30% transparent, but literally 30% shifted toward white. That exact capability is currently being worked on for the next version of CSS Color, and it was preprocessors that showed the usefulness of that ability, and gave solid ideas on how to express it. I think of preprocessor extension/mixin authors as pioneers in the CSS space, charting out the possibilities and giving the CSS WG ideas as to where they should or shouldn’t go.
27.What is your opinion about CSS frameworks?
I think they’re great prototyping tools. I’m not nearly as sanguine about them as production tools. But then, I feel the same about JS frameworks: they’re great for initial development and rapid iteration of a prototype, but usually too much overhead for live deployment. Still, I’ll always lean on the side of publication. If a framework (CSS or JS) is what gets you to put your stuff out there, and a lack of one would prevent you from publishing, then yay frameworks!
28.CSS is evolving very fast, which developers and resources do you follow to keep up?
29.How do you think CSS will evolve when referring to responsiveness?
If I knew that, I’d make a ton of money placing long bets. The best I can say is that it will evolve in response to best practices. Whatever we discover we want to do, but can’t, will most likely make its way into CSS at some point in the future.
30.How do you think CSS will be in 5 years?
Harder, better, faster, stronger.
Get new articles, interviews and roundups delivered to your inbox:
We'll send you our non-commercial newsletter a few times per year.
No SPAM ever, we value your privacy.