Pretend for a moment that you’re working as a front-end developer.
(If you’re already a front-end developer, well, pretend you’re also wearing a pirate hat.)
— Ethan Marcotte, Responsive Web Design, page 17
If you have never heard of Responsive Web Design, I respectfully wonder how in the world you landed on this blog. In a nutshell, RWD has changed (and arguably, has changed single-handedly) how people create regular and mobile websites. Up to two or three years ago, building a website that worked on mobile devices necessarily involved serving a mobile-specific experience to those devices. More often than not, this included some form of multi-serving with the help of WURFL or some other server-side device detection. Today, if your targets are smartphones, RWD has changed that to a large extent.
Let me describe what RWD is briefly. RWD is the smart use of media queries and flexible grids to have a website automatically re-format itself on smaller screens, i.e. tablets and smartphones. The picture below will trigger the intuition for the intuitive reader (others can read the excellent “Implementing Responsive Design”; by Tim Kadlec).
Thanks to RWD, things have somewhat changed. Nowadays, the majority of the people who want to access the web on the go are endowed with large-screen smartphones. This has made RWD a relatively inexpensive way to create sites that adapt themselves to smartphones and developers have rushed to it. To summarize, RWD fixes the problem of how to serve mobile devices for a lot of people.
Now that you have heard of RWD, you are probably wondering what the WURFL team’s stance is in regards to RWD. As I just wrote, RWD is cheap and it does the job in most cases. Period. Straight and easy.
Follow up question: Does this mean that you don’t need WURFL to create mobile sites anymore? The answer to this is not so easy. It depends. It depends on how well you want to support the long tails of mobile devices out there and how much you want to control and optimize the user experience of your mobile users, including those with smartphones and tablets.
The question then becomes: “How do I decide if I need WURFL or not?”.
There are a few heuristics. You should start by asking yourself a few questions. “Is my website still too bloated for mobile devices?”, “Is ‘it sort of works’ good enough for my company or do we need to do better than that?” or even “If a user of my site complains about their mobile experience, am I comfortable telling them that it is their problem and not ours?”. If the answers to those questions is that you can live (and make your mobile users live) with a sub-optimal mobile user experience, then you probably don’t need WURFL. On the other hand, if you do want more control over your web offering, then you need a tool to control the mobile UX at levels that RWD can hardly provide. WURFL is likely to be part of the solution in that case.
Follow up question: Does this mean that one needs to choose between either RWD or WURFL? Answer, not at all! It is totally possible to combine an RWD approach with server-side components and get the best of both worlds. The acronym for this is RESS, which stands for REsponsive web design and Server-Side components (not exactly the most straightforward acronym, but hey, I am in no position to point fingers here. I am still carrying the responsibility for inventing W.U.R.FL., which is considered hard to pronounce even in Poland). The ScientiaMobile team went one step further and adopted RESS for our new website at http://www.scientiamobile.com. Our new site is RWD, with server-side optimizations made possible by our own WURFL Cloud (our dogfood actually tastes good). If you don’t believe us, visit our site with an older device and you will see what we mean (hint: capability page is multiserved, certain fringes are not provided to mobile devices and navigation menu is multiserved to older less capable devices that cannot handle DOM manipulations and touch events satisfactorily).
Follow up question: if this approach is so powerful, why hasn’t the industry created products and tools to leverage RESS in easy ways? For an easier solution to the problem, check out https://imageengine.io/.