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.
Technology buy-in
Some companies buy-in to a technology because they have always used that technology. For example, a company that have always used Java will be more likely to opt for the Adobe solution where they can write their server components using Java and their client in Flash/ActionScript/Flex (this terminology is still a bit unclear to me. I think this is why Adobe are renaming Flex Builder to Flash Builder) but a company that have traditionally used Microsoft products will undoubtedly go for Silverlight. More traditional web developers, who probably build upon the LAMP stack, that have been hand coding PHP on the server and JavaScript on the client tend to go for creating RIAs using Ajax.
Development environment
I believe that Microsoft have a massive advantage in having Visual Studio as a server and client IDE. It has it’s faults but in general it’s a fantastic development environment. Those choosing Flex (Java -> ActionScript/Flash) will more than likely choose the Eclipse IDE, which is powerful, but it’s ActionScript/Flex development tools are lacking maturity. I’ve recently used the Flash Builder 4 beta and it’s miles behind Visual Studio in terms of coding productivity features. I’ve heard that the Flex UI component development features may be better than Visual Studio’s support for Silverlight UI. The LAMP with Ajax stack suffers much the same problems as Flex with, as far as I know, Eclipse being the IDE of choice and client-side productivity tools still very much in their infancy. It’s clearly very difficult to write an IDE to enhance JavaScript/Ajax productivity.
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.













Rob 11:12 am on November 7, 2009 Permalink |
I remember having the same conversation with a colleague 12 months ago, he was very excited about Silverlight, and was convinced it was set to dominate the world. Silverlight won’t dominate the web, it will fail, and largely for two of the reasons you mention above.
Successful web technology is native to the web, browser agnostic and plug-in independent. The web as we know it wasn’t developed by professional web developers, it was developed by people sitting in bedrooms hacking together HTML and Javascript, if you restrict web development to those that can afford Visual Studio you won’t gain dominance. Another note on development environment: it’s a very web dev centric stance to assume a dev environment will be a dominant factor in determining take up, it’s what the consumer wants to experience, and is prepared to pay for, that will ultimately determine take up.
The other issue with ‘technology buy in’, and solutions provided by commercial companies, is they don’t scale – not technically, but commercially (licenses). This is the reason Oracle and SQL Server failed to dominate the market space for databases powering the web, and Apache *still* trumps Microsoft in the server market.
So instead of writing silverlight clients for twitter, why not try your hand at some dev tools for HTML 5 and Javascript?
Phil Leggetter 11:31 am on November 7, 2009 Permalink |
@Rob – some good points.
Microsoft do offer a free version of Visual Studio so this isn’t as restrictive as you would believe. They have also started the BizSpark and WebSiteSpark initiatives to give developers access to excellent developer tools for no up-front cost.
My opinion on this is that most of the big success stories of recent years, such as Mark Zuckerberg and all the founders of Twitter, have been technology and development centric people. The developers have the opportunity to prove that a technology can meet customer expectations and not the other way around. A customer won’t say “Oh, I don’t like this Silverlight thing”. They may say “I find this user interface really clunky”. That will ultimately come down to technology capabilities and developer ability.
If HTML 5 was supported by all browsers then I may well look into this. I’m working on a real-time Twitter solution during my R&D days with a few colleagues at Caplin and the front end will be an Ajax solution. The problem with Ajax at the moment is the support for cross domain access to web services and the development environment. Don’t get me wrong; I think I’m a capable Ajax developer but I think that the level of difficulty will make others try Silverlight and Flex first.
Duncan 1:59 pm on November 11, 2009 Permalink |
I’m interested in HTML 5…
I think if you can do most things natively then it’s better… if Flash is still the best delivery for video so be it… I agree that there shouldn’t really be the need for a vendor plug-in…
Maybe Microsoft should just Opensource the whole Silverlight platform….
And what about mobile?? what is the state of the Mobile RIA?
MRIA??
Phil Leggetter 9:33 am on December 15, 2009 Permalink |
I’ve a feeling that the people that wrote this Adobe Flex v Microsoft Silverlight Celebrity Deathmatch style post (and then somebody continuously tweeted at people with a link to it) are on the side of Adobe Flex. The more I work with Adobe Flex the more I think that Microsoft are way, way ahead with their development platform.