Frontend expert Paul Irish is on a mission to make the web as compelling as possible. Martin Cooper talks to Google’s Chrome developer advocate about maintaining motivation, the interaction paradigm and the shape of the web industry
This article first appeared in issue 240 of .net magazine – the world's best-selling magazine for web designers and developers.
Use a word too much and it begins to lose its impact. Take ‘awesome’, for example. According to our delightfully weighty and utterly pre-internet Encarta Dictionary, it’s an adjective. It means imposing and frightening; indeed “so impressive or overwhelming as to inspire a strong feeling of admiration or fear”. Nowadays of course, it’s a synonym for excellent. In this form it’s deployed by us web sorts like confetti at a wedding. Everything, from pixels to our lunchtime panini, is awesome. We even say ‘awesome’ when we mean ‘yes’, ‘thank you’ and ‘goodbye’. Awesome is a Swiss Army knife among words.
But when Paul Irish uses the word ‘awesome’, he really means it.
We find him sitting on a red sofa, opposite a red chair and surrounded by garish furnishings. As we sip our coffee, he introduces himself. “I’m a frontend developer,” he begins. “I’m a developer advocate. I’m a proponent of the web. I care a lot about making sure developers know what they need to know to make awesome websites.” There it is, pronounced syllable by syllable, delivered like a slow motion punch. Meant and intended.
There’s a strong chance that – if you’ve not heard of Irish himself – you’ll have heard of one his many projects. Looking skyward as if reading from a list on the ceiling he runs through them. “There’s HTML5 Boilerplate, Modernizr, HTML5 Please, CSS Please for your vendor prefixes and syntax … I don’t know if I can explain the motivation,” he confesses. “It’s just whatever I’ve devoted myself to for a while now, and it’s what I want to see happen. It’s hard though. Hard to scale across all of the projects I really care about.”
As if somehow dissatisfied with his take on what motivates him, Irish immediately darts back to the subject. “It hurts a lot when you see a fantastic site that could have been a good amount better had they done just one thing that’s best practice but they didn’t know about it. I feel an obligation … there’s no excuse for why it’s not as awesome as it could be.”
Happy now with his explanation, he moves on. “To make it [projects] happen there’s lots of email. I use a tool called WorkFlowy. I use it to organise all my thoughts and to-dos. I use Etherpad a whole lot, which is fantastic for multi-user editing, and all of Google Docs. It’s great for multi-user editing. We’ll have five or 10 people in a document at once.”
So where did it all start? “A long time ago I made the website for my driving school,” Irish explains. In an act of apparent philanthropy he only charged the instructor what his lessons cost. “That worked out nicely. I was making websites back when I was fifteen, sixteen and just kind of continued on from then. I worked first at an agency where I ended up running a team of frontend developers, making web applications and websites.”
As we meander through Irish’s past, we find ourselves discussing why code and coding conjure such fascination for him. “For me, I have in my mind an idea of what the end product will look like and how it feels, and I know generally how to get there,” he says. “These days it’s a matter of, ‘Can I write and develop something that is readable and maintainable by other people?’ I do succumb to adding in cute and clever tricks.”
Continuing to mine Irish’s past, we delve further back into his academic life. “I went to university in mathematics,” he explains with a wave of his hand. “I identified my only options were to go and be a cryptographer and work for the NSA or teach math. That’s probably not true, but it’s what I thought so I changed over to computer science. At some point that got to be really hard and I had a very bad professor teaching algorithms. So, unfortunately, I left computer science and ended up with a degree in technical communication, which felt pretty good at the time but feels even better now!” At this point he breaks into a broad smile and laughs. “It’s what I do.”
After graduation, Irish returned to making websites. “I’d become very involved in the jQuery community,” he continues. “I hung out in the IRC channel for jQuery all the time. Every single day I was in there answering questions for three years. It’s a very addictive thing, and gratifying, helping people. Eventually I joined the jQuery team and got involved as the lead developer of Modernizr – and around about then Google rang me up. They were like ‘these things you’re doing. They’re all good. Do you want to come and work for us and do the same sort of stuff?’” He didn’t need long to think about his answer.
With the past explored, we turn our attention to the here and now, and what Irish views as the biggest challenges facing today’s web developers. “There are so many hard problems in front of us right now. The rise in mobile introduces a lot of complexity to what we’re doing, and it opens up a lot of questions about what’s the best way to do things.” Looking decidedly stern, he digs deeper into these vexatious issues. “How do we share code across desktop and mobile? At what point do we decide these things should take separate paths?”
Gathering pace, Irish turns his focus to laptops with touchscreens – devices that also have a trackpad. “Right now it’s unclear about how we should build experience for these devices” is his initial assessment. Gesticulating and waving his hands across imaginary screens, he pursues the conundrum further. “For what action is it appropriate for the user to be touching their screen and at what point do we expect the user to be using their track pad? It’s a completely new interaction paradigm that we haven’t really explored before – Modernizr doesn’t know how to detect these devices at all.”
The forecast isn’t entirely gloomy, though. Irish seems confident that the web community will crack the problem. He explains he’s seen some experiments where the user holds a trackpad or mouse to pan around an interface, touching the screen to manipulate and control zoom effects. He also sees gaming as one of the main potential beneficiaries of touch, where a classic keyboard and onscreen controls could be combined to have a dramatic and immersive effect. Moving to a conclusion, Irish surmises that “there are some subsets of interaction where it makes perfect sense to touch the screen but it’s going to be an infrequent thing”.
He isn’t done yet. He pulls out his mobile phone and begins flipping and rotating it like a mouse controlling something that is floating in three-dimensional space. Something only he can see. “I’ve been wondering for some time now if there’s some way of using a phone to augment the desktop development experience.” He continues to spin and rotate his mobile and asks: “Are there any actions where it would make sense for the gyroscope sensors or multi-touch [in your phone to] affect what you see in your code or your browser? … [You could] expand and collapse code blocks with a gesture. I think we’re entering into a lot of really interesting possibilities when we talk about connecting our devices.”
Understandably, HTML5 Boilerplate crops up many times as Irish chats his way through his take on today’s internet. “You know, the original name was Pro Frontend Template,” he smiles, recounting how the name came about. “That’s very accurate. That’s more of an accurate name than Boilerplate [but] I was driving my car to my parents’ place and the name just popped into my head. It’s got enough characteristics that it makes for a good brand name. If you look up Boilerplate on Wikipedia, the definition is ‘this is the minimum necessary code to do X, Y and Z’. HTML5 Boilerplate isn’t the absolute minimum – there’s plenty you could take away – so the name isn’t perfect. Modernizr isn’t a perfect name either. It doesn’t modernise anything; it’s more of a ‘detectoriser’.”
Discount its slightly flawed moniker, though, and Irish is adamant Boilerplate is the best place to start if you’re keen to learn HTML. “There’s a lot of stuff baked into it, like HTML Shiv that takes care of all browser bugs and quirks that all the developers who have gone this way before you have run into.” He explains that every line of code is documented in great depth, with notes covering the technique in play. “You might not know everything that’s going on inside [the code], but the expectation is you’re going to learn.”
This leads to recall an eruption of sentiment on Twitter some time ago. On one side of the debate, sharp-elbowed developers denounced libraries as cheating. On the other, fans of libraries felt they were a godsend. “There are certain APIs that have been introduced to, say, jQuery that can lead you to make poor decisions,” Irish admits, choosing his words carefully.
Climbing down off the fence, Irish eventually offers his take: “My perspective is that well defined, accepted, best practice libraries have enormous benefit and you should be using them.”
Decision made, the discussion shifts again on to tools, and Irish’s well documented opinion: that great tools make great developers better. “This is one of the things I really noticed when I started at Google,” he says. “Fantastic developers have excellent tools surrounding their development work and their workflow, and they know how to use them exceedingly well. The other part of this is that frontend development has so many quirks and gotchas that you wind up with this massive database of trivia inside your head. Using something like a CSS preprocessor [lets you know which] vendor prefixes to use and how to build fallback scenarios. You take the simplified development route.”
Wrapping up, we wonder where Irish sits in the debate on proprietary verses standards; apps vs the web. “At the top of my Twitter bio I say: ‘I want the web to win’,” he reminds us. “There are a lot of challenges for the web, and people don’t take seriously the urgency with which we need to proceed. The mobile experience could match, and [...] totally exceed what a native app can provide. In many cases, the native app is just showing a mobile website. [We] just need to deliver on the promise of the web. We need to be aggressive – you should want to delight your users.”
As we pack up, we jokingly propose that Irish must be a terrible perfectionist. “I’m not a perfectionist!” he retorts. “There are certain things that reach a threshold of quality for me and then I’m like: ‘Let’s get it out there’. I think that’s good because we have to move really fast. I can’t be a perfectionist and achieve the amount of things I want to achieve.”
Ribbing him further, he says he feels a sense of mission. “Yes,” Irish laughs heartily, before becoming serious. “I’m driven: there’s a lot to do to make the web as compelling as it could be. And I want to make that happen.”
Discover 65 amazing examples of HTML5 at our sister site, Creative Bloq.