We did a soft launch with some information of a concept that Adrian Ludwig and some of the other brain-trust folks at Adobe came up with recently called Contextual Applications. I have absolutely fallen in love with this term (and I had nothing to do with thinking of it). In a lot of ways I think this is RIA 2.0. One of the problems with RIA was that it had a grossly vague definition. It was kind of a Frankenstein combination of a desktop-like user experience, better design, real-time communication, rich media, and Web 2.0 ideals. In the end, RIA encompassed almost everything; Ajax, Flash, Silverlight, Adobe AIR, WPF, etc. That’s not a bad thing but it became hard to distinguish the value of RIAs because everyone could claim they were doing “RIA stuff”. The important thing is that we made a lot of progress with RIA and changed how people thought about software development.
Defining Contextual Applications
Contextual applications are a lot more concrete and have a better value proposition for both end-user and developer. It isn’t defined by a particular technology but instead a particular type of experience. So what is it? The idea is fairly simple. You’ve got a core set of data and a core experience that you have to deliver. But in today’s web there are multiple “touch points” out there. What about mobile? The desktop? A browser experience? A widget? An experience specific for social networking? Maybe a television? Users expect to have their content everywhere, on demand, regardless of how they’re connecting to it. The user experience and design challenge is creating a unified brand and experience that leverages the same content and is tailored to the specific technology limitations of a particular “touch point”. Solving that challenge will give you a contextual application. An application that moves with the user across a number of screens/devices while maintaining content and a user experience that is consistent but unique to each device.
Finetune: The Ultimate Contextual Application
The Contextual applications site has a number of examples but my favorite is definitely Finetune. They are a great example of one of the earliest contextual applications. They started out with a web-based application. Then, with the benefits of the desktop they created an AIR application that had native windows and used the file-system capabilities of AIR to tie into the iTunes library and pull artists that were interesting to the user; using the technological features of the underlying touch point to customize the experience. Then they were interested in deploying a version of the Wii so they created a Wii-specific browser application that ran on the Flash Player in the Wii and maintained the Finetune branding. Then of course mobile was a big demand. So they built to mobile applications; a Flash Lite app that reused a lot of code and still maintained the Finetune experience but customized for the small screen. They also built an iPhone app with touch support that captured the experience of the iPhone while maintaining that core Finetune interface.
To me, the Flash Platform stands alone at being able to let developers and designers easily deploy contextual applications. With so many different operating systems and screens supported, it becomes easy to reuse the tools and workflows to create applications that are tailored for those screens while maintaing a sense of continuity. And think about the server infrastructure. Are you using FMS to stream Flash Video content? That content will be supported everywhere the Flash Player is so you can quickly jump between screens and be sure that your base content, the most important thing, is completely in tact. It lets you design around your content and maintain that emotional branded connection with your users.
Ultimately it is about productivity. The number of touch points is only increasing and to be able to deploy on as many of them as possible you need to be able to reuse code, design assets, and workflows as quickly as possible. The Flash Platform gives you the broadest reach with a large community of designers and developers who are skilled with the tools. Ultimately that means you’ll be able to create contextual applications quickly and reach your users wherever they are. That’s why I’m so excited about this concept: ultimately it gives the user more control.