Yesterday I had a briefing with Harley Manning and Ron Rogowski, senior analysts for Forrester Research. About halfway through our presentation we came to our slide on the various RIA technologies. Harley and Ron had some great insights and questions for us about the state of Applets, AJAX, Flash, Flex and WPF; we spent about 15 minutes on this slide alone.
Harley then hit me with a question:
How does the RIA technology landscape change over the next 5 years?
I think this is an extremely interesting question, one that deserves more time and thought than an hour phone call. I an going to try and approach this question from several different angles.
1) What technology will win? Microsoft’s WPF (Windows Presentation Foundation), AJAX, Adobe’s Flex / Flash, or some other 4th party?
2) What evolutions and revolutions on the technology front are coming?
3) How will companies leverage RIA technologies?
AND THE WINNER IS…
At effectiveUI we are forced to make decisions and recommendations on RIA platforms all the time. With its ability to leverage various media formats, rapid development process, ubiquity across multiple platforms and browsers, and the strong support for designers, the flash player is easily 5 years ahead of any other RIA technology. For the last 2 years, the answer for most of our customers is almost always the flash player. You will not hear me go on some anti-Microsoft religious rant, nor will you hear me stand on a soapbox for open source deployments. We are entirely focused on the best solution for our customer’s problems, and right now we can solve 99% of our customer’s needs on Adobe’s technologies.
So … the future ….
Just because Adobe is top does not mean they will stay there. Microsoft knows how to compete, and I believe that they are seeing RIAs as a real threat to a significant portion of their business. But, in THIS race, compatibility will be Microsoft’s weakness. Microsoft is focusing WPF primarily on IE, with the hopes that WPFE (Windows Presentation Foundation, Everywhere) will start to gain market-share across other non-Microsoft systems.
That brings us to AJAX development. Almost every AJAX developer I am talking to now has had major issues with compatibility, performance, scalability, or development times. The issues are primarily based around compatibility. Each OS and Browser have slight nuances that make a single code base almost impossible (especially on large, sophisticated deployments). Many times developers find themselves coding around browser inconsistencies. Many times I have heard our AJAX guys tell me, “well, it should work…”
Adobe most certainly can not “coast” to success, Microsoft is going to give them a hard run, especially because Microsoft controls the vast majority of desktops. But compatibility will be more and more of an issue. We thought the “browser wars” were over, but the race has just begun. Add to the equation Mobile and the rising popularity of Mac, and things get really complex. Ultimately, I believe Adobe will prevail due to having no stake in an operating system, they are focused on the ubiquity and pervasiveness of the flash player.
Our customers come to us for better user experiences. 3D environments can provide very exciting product configurators, virtual worlds, and navigational systems. However, leveraging 3D has to be done very carefully… users will be quickly turned off if the interfaces are complicated, or too futuristic. The next versions of the flash player must include some support for dimensional renderings to keep up with WPF.
In the last year we have seen 100 fold performance improvements for the flash player, however, there is still a long way to go. Hardware acceleration support will help, but is is not the panacea for most online applications. With hardware acceleration, what you gain in performance, you lose in compatibility. When looking forward, look for those platforms that equally address performance AND compatibility.
-Development Methodologies & Best Practices
In the last year we have seen huge improvements in our ability to collaborate across larger development teams which allow us to create more sophisticated applications. This was primarily due to the increased support for developers. The “black art” of traditional RIA development is now taking lessons from C++ and Java developers and the results will produce more scalable, easier to modify, and simpler applications to use.
“AJAX”, at my last count, has over 150 open source component Libraries…this is a double edge sword. Open source creates more community support, but many times these libraries are not compatible with one another. Where it has to go is more standardization across AJAX, and more “industry” supported libraries from Adobe and Microsoft.
Standards for measuring RIAs are in their infancy. Companies like Omniture and WebTrends all say they have RIA measurement tools, but they are stuck in html, page based metaphors. These tools have difficulty tracking the event driven structure of RIAs. Measurement will be critical for adoption so companies can improve and measure their return on investment
There is a ton of buzz around the term Occasionally Connected Applications. There will be a move to allow users to work offline, and sync back to a server once back online again. However, more and more people are virtually connected “always”.. between SMS, mobile email & browsers, wifi and cellular pc access, there will be a rapid need for applications to account for being always running, on multiple devices. Connected applications in the next 5 years will need to have the ability to run on multiple devices, and auto-magically allow those devices to synchronize the data between them.
LEVERAGING RIA TECHNOLOGIES
This is actually a much more difficult question. I have been very surprised how slowly the RIA wave took to actually gain traction. In reality, companies only pay lip service to “customer first”… most companies are very self centered, thinking instead “what can my customers do for us”. This is easily seen with how most companies deal with other areas of their digital presence, like how run their email marketing campaigns. They send out a campaign with an expectation of 1% conversion rate. That means they are sending out irrelevant communication to 99% of their customers and are perfectly happy with the results. Personalization, simplification and sophistication will be the next wave of consumer, government, and corporate applications
More niche markets will emerge and customers will demand software that better “conforms” to their needs. The internet has the ability to individualize consumerism more now then ever. When you think of manufacturing advancements over the last 5 years, companies have the ability to build one-off products with better economies of scale. However, the process for consumers to specify their requirements are very manual… RIAs will be the critical path to success for customization and product configurators of the future. Now apply the same advancements to healthcare, government services, media & publishing, and financial services … personalization and individual control will be more commonplace than any other time in our history.
Most of the newer, successful web applications are just plain easy to use. They are familiar, task focused and have more content and very little interface. You may ask, “Is simplicity really an innovation?”.. good question. When talking to Marc Eaman (head of corporate evangelism at Adobe), he told me that most RIAs focus on the “power user”.. which result in approximately 5% of the actual user population. These RIAs try to squeeze in all of the features that the power user would require, but by doing that they alienate the remaining 95% of their user base. He called the solution “developing to the edge of the enterprise”. In other words, Eaman was recommending that when you are developing applications for internal corporate use, develop for the occasional user, not the power user. The same tactics will be applied to consumer facing applications.
Wait … didn’t you just say “Simple”? Why yes I did… but there is a difference between ease of use and software sophistication. By limiting the features an application allows, those features will mask complex data algorithms, tie in disparate systems, and create workflows that users can only dream about now. I believe that as simplicity increases, so will the demand for more complex systems in the back-end to manages these applications.