If you’re playing a round of Web 2.0 Wankword bingo I guarantee that by the end of this post you’ll have a winning scorecard. All jokes aside, this second post in my RIA Motivator series aims to look at a few more of the main drivers (motivators) behind the recent popularity of rich internet applications (RIA).
Last week we looked at the UX Motivator, and this week we’ll be focusing on how existing (and new) application architectures, combined with the emergence of Web 2.0 flavoured applications, are directly playing a part in the evolution of the web application ecosystem.
In the following weeks i’ll be looking at some of the other factors i’ve identified as major contributors to the uptake of rich internet applications;
- Corporate Champions
- Brand Awareness/Enhancement
- Financial Benefits
OK, so i’m not about to wade into the whole ‘what is Web 2.0′debate. If you’re a little late to the party, and are still playing catching up, I suggest you start by taking a squizz (look) over Wikipedia’s definition. In a nutshell, Web 2.0 can be distilled down to a few key points/features;
- The “Network as platform” paradigm – i.e. delivering (and allowing users to use) applications entirely through a browser (mind you, AIR kind of skews this point a bit).
- Users owning the data on a site and exercising control over that data.
- An architecture of participation that encourages users to add value to the application as they use it.
- Applications that have a richer, more interactive, and user-friendly interface – (read: UX Friendly).
So from the whole Web 2.0 concept we can see there are a couple of touch-points that directly relate to rich internet applications. Primarily the richer, more interactive, and user-friendly applications. Combined with the whole Network as platform paradigm. Both of which are core benefits of RIAs.
In addition to this, if you take a quick look over at Mike Arrington’s Techcrunch you’ll see how every day he critiques and profiles scores of new (and reborn) Internet products and companies. Hundreds of which fall squarely within the Web 2.0 arena. Not surprisingly, a large percentage of the UI’s of these applications have been developed using RIA technologies such as AJAX or Flash (this includes Flex). Further consolidating that User Experience (UX) is a major motivator in this space.
So now we can see the connection between Web 2.0 and RIAs, how do service-oriented architectures (SOA) and service-oriented clients (SOC) fit into the scheme of things? Once again, i’m not going to wax lyrical giving you a definition of SOA when Wikipedia already has a great definition that covers the basics. Fundamentally though, SOA is nothing more than an (architectural) model for taking complex legacy (or new) application architectures and simplifying/streamlining them into ‘loosely-coupled’, discrete pieces (services) that can be presented for consumption by either a client (i.e. a SOC), or other agent. If we break SOA down further we can see that it consists of;
- Data Model(s)
- Services
- Messaging
- Persistence
- Cross Platform capabilities
- Clean Patterns
So whilst SOAs are great news for the back-end, what about the front-end? For the most part, the front-end still consists of a Client/Presentation-tier model that’s comprised of browsers, applets, and fat clients. Wouldn’t it be great if we could take the (above) benefits of SOA and reproduce them in a portable, lightweight, ubiquitous service-oriented client (SOC)? Well i’ll let you in on a little secret – it’s already been done – and it’s called Flash Player. Thats right, Flash Player is a great service-oriented client.
Up until now, it’s been way too easy (for the uneducated) to write Flash Player off as nothing more than a purveyor of skip-intro’s and animated eye-candy. After all, thats where its roots came from – right? Guilty as charged your honour. So with that in mind – it’s easy to understand why there’s always been such a misunderstanding about the power of Flash Player. But love them or hate them (i.e. eye-candy & animations), these are what kick-started Flash Player’s global career. Funnily enough, it’s this rich media background thats given Flash Player a significant head start in the services-oriented client space. So whilst Flash Player can still handle motion graphics, audio, and full-screen video, behind the scenes, it has evolved into a robust, secure, ubiquitous cross-platform runtime. Containing 2 x virtual machines (VMs) and an ECMA-Complaint scripting language capable of handling a multitude of SOA based services.
Lets have a closer look at some of the main benefits of the Adobe service-oriented client (aka Flash Player);
- Ubiquitous – Installed on 98% of web enabled PCs.
- Lightweight – Weighing in at a featherweight (1884k) Flash Player is a true lightweight client when compared to the Java VM (7100k) or Microsoft SilverLight (~4200k).
- Cross Platform – Develop your applications once and Flash Player presents them consistently across browsers and across OS’s (Mac, PC and Linux)
- Persistence – Flash Player is essentially a state-machine that has the ability to maintain persistence on the client.
- Messaging – when combined with LiveCycle Data Services, Flash Player is capable of real-time pub/sub (as well push) messaging.
- Data Model – Leveraging Flash Player’s ability to maintain state, data models can be stored (and manipulated) on the client before being sent back to the server.
- Binary Socket Support – To leverage interoperability with existing custom protocols, and increase data transfer performance.
- Robust Security – Flash Player enforces security sandboxes for applications, content, data, and URLs to safeguard sensitive data.
- ActionScript 3.0 – A powerful ECMAScript complaint object-oriented programming language.
- Services – The crowning glory of Flash Player (in relation to SOC’s) is it’s ability to plug directly into a variety of SOA-services – whether they be HTTPServices, WebServices or Remoting (RPC) Services.
At this point, I think it’s about time I fess’ed up. I’ve been using Flash since before it was born in 1996 (as Future Splash). I’ve also been evangelising the benefits of the Player, the platform and rich internet applications for just as many years (way before Web 2.0 or SOCs were around). I now also work for Adobe. So one could argue that I have a slightly biased view on this particular flavour of SOC – and you’d be right. The reality is though, the only thing that i’ve seen that even comes remotely close to Flash Player as a true services-oriented client is JavaFX. Unfortunately, JavaFX is very much in its infancy (it was only born on May 8th this year!), and is not what you’d really call lightweight.
So as you can see, the concepts of Web 2.0, SOA, and SOC are all very much related to rich internet applications. Based on the touch-points outlined above it’s inevitable that they should play a role in motivating organisations, and stake-holders, to take a closer look at their benefits of rich internet applications as a whole.