Thursday, July 2, 2009

The Rich, the Internet and the Application

Whilst researching this post I made a frightening discovery:- I didn't know how to define a Rich Internet Application (RIA). Now I'm pretty used to feeling stupid and confused. Confusion is pretty much the default state for scientists, programmers and anyone who's job it is to do, or work with, new things. Politicians often seem to be confused too, although I suspect that "I thought I could claim for that" type of confusion is a little different to "Why doesn't this work?". Just a hunch...

Now I'm guessing that a bunch of you are thinking, "Fran, you idiot! It's obvious what an RIA is! You are selling one for pity's sake!" And you'd be correct. Sometimes you just know. But let's examine some other cases and have a think.

The Rich

Let's look into the Rich experience. A natural place to start is with Microsoft's flagship technology for creating applications: WPF. Believe it or not, this isn't taken from CSI: Miami, but is a showcase of what can be done with WPF (although you'll be bombarded by cool animations and music just like in CSI: Miami). Although these are all desktop applications, you'll notice that several of them source their content from the internet. That's fine, Outlook gets most of its content from the Internet but nobody would call it a RIA.

Twitter clients, which are obviously sourced from the Internet, present some great Rich experiences. TweetDeck is one of the more popular clients and runs using Adobe-Air. Adobe Air and Silverlight often get lumped together as providing the similar, competing features. Whereas Silverlight is considered 100% internet, Adobe Air appears to be taken seriously on the Desktop. I haven't heard reference to TweetDeck as an RIA at all. Another interesting Twitter client is Blu. Blu has impressive visuals and is built using WPF. Blu is installed via ClickOnce. Although Blu obviously isn't an RIA, the install mechanism makes for a painless experience which we have come to associate with Internet apps ie., no install.

Defining a Rich experience is easy. Defining a Rich Internet one is slightly blurred.

The Internet

The Internet bit of the discussion should be easy. Surely if it's in a browser then it's Internet. Maybe. YouTube is definitely and Internet application. But my phone has a YouTube client on it since it doesn't run Flash. Now everybody knows that YouTube is an Internet application and just because some people chose to run it in a client doesn't change that. So maybe the definition goes a little beyond where the client is installed.

Balsamiq mockups is an excellent UI mockup application. I think that everyone's gut reaction would be to call this a bonafide, as sure as Bing Is Not Google, 100%, Rich Internet Application. It's built using Adobe Air and can be deployed to a Web Server, run from the website and bought as a desktop app. So are we back to square one?

Silverlight 3 will offer developers the opportunity to run their applications outside of the browser. So does this make them desktop applications? I guess so. Rich Internet Application - Internet = Rich Application. Right?

The Application

I'm pretty sure we can all agree on what an application is. Word is an Application. Google Docs is an application. They are both completely different and yet have an incredibly large overlap. The delivery mechanism is completely different. The licensing couldn't be more disparate. But they both create documents. Easy. Google Docs is an RIA. You can save output to the desktop but it's definitely an RIA. No arguments.

Conclusions

So what have we learnt? I'm not exactly sure. I think that what we have seen is that there is a significant blurring between the differences between an Internet application and a desktop application. They can share delivery mechanisms (Internet installs from ClickOnce), technology (Adobe Air) or even frameworks (Silverlight is a subset of WPF).

The most important factor in deciding on an application is its usefulness to you. If it suits the customers requirements and budget then it will be used.

Lets stop worrying about where the application is running. In 2009 it's just an implementation detail.

So to conclude: I still don't know what RIA is. I told you I was an idiot.

No comments:

Post a Comment