Thoughts on Rich Internet Applications
The latest javaposse episode had an interesting go around what is a 'rich internet application'. BTW, guys, I'm really bummed you're not having the 200th episode recording on Sun's campus, I was really looking forward to it. In any case given their confusion over what an RIA is, it indicates there's lots of confusion out there in the world over what RIA's are. So in an effort to solve this problem let me tell you what RIA's are. Let's start by distentangling the words in the phrase: Rich refers to a GUI application with lots of bling and sizzle Internet refers to the network infrastructure on which the Web lives Application is a $2000 word for 'software' or 'program' Clearly what we're talking about is a GUI application that has fancy sizzle and makes strong use of the Internet. Maybe it was Macromedia who cooked up this phrase to apply it to Flash, but that means they practiced marketerspeak and misapplied words in a way which violates normal grammar and meaning rules. The above interpretation is the correct way to interpret this phrase. Proper understanding of Rich Internet Application requires distinguishing the "Internet" from the "Web" as in Freeing the Internet from the Web 'jail'. The Web is simply one service which runs on the Internet. The Internet has a zillion potential services which can run across it, and the Web only uses port 80 and sometimes port 8080 or related ports. Obviously the Internet can do a lot more than the Web and I think it's a shame that the Web Browser takes up so much of the mindspace of using the Internet that we think the Internet has to be limited to the capabilities of the Web Browser. This clearly means that it is completely incorrect to think an RIA is something running inside a web browser. An RIA could run inside a web browser, but because the Internet is much larger than the Web it is preferred to run RIA's outside a web browser. An RIA running outside a web browser will have more capabilities than one stuck within the confines of a web browser. No matter how blingy a web app is, it's still a web app, and still is limited by the browser model. An RIA is distinguished from normal applications by the amount of blingy sizzle, and by using Internet protocols. Notepad is clearly not an RIA (no bling no internet) whereas iTunes clearly is (a little bit of sizzle, and big time use of Internet protocols). A web browser can be considered as an RIA, by the way. Especially something like an extensively customized firefox. I hope this clears up everybody's confusion.