The Single-Site Mashup
Nick Carr references an essay at The Register that urges the web development community to get over the fancy interfaces associated with Web 2.0, and get on to developing the distributed computing future.
While I appreciate the wonderful turn of phrase, “Web 2.0 marks the dictatorship of the presentation layer,” I disagree strongly with the contention, implied by statements such as “away from Ajax towards something grounded in decent engineering,” that Ajax-style development isn’t significant. The truth is that the future of the distributed-computing web (aka the unfolded web) may well be developed as an extraction from the Ajax-based interface distractions of today. The key to this progress is the growing division between the back-end and front-end necessitated by people’s desire for today’s dynamic interfaces.
Rather than viewing the focus on interfaces as a misstep in the evolution of software, I instead view it as a saddle point. Sure we can spend some time just developing new interfaces without advancing the overall state of software engineering, but I think it would be short-sighted analysis to see that as a stable situation. Instead, consider that static websites of the past were, in fact, mashups of various pieces of data available on the server. The data was mashed up in a static way, determined solely by the administrator of the website, thus presenting the user with a coupling between interface and data. In fact, the user, seeing only the final product, could only infer that the data behind the website was just as complex as that final, viewable product. But while the complex whole may have hidden the divisions between the component pieces, the pieces were there, non-mashed, behind the scenes. Today, people are building Ajax front-ends that are capable of requesting those individual pieces of data as discrete transactions. No more does HTTP-GET translate into MASH-DATA on the server.
The drive to give users granular control over the way data is presented has pushed the development of REST and WS-* in a very productive way. While today’s technologies may not be the identical foundations for tomorrow’s world of decentralization, the move to view a website as a collection of resources, spurred by the desire for dynamic interfaces, is nothing but a positive revolution in design strategy. Once this mindset fully takes over, a shift to alternative methods for serving individual resources will not require the type of philosophical crusade associated with Web 2.0.
Fancy interfaces are not a bad thing, they are simply the low hanging fruit available on the march towards taking advantage of distributed data and computation.