OPOA and RIA – What does it mean?
Recently there was a situation in my work place where we need to standarize or adopt patterns for UI. And OPOA RIA was taken as a guidline after my recommendation, but adopting this patterns literally is an offense you can do to the development unless the team totally understand what is conveyed by these terminologies…
Following was my explanation , im documenting it for it can be of use for other people who hit the same road….
[Explanation]
What we are actually trying to do with these terminologies like RIA and OPOA is to get away from the traditional perspective of web development. We are using these terminologies as a guideline to help us validate if we are doing the right thing.
The crux is that the web development strategy and technologies has evolved and hence the way we think about building the interfaces should also change.
The early terminologies the industry used were think and thin client, Desktop was considered thick because of its richness and the amount of business logic it carried with. The thin client were the once with page by page flow where we sacrificed on the richness that a desktop application would offer for the sake of distributablity. Then market wanted distributablity and also the richness that the desktop client could offer, hence technologies like flex/flash and Silverlight were born.
But flex and flash were proprietary technology and users of those technologies were at the mercy of the browser implementers (safari or IOS) people wanted to stick with standards that would work across all hardware/OS. Hence efforts were spent to have richness without sacrificing the distributablity , framework like YUI ( Yahoo user interface) was a result of it. YUI was built on top of the standardized JavaScript and HTML which works on all browsers . ExtJS is an matured version of YUI , which helps use built the desktop like richness on the web without sacrificing the distributablity and it stands on standards (HTML & JS).
ExtJS was build to help people develop RIA (Rich Internet Application a.k.a Desktop like application on Browsers) as opposed to traditional web1.0 pages. ExtJS becomes a terrible/counter- productive tool if we look at it from the perspective of web flow and web1.o page flow….
Hence Rich Internet Application / [One Page One Application] are umbrella terms used for the UI designers/engineers to think web development in the terms of desktop application and have multiple functionality and actions in a single page and bring back the richness that desktop applications offered.
> it means we should only have one form (means one browser windows) for the whole application. Venky, am I right?
So in OPOA , What we call as application is subjective. You may choose to call the entire IRIS4 as one application, but someone else can choose to call CnC alone as a application and someone else can Choose to call a group of command as one application.
More granular we go we tend to hit the web1.0 , at the highest form we may lose multitasking ability, So we need to strike a balance in between two and it is totally subjective.
So if we are able to do multiple things on a single page without refresh, and have the look and feel feels close to a desktop application we are in abiding to RIA and OPOA.
If we need a guideline/rule to check our action we can ask this question every time we have a doubtà “Will a desktop application do it this way?”
So in this case- opening multiple window…. : In that particular scenario will a desktop application open a new window to show the application functionality, if yes. Then I think we are good.
[/Explanation]
leave a comment