Wednesday, June 10, 2009

Understanding the Richness of RIA

Bookmark and Share
A Cool Presenter
I just finished viewing a presentation of Jamie Cool, a Program Manager at Microsoft Corporation, that took place in the Professional Developers Conference of October 2008 (PDF2008).

The title of the presentation is "Microsoft Silverlight: Building Business Focused Applications" so it was very interesting for me to examine how SIlverlight deals with the requirements of developing business applications.

I must say that I was quite surprised by the introduction of Jamie Cool to the nature of RIA when it comes to business application. That was of course after his introduction of himself talking about how cool is last name is which is indeed "Cool".

When I say 'Rich Experience'...
The interpretation of Richness part of RIA differs in different contexts of use. Many think that elaborated graphical elements & design capabilities, animation, and video & audio streaming constitute the required Richness of RIA.
This is true when it comes to commercial, social, or gaming related applications. But this is not the case when it comes to business applications.
Also Jamie Cool himself, a SIlverlight evangelist, could make the required distinction between the contexts of use, and here is his definition of Rich Internet Applications:

"If we're gonna be talking about business application, let's talk about what do they need. And what do they need that can make Silverlight a good platform for them. Well, you know, the first thing they need are 'Rich Experiences'. When I say 'Rich Experience' I don't mean, you know, buttons shaped like fishes, or things spinning around or the, you know, ultimate animation. What I really mean is "interactive UI". Odds are you're applications has a bunch of data in it. You need users to be able to manipulate that quickly without having to constant refreshes. Without having to do multiple clicks to accomplish a task. You need a very interactive compelling UI for that type of scenario." (Time mark 00:03:10)

You can hear this part yourself (excerpt taken from the above link

In this respect Jamie is right on the money in describing the Richness business applications require. However judging by the cumbersome development paradigm Silverlight offers compared to uniPaaS, I am not sure that Silverlight is a good platform for business applications, as Jamie suggests.

RIA Slide taken from Cool's presentation

That's 3GL for Ya
When you will get to Time mark 00:10:30 in the presentation, you can check out the complexity Silverlight presents to accomplish data display. As it was always the case, there is a kind of pride in 3GLs, such as ASP.NET and Silverlight, of the myriad options a programmer has and needs to pick from. The liberty of technological choices stands at the heart of all 3GL's complexity.
uniPaaS productivity approach suggests that you do not need to pick any technology to accomplish your data transmission. Just define the data you want to use, and it will be transmitted automatically for you. The most appropriate technology was already selected.

Dealing at the level of sockets, WCF Duplex, Direct HTTP requests, REST, XML structures is great technological fun, but organizations need their projects to be delivered on time and on budget. Deliver your project before schedule and then have a lot of fun time exploring technologies.

The great Distance between Just Displaying Data to Actually Doing Something
The code required to just display data on the browser is not trivial, also in Silverlight. The worst part of it is that the gap between the data display to data input, validation, server update, business rules employment, and elaborated data entry UI, is substantial. Take your time to go over this presentation to get a sense of how much script and code are required to produce the basic functions of a business application (Scrolling, Paging, Filtering) that are so trivial to accomplish in uniPaaS.

It is even more amazing to see that business application development principles that are integral part of uniPaaS ever since its predecessors, such as field validation settings, are presented on October 2008 as the future plans for Silverlight.

Client code and Server code – Unite !!!
Silverlight is indeed making progress in enabling the client code to hook and access the application server code. But still the paradigm suggests separated development of the two entities, which are on the one hand tightly coupled, not leaving room for future replacement of one of the tiers, and on the other still keeping the cumbersome development of the two separated code entities.
uniPaaS offering the required business application richness and a unitary development paradigm is definitely the right tool for the job.

Dressing up for the Occasion
Now, don't get me wrong, Silverlight is extra cool. With it you can produce really breathtaking UI. But as Jamie said, your business applications require a different kind of UI. Using Silverlight or Flash for your business applications is like wearing your best tuxedo or evening gown to the office – every day of the week. If you are going to work, just put on a normal suit, or in some parts of the world (like the one I am coming from) just put on your jeans and T-shirt and spend more time working than dressing up.

Now that we understand what sort of UI we need, then why invest valuable time in coding client module and server modules as Silvelight does. Why not do the same with less. Do the same with uniPaaS.

P.S. - Time for RIBA
I do believe that it is high time for a new IT acronym to be introduced – RIBA – Rich Internet Business Application.

Bookmark and Share


  1. Great post Ofer. So it's called Silverlight because you have to stay up so late programming that you will be doing so "by the light of the silvery moon?"

    I've been sneaking Rich Internet Business Applications into my posts for awhile now.

    I like the idea of RIBA as an acronym. Maybe we should hire that "SaaSy Redhead" Reba Mcentire. I figure if a country singer can develop RIA applications for business, well then just about anyone can!

  2. Of course there is another singer we could probably get much cheaper as a spokesprson.

    And with a name like that, it's a natural.