Lately there is a lot of discussion all over the web about "rich" internet applications. Flash/Flex, Silverlight, Applets, Ajax, and so on all claim the RIA moniker. Yet, in my view, only one of those is a web application - Ajax. While at first blush that might seem like a distinction without a difference, it's not.
Only one of those is native to the browser - Ajax. Native means HTML, JavaScript, and CSS. I loathed JavaScript for about a decade before I really came over to the other side. My awakening was due to this "native" factor (well, that and the innovative techniques involved in Ajax, refreshing the data via HTTP, but not the entire "page," and many toolkits and frameworks that help with JavaScript based development) .
Ajax apps use the browser AS a virtual machine within which to operate, via some flavor of JavaScript. All the other "plugin" technologies do not. Rather, they provide their own form of VM, external to the browser, installed via a plugin, and run through that. These apps don't feel native, the same idioms don't apply (bookmarks, back/forward buttons, history, and the like). Don't get me wrong, in many cases these apps can be *better* than 99% of the rest of the web apps out there, but they have no real need to run in a browser.
Now it seems Mozilla Labs has an interesting project to go the other way, to further blur the boundaries.
Prism "is an application that lets users split web applications out of their browser and run them directly on their desktop."

This seems really clever to me, and will likely find traction, but it subverts the "native in a browser" purpose. Sure, we can leverage the browser rendering and scripting capabilities without the address bar and the buttons, but aren't those the GOOD aspects of a "browser," and exactly what users like?
If Prism can bridge the two, and provide both, that is let you keep using your browser to bookmark stuff, using the fore and aft buttons, use hyperlinks, and then also allow you to say, "OK, put this one on the desktop without the address bar" - then that might work. Yet, I still wonder about that transition and how all the "web" use cases will work without the address bar and buttons.
At any rate, native web browser apps, and Prism, do represent something a lot different from "plugin" type technologies. Ultimately, if we can develop rich web apps that are native to the browser, and we can also seamlessly allow users to work offline (Gears, etc), and then also click a button to run the app in "desktopy" mode - that will be ubercool - for users AND developers.
Update: Aside about AIR
Until I read the Prism comments, and the related followups from Adobe folks about AIR, I really did not understand that AIR had the same capabilities. That is, I knew about AIR, but did not know it worked with Ajax style apps (HTML/CSS/JavaScript), as well as with Flash or Flex (I thought it was strictly Flash/Flex oriented). But, as Mike Chambers aptly notes, AIR has the same capability as Prism when used in this mode. AIR includes WebKit, Tamarin, and so on, and can run an Ajax app on the desktop, cool! However, with all due props for the Tamarin donation (which is undeniably awesome), one thing does still separate Prism from AIR, and that thing makes me excited about Prism, and not at all interested in AIR. Prism is open source, free, and all that associated jazz. AIR, while quite possibly an excellent product, is none of that.
Chatter
12 hours 25 min ago
2 days 20 hours ago
1 week 1 day ago
1 week 1 day ago
1 week 1 day ago
1 week 1 day ago
1 week 2 days ago
1 week 4 days ago
1 week 4 days ago
2 weeks 9 hours ago