Rich Internet Applications (RIAs) is the umbrella under which current ideology for web applications is evolving.
RIAs are said to be
1) Browser and Network Centric
2) Independent of Operating Systems and the Desktop
and a bunch of other things like
3) openly collaborative
4) service oriented
5) Mash-Ups
blah blah.
Let's debunk some stuff here.
1) OK, RIAs are Browser and Network Centric, but they are also under the current infrastructure, application restrictive.
2) Browsers are not independent of Operating Systems and therefore RIAs are not.
You may have a mobile tie to the internet, but somewhere, there's an OS behind it.
As long as there is a need for disk space and there always will be, there'll be
an OS involved ... somewhere.
3) Cool, RIAs are in fact openly collaborative.
4) Applications are services, so this statement is just plain hype.
5) Now this is a new parade to watch. Yep and it's sponsored by some big players. Coders and webmasters are enticed to intermingle and dance with web objects from diverse origins, hybriding them into their own creations. Why? It's fun. Nah, that's not why. Maybe it ties the webmaster into a particular vendor? Jump on in and join the parade.
Not to undercut the RIA movement, what we really want to look at is ..
- What is possible with today's browser technology
- What can be possible with tomorrow's
Today's browser technology allows RIAs to be paraded as marvelous because of the introduction of certain old paradigms into the web browser arena.
1) AJAX
2) MVC ( Model View Controller ) architectures
3) Objects & Plugins
4) Open Source capacity to introduce new features into a browser
5) Certain new disk availability techniques such as Google's Gears
6) Free usage Shared Features and Libraries via Open Source, GPL, etc.
7) The ability to render web pages with events.
XML descriptive packaging of data and XSL translations.
9) Other Stuff ...
Now what you should notice here is that all of this stuff basically goes off in compass wide directions and some of these things could almost be described as band-aided add-ons to the server or to the browser. There are some nice integrated changes that have recently occurred in browser technology like XML and XSL, but ... have no doubt, a lot of this stuff is all over the map and is not a common browser/server model. And that's a problem.
In the current browser technology for example, if you wanted to do something wild and crazy like set up semaphores or shared memory on the client side for an application, by golly, you can in fact do it. But the way you do it will be likely one of a large number of variants that other coders will add-on to the browser for similar needs. It's adhoc, to say the least.
Koala consolidates this wriggly explosion of diverse expansions of web technology into one client/server architecture and does it in a way, that nobody has to invent clever ways to get the browser to behave like a true application base. The methods are universally agreed upon and the Operating System is NOT left out of the picture. The network and operating system are synergistically merged. The operating system takes care of the neat bells and whistles like it always has and the browser is only required to talk to the OS to get what it needs. And that means there can be a standardized interface even for implementing such things as semaphores and shared memory -- FOR BROWSER APPLICATIONS!
Let's keep in mind, that the browser IS itself, an application. BINGO! Does that make sense? Yes. And as an application it depends upon the operating system for a great deal of its resources. And no, by incorporating a VM OS feature into the browser, we will not free it from the OS. The VM OS is an emulator, so to speak, that translates communcation with the OS from a common language to that of the OS. It's also a filter and a service controller. But there's no need for it do a lot of what true operating systems do. It can get all it needs from a true OS. And there's no longer any need to go out looking for somebody else's bell or whistle ... or invent your own. The traditional bell and whistle from the OS already exists and becomes transparently available.