RIA can change context.

Context is when you look at a situation from a perspective and generally fall into a predefined segment. In that, if I look at say Microsoft Word, my context of use is to read a document - yet others may use word to construct a document. So different roles play different parts, thus the segments of the technology is defined by context.

A RIA runtime, is one of these products that can reshape and redefine context under the guise of being passive while unbeknown to others, it's quite aggressive in the way it hijacks segments of use.

A couple of years ago, I meet up with a fellow-RIA developer, who showed me approaches to using the runtime that I guess challenged the way in which I've approached technology. The way in which he did this, was he showed be a before and after approach to the same software, yet one had RIA and one had HTML. It was pretty much a straight forward deal; on one side you had an ugly HTML User Interface (UI) while on the other you had this rich vibrant UI.

The rich vibrant UI was the easier sell, as lets face it, we do tend to at times judge a book by its cover - sorry, it does happen. Yet, one thing that stood out from the start that I couldn't quite explain to others that he conveyed to me was that the perception was changed or be it, context.

 You see, there wasn't just a sexier UI over the top, no, what was really changed was the fact that instead of seeing a HTML Bullet List of names, suddenly we were seeing a directory of documents. Yes that's right, documents which suddenly changed folk's perceptions or context of use (content/data didn't move a muscle).

Looking at a HTML list, it's vanilla and doesn't provide you much in terms of interaction. You move your mouse over it, at times there maybe style updates but other then that it's still simply a plain old list. A developer could spice things up, by allowing a context box to hover under the mouse pointer as one moves over the listed item. Thus giving a more detailed look into what's behind the listed item ( which the developer may get some applause for ).

riaproducer_architect

Yet, what this RIA Producer did was change the context of the data's use, by turning a list item into a document. So now, end users could be expected to now approach the exact same data set (being for this example, a persons name and say their personal information) with pre-defined expectations.

The end-user could arguably, click on the document of the persons name and then expect to carry out actions such as copy or print? (desktop centric experience) The end-user could also expect to double click on the document and see a more detailed view of the end user in a report style approach. The list (heh) could go on.

So now, the context of use has changed - the data / content really didn't though - and it was done by trickery using a RIA runtime.

Now, comes the AJAX evangelist(s), I see you, sitting in the front row ready to pounce on any mention of how great runtimes (such as Silverlight) are. AJAX can do the above, no question about it, but it could also be more work to get to that point and lets face it, hunting and gathering the data in an efficient timely manner with richer UI that's controlled 100% by the agent in which its viewing across all manners of operating systems - is well... harder then it looks.

To do the above, is basically really small amount of work - in fact the hardest part is deciding what protocol and approach you'd like to take to mine such data.

The overall point I have is that RIA can really shift context into gear, it can not only provide radical adjustments to the perception of how data will be used within UI, but it can also be used as a bridge or conductor if you will over how disparate backend technologies can be bridled.

It's got an easy approach to getting the visuals out of the way, so one can focus more on data transmissions back and forth. It can work closely with DOM by not only allowing it to be overlaid on top but it can also provide a much faster turn around in injecting packets of HTML into the DOM Hierarchy given via server-side.

Context is why RIA should be used, not because "all the kids are doing it".