I spend a lot of time ‘trawling’ the web, often just getting swept up by the tide and coasting from information island to information island. Yep its a time sink, has a hugely negative impact on how much sleep I get and isn’t terribly efficient. The operant conditioning of link surfing keeps me going long after I should, but the intermittent payoffs are worth it. Tonight I ended up on a Clay Shirky article from 2004 by a circuitous path (Science Channel program on TV mentioned Metcalfe’s Law –> Google –> Wikipedia –> Wikipedia references –> A Group Is Its Own Worst Enemy). Clay’s article covers a lot of ground and is a killer read, but a couple of things popped out at me within the context of RIAs that are worth sharing.
Ubiquity is crucial. Clay is obviously talking about the impact of the web’s ubiquity, but it nicely ties into one of the “talking points” every Flash guy has carried around in his bag for the better part of a decade — access is everything. Asking customers to ‘meet you there’ just doesn’t cut it. In fact it’s a big enough barrier to ensure you won’t succeed most of the time. So, when you see Microsoft make claims about imminent ubiquity, Sun talk about tapping into Java’s ubiquity, or Adobe polish its already ubiquitous armor it’s because it’s that critical. So critical in fact that it’s something no one (developers or consumers) should have to think about.
Now in my book ubiquity is a bit passÃ© and it’s definitely not something we can expect to remain exclusive. Today’s ubiquitous client needs to be updatable, persistent (hello AIR) and increasingly capable. In fact, quickly delivering content to the ubiquitous platform is the next evolutionary step, and damn if Shirky wasn’t saying the same thing back in ’04 (shakes fist at Shirky for being so insightful).
All of the would be RIA vendors are chasing a compelling top to bottom stack that includes rich developer tooling (Eclipse, NetBeans, VisualStudio, Blend, Flash, Flex, Thermo). In many ways RAD and integration are already expected and we’ll continue to see workflow and feature improvements as a matter of course. This begs the question of what the next evolutionary steps are? I don’t pretend to be Clay Shirky, but I’d bet on at least two things:
- Simplicity is the new “ubiquity”.
- Leveraging platforms from outside the traditional “stack” will be critical.
The goal of all software should be to make complex things simple — that’s where the real value for the consumer / group is and “interesting new kinds of things happen” as Shirky notes. Simple tools yield tremendous benefits — it’s a system we humans have been scaling for untold years with each generation standing on the back of the previous (one could argue the pencil — a simple tool — ultimately paved the way for our greatest technical achievements).
It’s the second idea that’s actually more interesting. Leveraging the platform from outside of the traditional stack is what I call the Photoshop strategy. What happens when Photoshop is network aware and can deploy not just static content, but full blown RIA apps? Because of it’s network awareness (feeds / metadata) the app could intelligently suggest or automatically adjust both the content and the deployed RIA (ok maybe we’re still a ways away from this, but it seems plausible in the very near future). Just the fact that Photoshop, land of photographers and decidedly not developers, could create a sophisticated RIA (read not static) deployable to a ubiquitous client would be an evolutionary advancement (a group like photographers has to take the client, the tooling and the development for granted). When you see Adobe aggressively building out Web services to compliment the client and content creation tools (they’re building an open system) the picture gets immediately clearer. New, interesting things are indeed happening.