I've been a member of the RIA Developers Group on LinkedIn for a short while now and the other day Patrick Bay posted a link to an interesting article on Computer Weekly about the prominence of RIAs. A few comments were posted and then Patrick questioned which RIAs would "bubble to the top".
I think the UI revolution's already here; now we see which ones bubble to the top!
This got me thinking about the criteria that may determine which RIA technology would be most successful.
I think there are a number of things that will determine which one will ultimately win, or at least become the dominant choice. At the moment I can think of three categories; Technology buy-in, Development environment and Data access capabilities and choice.
Data access capabilities and choice
I think this has been one of the last things to be considered in the RIA stack. Previously browsers have locked down where you can get your data from. Developers were always trying to implement hacks to allow them to do things such as make a web request to a server on a different domain or cross-site scripting to implement HTTP streaming. As the web has opened up to the idea of Mashups, browser and RIA plugin vendors have had to change their stance on cross site security. It's a difficult line to walk but I believe that the technology that makes retrieving data from multiple sources the easiest, without having to go via a proxy, will have a distinct advantage. Flash and Silverlight are winning the race at the moment with Silverlight's use of security policy files and Flash's support for master policy files. For the Ajax solution I still need to research information on HTTP cross domain access control headers and which browsers have implemented support for them. I still think there will be an argument for mashing up your data on the server and I have a blog post planned on RTRIA server technologies.
The important questions around RIA data are:
- Which RIA will be more efficient at consuming data?
- Which one will prove to be the most capable as a Real-Time Rich Internet Application (RTRIA)?
- Will RIA technology vendors try to lock developers into using a client-server technology stack, such as Adobe may be trying to do with LCDS and Flex, and will this put developers off?
- Is decoupling of server and client technology, and communication protocol, important? I think it is, do you?
Although RIAs have been around for a while now, as Patrick said, the race to dominate the Rich Internet Application Technology space is on.