AMA

Eric A. Meyer

CSS and web standards expert. Coordinated the authoring and creation of the W3C's CSS Test Suite. Co-Founder of An Event Apart

8th June 2016, 6:00 pm

This AMA is over!

Thank the host

Hey Eric. There's a lot of divergent work in organizing CSS right now, such as BEM, SMACSS, Inline Styles, CSS-in-JS, ITCSS, and Atomic CSS. Still, there are not a lot of conceptual design patterns for how to organize your CSS (if you're using stylesheets) in an efficient and scalable way. Meanwhile, design patterns in JS, Java, and PHP such as Flux/Redux, MVC, and functional programming are now the way of things. Do you see a way forward for design patterns for how to organize CSS in stylesheets utilizing the core features of CSS? Are there any promising organizational patterns out there that might not be as well known? Thanks.

I liked http://alistapart.com/article/meaningful-css-style-like-you-mean-it very much, though probably because it鈥檚 the closest I鈥檝e seen to how I write CSS.

But the real challenge in this question is that there are a lot of ways to organize CSS, possibly infinite ways, and what works for me may not鈥攑robably won鈥檛!鈥攚ork for you. I don鈥檛 think the divergence of work in CSS organization is a weakness of the language. It鈥檚 a strength, because it shows that CSS is flexible enough to support all those different patterns of work. There鈥檚 room for a lot more.

Hi Eric,

Nice to see you here. :) I am your huge fan. Congrats for the success of Designing For Real Life.

It's strange no one has asked you questions related to CSS Frameworks so far. What are your thoughts on frameworks like Bootstrap, Foundation, etc? Do you use them or recommend them?

Thanks, Ida! I don鈥檛 use frameworks or recommend them, but I don鈥檛 necessarily recommend against them, either. I think they鈥檙e great prototyping tools, since they make it easy to get something spooled up really fast. The problem I see is when they鈥檙e used in production. The output is always distressingly clunky, and the layout often fragile. And that鈥檚 even assuming you don鈥檛 rely on Javascript to make them work, which is asking for trouble. Almost nobody intentionally disables JS, but slow networks can prevent loading, and older devices can choke to death on the processor demand.

Hey Eric! :)

Which do you think has influenced CSS specs more in the last few years: engagement between working groups and developers, or industry trends like CSS preprocessors illustrating demand for features? (Or has something else entirely been the biggest driver?)

I feel like preprocessors have been a big influence. Things that the WG has rejected for years (even decades), like variables and even logic, are now finding their way into the specs because they were implemented in preprocessors, and lots of authors used them. I love preprocessors for that.

The other huge influence has been, just as with everything else, mobile. A lot of things that would have been nice in the past were made critical by mobile. Responsive images are just one example of that. There are similar things happening in CSS, such as more powerful media queries.

Hey Eric! Thanks for doing this AMA. If you could change one thing in CSS today, what would that be?

Full support for all of Grid Layout, like, yesterday. Seriously, the one thing I鈥檝e wanted to change about CSS for 20 years now is to give it a Real Layout System鈩. Now it鈥檚 almost here, and I just want it to get here already.

If we take that off the table, then honestly? The stuff just beyond it: better/wider support for shapes, regions, multicolumn, exclusions, and so on.

How would you describe the role of test suites in W3C standards development? ...are they something developers should consider contributing to? ...and if yes, how should they start?

I鈥檓 honestly not sure how one might contribute to the official test suites these days. I don鈥檛 even necessarily how the suites work, now. It used to be, you just put up a bunch of pages and people would look at them to determine if a browser passed.

That said, I鈥檓 a big proponent of building test cases, even if they鈥檙e just for your own understanding. I maintain a set of test pages at http://meyerweb.com/eric/css/tests/css3/ and another collection one directory up, at http://meyerweb.com/eric/css/tests/ 鈥 they鈥檙e not meant to be a formal suite, but they help me work out how things are supposed to work.

Hi, What's your thought about css-modules?

Perhaps I鈥檓 not understanding the point of css-modules, but it looks like a fragile way to inline all the CSS things. That feels like several steps backward to me. But if I鈥檝e misunderstood what modules do, then I take that back. It often takes me a while to osmose the points of a new technique to the point that I can really comment on it.

ay yo eric

Why rem over em for media queries?

I usually use em, but most of the queries I inherit from others use rem. And I can see an argument for rems when trying to create a consistent visual rhythm, where you want a thing to have a width regardless of whether it鈥檚 an h1 or an ordered list. Of course, Grid layout might take us in a very different direction!

Eric, Do you think there should be a web standard for HTML Emails also? This is the most ignored part of the internet.

Should be, sure. Will be, probably not. As my colleague Jeffrey Zeldman observes, there鈥檚 an Email Standards Project web site, and for years it鈥檚 lacked a style sheet. Now, the content is all still there and readable, but there鈥檚 a profound sense of neglect. That seems to sum up the state of trying to bring sanity and consistency (never mind elegance) to HTML emails.

Which is why I always configure my mail clients to show me plain text, by the way. MailMate, my preferred client, makes this pretty simple.

What are your favourite books - both technical and non-technical?

The first ten, in the order they came to me:

  • 鈥淲atership Down鈥 by Richard Adams
  • 鈥淭he Victorian Internet鈥 by Tom Standage
  • 鈥淪tartide Rising鈥 by David Brin
  • 鈥淪pin鈥 by Robert Charles Wilson
  • 鈥淭he Chronoliths鈥 by Robert Charles Wilson
  • 鈥淢other Earth Mother Board鈥 by Neal Stephenson (technically a magazine article, but at ~47,000 words, it鈥檚 verging on novel length)
  • 鈥淓xcession鈥 by Iain M. Banks
  • 鈥淐opper鈥 by Kazu Kibuishi
  • 鈥淭he Atrocity Archives鈥 by Charles Stross
  • 鈥淭he Westing Game鈥 by Ellen Raskin

