responsive woos / head first and eyes closed

Responsive is everywhere. Let's face it, It's all we write about these days. Every other blog post either touches on some sort of responsive issue, reiterates a specific responsive design process or introduces a cutting edge responsive pattern. It's probably the biggest buzz the web development community has ever known, but when looking at the amount of discussion it generates one may start to wonder whether "responsive" is something we can actually manage/control as an industry.

responsive: a worthwhile ideal

Content duplication sucks. Having to support different applications simply to show your content on different platforms and resolutions is a nightmare for any content manager. It not only poses problems when your content needs to be updated, but also when new functionality is added to your application (which then needs to be ported to all the different apps). So obviously people were looking at the web for a solution, sadly there was little to nothing there.

The web reacted and before we could blink responsive (or adaptive) took off. The concept wasn't entirely new (fluid designs had been around for ages), but coupled with media queries the sky was the limit. Suddenly we had something that could compete with native apps, even if browsers weren't quite ready to handle such a big responsibility (mostly performance-wise). Everyone was excited, enthusiasm skyrocketed and we were all doing little victory dances because responsive was to become the future of web design. As for the practical side of things, that would work itself out, right?

In principle the web is 100% suited for responsive design. The html and content doesn't need to change between different responsive variants, the only things that change are design (css) and behavior (javascript). It's a model we've been striving for for years, so far so good.

responsive: (almost) everybody's fucked

The first examples of responsive web design were pretty basic. Some columns that turned into rows, with a little tailored css styling for added affect. Soon enough we started to realize that this was hardly a proper translation of context-based design, so a few smart minds started to ponder on how far we could take responsive design. It turns out that even our wildest imagination wasn't rich enough to encompass the reach of responsive. Browsers, resolutions, touch devices, OSes ... even a user's natural context or whim of the moment could be a factor in tailoring an interface. Suddenly everything became variable.

Information architects started to panic as concept designers were coming up with all kinds of crazy ideas. Not only was the complexity of a single interface growing exponentially, the work to plot it all out in decent quality wireframes was rising with it. Graphical designers were up in arms when they were told they had to design the whole lot and all of a sudden the idea of component-based work became a lot more appealing. Not a bad thing really, but often a little too abstract to serve as input for front-end developers, let alone clients. On top of that, not having to work out all the details leaves a lot of unexplored territory that has a tendency to pop up at a later stage in the project.

Front-end developers were panicking too, because browser support for responsive models (especially the older browsers) was subpar, sometimes even non-existent. Quickfixes (like respond.js and similar solutions) proved useful to a certain degree, but they also proved fickle and prone to errors. The lack of bulletproof descriptions of the responsive behavior also left plenty of blind spots that needed to be solved on the fly when they surfaced eventually, leading once again to subpar solutions and less than desirable hacks. Then there are those who needed to test the front-end templates for bugs, who were getting swamped in a gazillion different browsers and OSes, all with their own set of unique quirks and oddities.

I think the only party not affected by the responsive buzz is back-end development. Apart from maybe a few specific ajax calls all they have to do is implement the front-end code as instructed and rely on the front-end people to do a decent job.

the comet and planet responsive

While everybody was panicking internally the buzz around responsive remained strong and healthy. Not at all surprising as responsive is a very easy sell to clients (conceptually at least, explaining the price tag can be a bit trickier), so bloggers and public speakers kept on sharing their experiences with others, in the hope that it would help people facing the same difficulties. Every little bit of progress was celebrated as it gave us a feeling we were "getting there.

All this enthusiasm detracted from the harsh reality that we, as a web community, are struggling very hard to deal with the very ideal we are selling to our clients. Instead of properly thinking things through, doing some preliminary tests and figuring out how to go about the whole responsive process first, we hitched a ride with a comet and are now heading straight for planet responsive. I think by now we have well entered that planet's atmosphere and we're incinerating at an alarming rate, ditching rubble left and right, propelled solemnly on a momentum of blind enthusiasm and wishful thinking.

There is no doubt in my mind that a strong core will survive and that it will reach its goal eventually, but the cost of this responsive journey is still very unclear. For an industry that failed to bring its entire crew up to speed on the simple basics of front-end development (we tried for ten long years, but with very little success), how are we going to deal with the added complexities of responsive web design?

responsive: half-arsed solutions

Looking closer at some of the recent trends in the web development sphere, you can't help but notice that many of them are cheap hacks to help deal with the whole responsive thing. Suddenly bloggers are switching to single-column designs. Focus-first and removing the cruft ... right? Is there anyone who really believes that? Designing and wireframing in the browser? Sure, a valid alternative for maybe 10 or 15 people in our business who are so fucking genius that they can do all these things on a proper quality level, but a recipe for disaster when the rest of us are going to have a go at it.

Hell, even trends like OOCSS (throw away your best practices in order to make css development easier) seem to suggest that we can't handle the workload, complexity and stress that responsive design puts on our shoulders. We're removing the cruft alright, but at the same time we're also neglecting a whole lot of quality standards we worked so hard to establish. That these standards are lacking is becoming painfully clear when you actually start reading one of the many "this is how we did responsive" articles. Most of them fail to offer any answers, they only manage to share experiences.

Even the whole charade around responsive images illustrates the lack of responsibility we're dealing with here. A few half-arsed propositions (yeah sure, let's stuff it away in html and let's pretend it belongs there) were being pushed forward so we could finally ditch the problem, focusing our attention on more pressing matters.

conclusion

The saddest thing is that four years from now, when clients demand a new site, we'll be throwing away all our work once more, going for a fresh start rather than expanding the framework we should be building today. As an industry we keep failing to build durable, extendable and robust websites that can serve as a basis for later developments. I find this an incredibly letdown.

It's not that I believe responsive design is a bad thing. I actually think it's the only way forward, I'm just disappointed by the hype and the inability to approach it responsibly. Quality-wise our entire industry lies in shambles right now, just as it did 10 years ago. People are struggling (and failing) to understand the far reaches of responsive design, people are fighting with the extra workload and all the while quality is suffering. We're too far in to turn back but there is no visible trace of a stable and best-practice fueled future. We can only push forward and cross our fingers in the hope that everything will turn out fine, though it would be a good start if we could admit to ourselves that we're in way too deep. It's the only way to really pinpoint our weaknesses and to improve ourself as a community and to keep our credibility as an industry.