Cloud Talk

Andre Yee

The Future of RIAs is HTML5

user-pic
Vote 0 Votes

Rich Internet Applications (RIAs) are the future of web applications. Unlike first generation SaaS applications that were built on a static web paradigm, RIAs bring the power of desktop-like experience to the cloud. The next generation of cloud applications is going to be RIA based, incorporating the interactivity and responsiveness you expect from a desktop application.

This is a quiet revolution of sorts since you don't get the resounding hype about the advance of RIAs. Adobe were early proponents of RIAs, creating awareness and offering both technology and tools to enable the creation of RIAs . Truth be known - there would be no momentum behind the move to RIA if not for Adobe.

But herein lies the problem - the future of RIA isn't going to be built around proprietary technologies like Flex or Silverlight but rather on the about open standards - HTML5 and Javascript. Among its many enhancements, HTML5 introduces new standards for rendering shapes and images. It also provides both off-line client side storage which have a profound impact on what we expect out of cloud applications. In fact, every company building a cloud application today should be thinking about rich HTML5/Javascript clients with interactive treatments and the ability to work in disconnected mode.

This isn't simply your father's Ajax code and it's not just for the future - it's actually present reality, thanks to native web application frameworks like Sproutcore.

Sproutcore is comprehensive Javascript/HTML5 framework and it's open sourced. It's important to understand that Sproutcore isn't simply a widget library like JQuery but rather a well designed, full featured framework for building RIAs. It employs a client-side model-view-controller paradigm (MVC) and provides additional features like property bindings, event handling, and client side store w/ object-relational mappings.

Want to build applications for iPhone/iPad? Sproutcore also offers a touch interface so it's enabled for mobile development.

A number of companies like Apple, Other Inbox, Eloqua have, or are currently building applications using Sproutcore. Apple's MobileMe application is a "tip of the iceberg" example of what you can do with Sproutcore. Unlike Flex and Silverlight, Sproutcore applications run within the browser without the aid of plug-ins which can often complicate deployment.

Check out Sproutcore for yourself or alternative RIA frameworks like GWT and Cappucino.

8 Comments

Andre,

Take a look at Gartner's Ajax/RIA Review from past December.

Having worked in developing web applications since 1997 and RIA since 2004 I am under the impression that the choice of technologies when it comes to developing web applications has suffered a lot due to an increasingly ideological component and even more the social choice. What 10-20 years ago used to be evaluated on technical merits by software engineers with a decent understanding of what they were doing is today replaced by a mix of cargo web programming and hype. The emergence of social has changed the focus from how to better do our work to who's saying interesting things we like and how loud they're saying it. Can you still build software in this environment (with all this mostly unnecessary frameworks) ? Yes, but it becomes harder to get all the stakeholders aligned and focused.

/qf

user-pic

While I enjoy your perspective on Cloud and SaaS technologies - I have to disagree here. From my experience as a developer, architect and manager you really only have two choices to develop web application: either hire people with a great understanding of javascript, DOM and browser behavior and have them write the application, including business specific frameworks that would help more junior members contributing; the second option is to use a 4GL language for RAD (Flex, Silverlight) that maximizes productivity. Generic application frameworks, allowing people to shoot themselves in the foot, with a very cool but over-bloated canon takes the bad aspects from the above choices while generating little benefits.

Paulo Argento

> The Future of RIAs is HTML5

Cannot agree more - but Future is the key word here.

see http://www.craftymind.com/guimark2/ for a comparison between Flash and Html5 rendering.

Flash has lots of improvements that are not yet part of HTML5, and has the advantage of smaller update cycles (6mo vs 5 years).

In my mind there is no competition between HTML5 and Flash. I use HTML5 whenever possible and Flash occasionally when it makes sense.

see http://visualrinse.com/2010/05/08/does-html5-need-javascript2/ for a balanced view on the two.

JJ

I echo Frank's comments. About 6 years ago we have started two new projects working for a top Fortune 100 company. Both projects were the first web application projects in the company focused on delivering rich web BI functionality and business collaboration over web. One team had veteran developers with C++ and Java and learning web programming. The second was assembled by hiring web developers with experience in new web technologies. The first team was focused on delivering the features needed while providing a solid codebase tailored to the specific domain model. This application is still sold today and has minimal maintenance cost as all developers are still around working on other projects. The second project went through a year of evaluations and research, chasing the best web application framework available and finally selecting one. There was significant pain as it took another year for this framework to become somewhat stable (the pain of early adoption) and in the process some of our developers became core developers on this open source framework. Needless to day that the project completed very late (but was well received by management due to its nice UI) and a few years later none of the developers are around to support the product - that turned to be slow and somewhat unstable for the few customers we rolled it to. Your milage might vary.

user-pic

Ed, all I can say is - dude, too bad for you - I, personally, find the change perceivably sweet and the way software is written nowadays is simply awesome.
At one point I met an "experienced" developer who couldn't stop complaining about the dire states of the programming; he kept focusing on thinking about and understanding the problem before coming up with a solution and writing code - he loved one Dixtra guy he kept quoting ( and probably punched cards :) I mean, I could see them spending long days in 70's thinking how too hack some cool stuff - but today you'd simply google and see what other people think - I mean, you could even get the tweet before you have though about where you'd use it. The whole demand/supply balance of problems and solutions/ideas has turned on its head.
To give you an example - we saw some cool HTML5 canvas stuff and we instantly thought - where can we use this in our accounting app and both me and Mike said - I mean that was simply surreal - we thought about the same thing - and when people saw what we did with the Canvas - everyone was psyched, including the accounting dude who's also a Photoshop guru.
The fact is - now that the value and truthiness can be socially decided and agreed upon - this is probably the best byproduct of the Internet age and helps us make the next step in human social/technological evolution.

Paulo -

I understand the two options you outlined - a little generalized but I get your point. However assume that as a software development manager/architect, you select option 1 as the path for your particular project. But instead of building the entire framework from scratch, you chose to work with an open source framework as a starting point - like Sproutcore as an example. Why reinvent client side caching or other features when those are available.

Perhaps I'm missing something here but in an open source world, there is opportunity to add value on top of existing work while retaining aome measure of control over the underlying framework. The problem with proprietary "4GL"type frameworks is that you're at the mercy of the vendor with regard to bug fixes, security patches, feature extensions, etc...

JJ

Thx for the recommended links. I don't think Flash is going away nor do I think that HTML5 will replace Flash. However, the use of Flash will be marginalized, especially in light of Apple's current stance.

Ed -

First, thx for your comments. That said, I read your anecdote as more of a commentary about experienced thoughtful software development vs inexperienced developers easily wow'd by new technologies.

But what about the combination of experienced, thoughtful developers who also have the foresight to know that combination of Javascript and HTML5 represent the emerging web standard for the next 5 years. Thoughtfully leveraging these emerging technologies appropriately could mean competitive business advantage.

Using new technologies is no substitute for solid execution but neither is holding on to old paradigms. You correctly said "your mileage may vary"- I also have stories of development teams and companies that lost the competitive edge for fear of embracing change. Neither option is desirable.


Andre Yee blogs about cloud computing, SaaS, Web 2.0 and other emerging technologies that matter to businesses.

Andre Yee

Andre Yee is an entrepreneur and technologist with nearly 20 years of experience in the business of technology.

Recently Commented On

Categories

Monthly Archives

Blogs

ADVERTISEMENT