What's hardware and software you use?

I have a 2013-era MacBook Pro, bumped-up on the specs and using an SSD that I鈥檓 starting to get close to filling up. For software, the current set is Firefox Nightly, BBEdit, MailMate, Slack, a shockingly old version of NetNewsWire, Transmit, Photoshop when I need it, ImageOptim, Terminal for git and other command-line fun, and SuperDuper for backups, which I should run more often.

thank u man

  1. What's the idea behind inline CSS and email templates?
  2. Are there any plans for allowing email templates to use external CSS links and make designing email templates a little bit more modern similar to how CSS is used to design web applications today?

Email. Ah, email. I鈥檇 love to see email clients catch up with this millennium, and support something other than inline CSS and table markup. On the other hand, I can see why loading external CSS into an email message might be a bad idea. There鈥檚 a lot of opportunity for privacy and security violations there.

Hi Eric,

Thanks for doing this AMA.

What's your opinion on CSS Flexboxes? Do you think we should start using them as a default way of structuring web pages?

I love them, but no, not necessarily. I鈥檝e used them here and there for rebeccasgift.org, such as in the nav bar, but their limitation is that they鈥檙e meant to arrange elements along a line. They鈥檙e one-dimensional, in other words, in the specific meaning of that term. Grids, on the other hand, are two-dimensional, and incredibly powerful.

That said, flexbox is pretty much here now, whereas grids are still developing. So using flexbox now makes sense to me. Just don鈥檛 become reliant on it, because there鈥檚 a whole lot better coming up fast.

What was the motivation behind creating "An Event Apart"?

At first, it was to create the kind of conference Jeffrey and I would want to attend, or to speak at. There were a lot of shows back then, but none were speaking to the designer/developer with experience and a passion for web done right, and few if any had the kind of respect for attendees and speakers that we thought there should be.

Things have come a long way since then; a lot of the shows we were side-eyeing back then no longer exist, for example. Our motivation is still what it was, but over the years it鈥檚 expanded a bit. We both have a deep passion not just for the web, but for all design. UX and design in general are becoming more and more important, as we think about desktop and mobile and physical interfaces (e.g. Amazon Echo) and watches and more.

How systems of interaction are built matter more than ever. We鈥檙e committed to pushing the state of that art forward, and . So we鈥檙e more than just web now. Web is always a big part of what we鈥檙e talking about, but it鈥檚 not just a web conference any more. It鈥檚 a lot more than that, and we love how it brings a few hundred people (never more than that) together to hear what鈥檚 coming next, and more importantly talk with each other about what they鈥檙e doing and looking to do next. The community is really amazing. Just that by itself would be more than motivation enough.

Do you think people with only HTML and CSS knowledge have a demand in the market?

Yes, though not like they used to. I think this is mostly because those are the fundamental components of the web that are robust. JS is often useful, but it鈥檚 fragile鈥攐ne error, whether in your coding or the network鈥檚 performance, can break all the scripting. HTML and CSS, on the other hand, are almost pathologically fault-tolerant.

The difference is that the market demand for people who know only HTML and CSS exists at the mom-and-pop level: small projects for small rates, for local businesses and so on. If you want to work on big projects, or for a big company, you almost certainly need to know more than just HTML and CSS. That鈥檚 just where the industry had carried us, at this point.

Another question, sorry for pestering you.

What are things you follow to improve website's accessibility? Do you think only following schema tags is enough today?

No worries! No, schema tags aren鈥檛 enough. There are a lot of things that go into making a site accessible, but the fundamentals are still solid: clean semantic markup, ARIA where needed, clear content and design, and a strong focus on stress cases.

For example, Derek Featherstone has a great exercise: what is it like to try to fill out a form if you鈥檙e looking at it through a drinking straw? Does the flow make sense, or is it confusing? The answer matters because that鈥檚 what it鈥檚 like for someone with limited vision, who may have blown the zoom way up on your design. If they have to pan back and forth and back and forth, even if they鈥檙e using the keyboard to jump fields, it can be very disorienting.

That鈥檚 a stress case that can help you realize that a more linear flow is easier to understand. Which, incidentally, makes for a better mobile design. And so on.

Eric, Why are Web Standards discussions so hung up on Mailing Lists? It strikes me that once you enter the world of 鈥淲eb Standards鈥 it鈥檚 inevitable that discussions are done via the extremely clunky format of mailing lists. Do you think it's time to upgrade?

A lot of web standards folk have been online a long time, coming from the era of Usenet, IRC, and listservs. That鈥檚 no doubt part of it.

Here鈥檚 the thing about mailing lists: they may feel clunky, although I鈥檇 argue that鈥檚 more due to email clients than the format, but the advantage is that they鈥檙e asynchronous. When you have people from all over the world participating, it makes a lot of sense to use listservs. Each message is self-contained, so there鈥檚 not the overlapping chaos of synchronous channels like Slack. It鈥檚 also a lot easier to isolate topic threads in email, whereas it鈥檚 practically impossible in synchronous communication. If you have an email client that will show you how a conversation鈥檚 threads branch out, you can be a lot more informed and focused than if you have to do the mental work of untangling a chat log.

Web forums also work, for the same reasons, and I suspect that鈥檚 why at least some of the CSS WG work has recently shifted over to GitHub. That allows people to participate in the specific topics that interest them, without having to get all the mail of a listserv. It makes a lot of sense, though there may be unforeseen downsides. I鈥檒l be interested to see if using GitHub holds up over time for them.