Twenty-four hours ago I posted a mildly ranty tweet (I know, I can't believe it either) about the current proliferation of techniques/tools for modern web development. Here's the tweet in question.
This was a frustrated summary of something I've been feeling for quite a while now. I'm a front-end web developer of a fair few years now and I feel like the last couple of years have really seen the rise of a kind of web development I'm not sure is actually good for the web. I'd like to expand a little here on why that is.
The rise of the DevOps movement of late has been a large factor in this process. There's a lengthy article doing the rounds from Smashing Magazine describing a semi-mythical superdeveloper who can deploy code anywhere, test anything, automate package management and compile code assets like her life depended on it. Nowhere in this fantasy does it talk about the quality of the user experience of this imaginary product; the metrics of its user engagement; the visual language of its design (except to say that they're all meaningless if the performance is poor).
Performance is of course a hugely important measure in this age of the mobile web, but performance for performance's sake trivialises what we do. A relentless focus on how to scrape every last frame from Chrome's rendering engine seems a bit redundant when the page it's loading is a half-baked rendition of something a smarter agency did nine months previously. Why render a beautiful graph of pageload speeds if nobody's converting on your product signup page?
These things aren't either/or, sure. You can optimise and tool up and still deliver a brilliant, beautiful product. But so many of the discussions and articles I see around the web lately focus on tools or technique alone: here's sixteen amazing things you can do with FlexBox. This is the cool new JavaScript package manager you should all be adapting your code to fit. Check out the new Chrome nightly where the devtools will show you the line of code you're about to write before you write it. I worry that from the outside in, we look like magpies constantly alighting on the next shiny thing, losing sight of the bigger picture.
I want to see more people talking and writing about incredible digital experiences they've had. How can we build products and sites more like them? How can we achieve a sense of playfulness and interaction that's so uniquely native to the web? What kind of interface can we create to best reflect what our tool aims to solve?
The web browser is a bit like a car built to travel on the road that is the web. Each website and app we make is a destination on that road. Let's stop tuning up the engine and start driving somewhere.