Five Questions with Nicolas Gallagher
Published by Chris Coyier
Nicolas has one of those web design blogs that everybody should subscribe to. He explains things with a thoroughness and understanding that we all should strive for. I caught up with Nicolas to ask him some questions about the future of the web, his life, and if he had any advice for others.
*Chris: I hereby title you: Dr. Pseudo Element. You've clearly done a lot of experimentation in that area and put together some great demos. What do you think the role of pseudo elements is in modern, production web work? Do they have a bright future?
Nicolas: With wider browser support for pseudo-elements than for many CSS3 properties/values/functions I can't see any reason not to take advantage of them, where appropriate. In addition to their basic use with generated content, there are several pseudo-element-based hacks that offer some excellent and flexible ways to progressively enhance web sites without the need for presentational HTML or images. When combined with CSS3, they offer even more possibilities.
Most people already use pseudo-elements in modern, production web work. Injecting generated content, whether it's text or an image, is their basic purpose. The most widespread pseudo-element hack has to be the 'clearfix' hack. More recently, some of the newer pseudo-element hacks that I've been weaving into production work include cropping sprites without extra markup, creating paper corner-fold effects without images, applying drop-shadows without images, more accessible forms of image replacement, and 'protruding' background images.
I use hacks like these to let me do things that are currently beyond the explicitly built-in capabilities of web technologies. They help me to keep HTML semantic and lean. When something better comes along and is sufficiently supported, these hacks - like others before them - will simply be retired from my toolbox. It's hard to know how they will fit into front-end development in the future, but for now, I think they form the basis of some useful hacks. The fact that more people are starting to use them in experiments and visual effects suggests that there is increasing interest in what you can do with them and in the desire to reduce the amount of presentational HTML used in production work.
*Chris: Psuedo-elements are actually a part of CSS2, but you pointed out to me recently that the CSS3 spec has a whole section for them. It hasn't been updated since 2003 and none of what is described there is implemented by any browser. However, it's got some really interesting stuff in it. Things like multiple/chained pseudo elements and things like :outside which could put content outside the pseudo elements superior. These kind of things would take this already powerful idea and make it far more powerful. Why do you think it's been ignored? Do you think it's potentially problematic?
The features of the CSS3 Generated and Replaced Content Module might be a 'nice to have' - we could create some crazy experiments - but it's always possible that most of it won't be implemented at all. Other parts of CSS3 are, in my opinion, more useful and urgent. A proper CSS grid or layout module being right up there. We're still using floats and other hacks to produce simple web layouts. This recent proposal looks quite interesting - http://www.interoperabilitybridges.com/css3-grid-align/. There are lots of smart people working on the CSS specs and on the browsers; these things can't be easy. But it has been a long time!
I'm also curious about your experience while developing the new CSS Tricks site. You've used plenty of experimental CSS on it but what things did you still find yourself wishing for?
Chris: Certainly a better layout system would have been nice. I'm still making use of floats just because it's the most cross browser compatible CSS-based layout technique. One thing that comes to mind is the sliding main navigation I'm using. I played around with a variety of ways to do that, one of which being the flexible box model technique that is started to get some support. On a site like this and for a little flourish like this, I would have had no problem using a progressive technique like that. However, even in browsers that support it, animating it was choppy and crappy. I definitely found myself wishing that some of this cutting edge CSS stuff was implemented more soundly. It was also a bummer to find little cross browser disappointments, like Opera supports transitions with -o-transition, but doesn't support background-position transitions. So just because a browser "supports" a certain property, doesn't mean it's supported in the same way in other browsers.
*Chris: I recently ran a poll about college degrees and their relationship to people current jobs. Turns out most people's at least tangentially related to their jobs as web workers. I see you have a masters in Social Anthropology. Would you say that's at least tangentially related to your current job or would that be a stretch?
Nicolas: For me, it’s definitely related. What I do now feels like a seemless continuation of what I was doing when I was studying anthropology in an academic setting. I still research, sketch, try to identify and challenge assumptions, learn from others, work with others, create things...and often feel like I know nothing! As a way of thinking, there are more similarities than differences.
You find a lot of web workers who write about the connections between their jobs and martial arts, or music, or gardening, or cooking. When you enjoy things, and perform them regularly, you see the similarities between them. There isn’t anything I do that I don’t see as related to, and benefiting from, what I learnt from studying anthropology.
As a discipline, all aspects of the internet are the subject of anthropological enquiry. The world of “user research” and anthropology are fundamentally linked and many anthropological methods have also been adapted in different ways to help with UX work and product design. There is research being done by Google and Facebook (among others) that is the domain of anthropology and both companies employ anthropologists as a result. It’s an incredibly versatile discipline and you’ll find anthropologists working in practically every setting imaginable.
*Chris: What would you tell a college kid today who is thinking about getting into the web as a career?
Nicolas: I'm not sure what a web career looks like; I don't think I have one! But something I see repeated over and over again - and that I agree with - is that you should really enjoy what you do. Build things for fun, hack out your ideas, try new things, release your stuff, and engage with others in the community. Ideally, what you describe as "work" to your friends and family should feel more like "play" to you. The rest will follow; no need to rush it.