Rich Internet Application (RIA)

A non-expert talking about user interfaces should not be taken seriously, but here is some thoughts that came to my mind.
Well, a RIA is in fact a Web Application that has the features like a desktop application.

A classical web application (let’s call it Web1.0 application) has something that we call web flows, presentations flows or whatever how else somebody use to call it. Those flows are page based flows and they dictate the way a user is browsing from one page to another and so on.
I would even say that the page flow is dictated by end user requirements for the usability of the application (i.e a real state application, bank application … ).

A RIA (or Web2.0 apps) should not limit users to a predefined flow. I think there should be no flow at all, because the user should be able to do whatever he/she wants at any moment and in any way. For example, one should be able to lookup a contact information while writing an email.

Actually, MVC (model view controller) pattern helps in separating the user interface from the business logic. But, MVC has not much to do within this article so I will not discuss about it more.
In my mind a RIA should be totally decoupled from the server presentation flow, and there should be no presentation flow, as I said already.

What about loading the whole user interface at the startup time and let the user navigate through the application just the way he would do it in a desktop application? Well, there should be a possibility to enable some components to be loaded later for example the less used components. The communication with the server should be done using AJAX of course, but the presentation layer is entirely managed by the client side.

I agree that there are a lot of applications written following this principle already, but I guess there is some place to think about this and maybe add enhancements to this way of programming.

1 thought on “Rich Internet Application (RIA)

Leave a Reply

Your email address will not be published. Required fields are marked *