I was reading a post by Ryan Stewart, who is my main source of news and information about anything to do with RIA (Rich Internet Applications). Wikipedia defines RIA as "web applications that have the features and functionality of traditional desktop applications." When I think of RIAs, I usually think of Adobe's Flex or Microsoft's WPF (Windows Presentation Foundation). Probably the most famous example of RIA is Flash. I also regard Ajax as a RIA, because it enables desktop app-like interactivity. But something Ryan said reminded me that there is a bit of a disconnect out there on what is a RIA exactly? Ryan wrote:
"I see a couple of big reasons RIAs have become much more popular in the past few months. One is that a good experience has become a primary requirement for the web. I don't really count Ajax as a full RIA technology, but it has raised the expectation level and made people start to wonder how much better the web can be."
Ryan doesn't see Ajax as a RIA. Perhaps because he has high standards on what an RIA app should be able to do. Ryan writes more about the topic on his personal blog; also see this post by Adobe's John Dowdell from 2005.
We all know Ajax has its limitations - Google is probably the biggest proponent of Ajax, yet its web apps have been known to cause frustration at times. I bet every user of Gmail pounds their desk whenever a page refresh problem arises.
So in order to try and get a consensus about Ajax and RIA, I've created a very simple poll. Please take a minute to tell us whether you think Ajax is a RIA technology.
TrackBack URL for this entry: http://www.readwriteweb.com/cgi-bin/mt/mt-tb.cgi/2957
Comments
Subscribe to comments for this post OR Subscribe to comments for all Read/WriteWeb posts
Fully agreed on that Ajax is the key success to create a RIA.
Posted by: PohEe.com | January 16, 2007 8:52 PM
I dont know if Ajax is a RIA per se, but it's definitly a major part of a Rich Internet Application technology, whichever that is, Flash or other.
Posted by: Mikael Bergkvist | January 16, 2007 8:58 PM
AJAX is not an RIA - in my opinion. It could be - if it had the presentation technology that would allow it. But Web browsers can't. Not yet. When Web browsers themselves become RIAs, then anything running on them could be an RIA
That's why we are seeing more and more "cooperative applications" - those that have a native running on the PC that work fine off-line but become RIAs when connected to the Internet.
And I don't see anything that is going to change that in the next couple of years.
Rob
Posted by: Rob La Gesse | January 16, 2007 9:17 PM
Ugh, this seems like a semantic argument along the lines of "What is Web 2.0?"
If an RIA is a web app that has the features and functionality of a desktop app, then I don't see why Ajax couldn't be an RIA technology. Obviously not every use of Ajax will yield an RIA, but neither does every use of Flash.
Posted by: Josh | January 16, 2007 9:36 PM
Josh, I agree it is a semantic argument. Perhaps looking at the bigger picture, another way to ask this is: can you deliver a desktop app-like experience using a non-plugin or download technology like Ajax? Or is that confusing the issue... :-)
Posted by: Richard MacManus | January 16, 2007 10:13 PM
Hey Richard, great poll! I always do feel a little silly saying Ajax isn't "Rich enough" to be an RIA, but I've always tied RIAs to a very interactive experience that incorporates multimedia and graphics.
Ajax to me still seems like a very text-based medium which makes sense because it's primary a browser technology.
I'm excited to read more of the comments.
Posted by: Ryan Stewart | January 16, 2007 10:19 PM
"Ugh, this seems like a semantic argument along the lines of 'What is Web 2.0?'"
Semantic arguments are the best :) No winners or losers and they always end up bringing out a lot of good ideas. To me, these kinds of arguments are just a fun way to think and talk about technology.
Posted by: Ryan Stewart | January 16, 2007 10:22 PM
I don't see why AJAX couldn't be another technological base basis for RIA just like Flash.
The probably best argument is OpenLaszlo 4, an open-source platform for RIA that allows to deploy to Flash 7,8,9 as well as AJAX/DHTML from the identical source code. They are currently in Beta 1, so not everything works right now, but they really made great progress in the last months.
Posted by: Gerd Kamp | January 16, 2007 10:36 PM
Well, in answer to #5, I don't know if pure-Ajax will be as smooth as, say, pure-Flash (i.e., I don't think you could do something in Ajax as smooth as Scrybe, which I have been playing with this week). But I do think you could do something that would qualify as a "desktop-like experience".
But at the same time, I don't really know enough about the technical side of all this to answer definitively or intelligently. So I'll leave that to the pros. :)
Posted by: Josh | January 16, 2007 11:02 PM
Along with a lot of the discussion surrounding Office 2.0 and WebOS, this is the wrong question.
Why are are we asking if it's possible to recreate desktop apps using a rich internet application? That's a waste of time - if you want the user interfce of a desktop application, use a desktop application. Need collaboration or other capabilities that are more natural to web apps in those apps? Then let's add that - it's likely far easier to enable such features in desktop applications than to recreate most of their features on the web.
This is more than a philosophical point. The current emphasis on recreating desktop features in web applications is sucking up thousands of developer hours and setting a direction that provides little real benefit to the person using the result. I liked Writely and like its current incarnation at Google... But it doesn't hold a candle to Word or the open alternatives. Now, if someone merely needs a lightweight word processor, great. we've filled their need and can move on. But if we're after the core office market we'll need to see a lot of development to come close to the feature set of a modern word processor. And, after those years of development, what will we have? A perfect clone of Word? So what? I have Word and open source alternatives right now. Why have talented, creative people spend their time recreating that experience?
Instead, why not look at what applications the web uniquely enables? what can we do there that would be hard or even impossible on the desktop? And if we're looking at how common product categories might evolve, let's really LOOK at that and not simply take the existing desktop applications as the standard to develop toward.
Word processors are a good example. Writely, Zoho Writer and the like are nice programs, but the web native successor to Word is not those products... it's Wordpress, Mephisto, Typepad, Blogger and other blogging platforms. You can add plugins to tailor those sites to your own needs so that readers can have a very rich experience and that trend will continue. If we could start to extend the authoring interfaces I could integrate online resources and tools that I need... and you could do the same. Imagine a political journalist with integrated access to Lexis/Nexis and other resources that she might want to use during the development of story. Extend that to every niche out there. Now that is something you can't do in a desktop word processor... that's a worthy goal.
Finally, this constant urge to determine whether something is or is not within some magic circle is a colossal waste of time - the questions are unanswerable since we never define the circle. In this case, what IS an RIA? What are its characteristics? Give me a detailed definition and then it will be easy to tell you whether AJAX is an RIA technology or not.
Even if we could resolve this and have everyone agree - where does that get us? What's enabled by knowing this? Can we create things that we cannot create now? Do we avoid pitfalls that we would see knowing this?
I really don't mean to be curmudgeonly - it's fun to bat this stuff back and forth. But when I see influential commentators taking this as more than an intellectual curiosity my eyes start to roll. There's a lot of momentum right now to recreate the desktop on the web. I'm not sure if it's because proponents feel this would kill Microsoft, whether they simply like everything on the web or what, but I can't help thinking that all of this effort would be better spent actually innovating rather than recreating.
Posted by: rick gregory | January 17, 2007 1:21 AM
I could go on for a while on this subject but the simple answer is no.
If you look at the definitions of both RIA (http://en.wikipedia.org/wiki/Rich_Internet_application) and AJAX you will see that AJAX is simply not RIA. A gray area was created by people calling certain UI functionality as AJAX in an effort to ride the buzz that had been created by true AJAX.
Posted by: John McKnight | January 17, 2007 6:55 AM
I agree with Mr. McKnight on this...
AJAX is strictly a transport mechanism that a Rich Internet Application could use, but doesn't have to.
Remember, Asynchronous JavaScript and XML. It's just sending it back to the server from the client behind the scenes.
I've seen front-end GUI's that use full postbacks where AJAX would come in handy.
Bottom line: The Rich Internet Application's are the front end GUIs (such as Dojo, ProtoType, etc.), where AJAX is the mechanism to talk to the server without interrupting the user's experience with a full screen postback/refresh.
Therefore, AJAX != RIA = true
Ok, I'm off my pedestal. :-)
Posted by: Jonathan Danylko | January 17, 2007 7:23 AM
I would reach out if I were you to get a my broad viewpiont. Ryan is a Flash developer who gets paid by Adobe to post favorable blogs about Flex, Aplollo and ect Adobe propriotory and plug-in garbage.
Posted by: Mike | January 17, 2007 7:37 AM
Streampad [http://www.streampad.com] is built entirely using HTML, CSS, and AJAX and is DEFINITELY a RIA.
Posted by: Ken | January 17, 2007 7:51 AM
"One of these buzzwords is not like the other, one of these buzzwords does not belong.." ;)
Cynicism aside, I will argue that you can build "cool stuff" on the web using HTML, Javascript and CSS and rival desktop experiences when the right approach is taken. However, there are many points to consider (features, capabilities and performance) which can make or break your "app".
Posted by: Scott Schiller | January 17, 2007 7:55 AM
AJAX is a behind-the-scenes feature that allows browsers to send and receive data to/from web servers without having to refresh (re-render) the currently displayed page.
This enables web developers to use JavaScript and DHTML to mimic (some of) the RIA features associated with Flash and OpenLaszlo.
The Google Toolbar uses AJAX in a simple (but effective) way: as you type a search query, the toolbar continuously retrieves (and displays) matching search queries and their results. (Google Maps, of course, got everyone else thinking about AJAX.)
Strictly speaking, AJAX is not a RIA technology - but without it, HTML-based RIA would not exist.
Posted by: Harry Mantheakis | January 17, 2007 8:09 AM
I agree with Ryan's comment # 6 linking RIAs to interactive experiences with multimedia and graphics. I would definitely consider ZCubes (http://www.zcubes.com) to be a RIA. Our technology is based on DHTML/Javascript with very limited use of AJAX. The main reason we used AJAX sparingly was the problems with scalability and performance that Richard has referred to when talking about GMail. I've seen similar (and often irritating) problems with Google Docs and Spreadsheets too. Our philosophy at ZCubes is that in order to provide RIAs with good performance without using plugins, you have to keep the users work local to his browser with minimal interaction with the server as and when required.
Posted by: Parag Mathur | January 17, 2007 8:19 AM
Arguments about labels tend to be a waste of time... "Is that 'art'?' No, it is 'pornography'! Ah, but your 'blasphemy' is my 'religion'". WhatEVer.
In this case, the term "Rich Internet Application" did start off with a definition, albeit a verbose one which could not be clearly expressed in a single breath. (Thanks for the link to that, Richard.)
The "rich" refers to media types. XmlHttpRequest availability in Firefox triggered "Ajax" marketing, but that only refreshed text, like the IMG tag helped browsers to refresh bitmaps the past decade or so. If a JavaScript app integrates audio, video and animation then it uses richer media types. Any browser which supports XmlHttpRequest tends to support NPRuntime (or ActiveX Scripting for MS) now, so you *can* make JavaScript experiences which call upon richer media types via Adobe Flash Player.
("Mike" said Ryan's paid by Adobe... I know Ted Patrick bought him a meal once, but that's the only subsidy I know of. You forgot to provide your source evidence... Internet 101 here, bud.)
Summary: When you see a conversation focused on "Is LabelA LabelB?", then run.
jd/adobe
Posted by: John Dowdell | January 17, 2007 8:36 AM
Is Apollo running a 100% Ajax application from within its integrated KHTML-based browser a RIA? ;-)
Posted by: Pete Frueh | January 17, 2007 10:22 AM
To say Ajax = RIA is a big leap, there are other ways of mimicking a desktop application features (frames/iframes while ugly can still be used effectively, look at gmail). But I do agree with the statement in the poll, that Ajax is a RIA technology - it allows web apps to behave similar to desktop applications, but more than just a bit of Ajax is needed to really call a web app a RIA.
Posted by: RF | January 17, 2007 11:59 AM
From what I have seen, all the implmentations of an approach such as AJAX have yet to be explored. I see no reason it could not develop into a fully recognized RIA technology, however in it's present use/form I think it is showing too many shortcomings to be viewed as a viable RIA approach.
Posted by: DelRay | January 17, 2007 1:30 PM
The question was "Is Ajax a Rich Internet App technology?" not "Is Ajax, by itself, a Rich Internet App?" ... though it seems a lot of people are answering the latter.
Uh, if they can use Ajax, than Ajax is an RIA technology. It seems to me what a lot of people in this thread are saying is akin to a pizza maker saying pepperoni isn't a pizza ingredient because you don't have to use it.
Yes, you can make a pizza without pepperoni, and yes you can make a web app without Ajax. But if you make a pepperoni pizza, then pepperoni is a pizza ingredient. If you make an RIA with Ajax, then Ajax is a Rich Internet Application technology.
Posted by: Josh | January 17, 2007 1:39 PM
(Of course that should be "then" not "than" in my last post. Also, Ryan, how's that for a semantic argument. ;))
Posted by: Josh | January 17, 2007 1:52 PM