Sep 30 2008 10:33:29 AM Posted By : Guest
Comments (9)
Editor's Note: Shankar Bharadwaj is an Information Technology professional with more than 16 years of experience in the industry with experience in diverse platforms. He works for Microsoft in Seattle. He will be writing a two part series on User Interface and Cloud Computing. We, at Cloud Avenue, may or may not share his views but we always encourage alternate viewpoints in our quest to explore the cloud computing terrain.

I was just reading Cloud Envy by Eran Kampf, in which he quoted Larry Ellison's comment on Cloud Computing. I have to say that I agree with Larry Ellison, that cloud computing has now become the fashion, the uber-term to describe any new technology that is remotely connected with the Internet.
 
The phrase "Cloud Computing" was originally meant to describe the concept of making available huge computing power at affordable prices, to the general public, on the Internet. One manifestation of that is the Amazon's Elastic Compute Cloud (EC2). But as Larry Ellison mentions in his rant, the phrase has slowly evolved to encompass any type of application hosted on the Internet. Following are a couple of application categories that come under cloud computing today: 
  • Line Of Business (LOB) applications:- Example is SalesForce.com
  • Software as a Service (SaaS) providers (previously called as Application Service Providers):- Google Docs, OfficeLive.com and hundreds of providers selling e-mail and web hosting to businesses. 
In this particular post, I'm going to put forward my thoughts on why graphical user interface is going to play an important part in the success of the above two categories. Finally I'm going to delve in to some details of the upcoming HTML 5 specification.

Though the pundits have been proclaiming the death of desktop (including our own Why Desktop Software is a Failed Model) for quite a few years now, the desktop has continued to survive and doesn't show any sign of weakness, if not gaining strength. People did not abandon desktop as expected. It will be naive to expect people to give up the rich user interface afforded by the desktop (be it Linux or Windows) for the browser.

If we trace the history of Internet, we find that the first communications were done using text-mode terminals. I still remember sending e-mails using my VT-100 terminal (was it Ctrl+M to send?) back in the early nineties.

The first attempt at rich user interface in the web was Java Applets, which was part of the Java language that first came out in 1995 (Cascading Style Sheets 1.0 was also created around that time). After looking at the Java's promise of write once/run anywhere and the applets, the anti-Microsoft crowd became euphoric. Larry Ellison and Scott McNealy (who was then the CEO of Sun Microsystems) came up with the concept of Network Computer (NC) and proclaimed that desktop is dead. But the Java's graphics APIs (Swing) was not compelling enough for the users to make the switch. And also since Java was compiled only to intermediate code (called byte code), Java applets had performance issues. The result was that people preferred  Windows applications over the "run anywhere" Java applets. Java never took hold in the desktop space.

Microsoft tried its best to make web applications look spiffier. They introduced ActiveX controls, which are actually native Windows programs running inside a browser. It was a moderate success, though the majority of the web continued to have text-like user interface.

Next came the technologies of AJAX and Flash, which have been dominating the web for the past seven to eight years. AJAX is the acronym for Asynchronous Javascript And XML. To explain this in simple terms, the JavaScript program in a web page makes an XmlHttpRequest call to the web server to get the data (in XML format), converts that to HTML format and displays it on the browser. Incidentally, Microsoft played an important role in AJAX. They created the XmlHttpRequest object, which is the back-bone of AJAX, for use in their Outlook Web Access. All of Google Apps are based on AJAX and so are many of the other sites. Flash, on the other hand, a product of Adobe Systems, became the technology of choice to integrate video content in to the web pages. Many of the sites, including the famed YouTube, use Flash to display video. Flash has gained mind share only as a technology to display video, which is limiting its adoption for other applications.

Around the same time when these two technologies were gaining ground, two other technologies came out. First one was Java Web Start from Sun Microsystems. Unlike the applets, web start applications are full-blown Java applications deployed on the web server. When the user visits the web page, the application is downloaded to the user's computer and executed locally. Microsoft responded to this with its own .NET technology, called ClickOnce which was released along with .NET 2.0. The only difference between the two technologies is that the former required a Java Virtual Machine (JVM) to be installed on the user's computer, while the latter required .NET Common Language Runtime (.NET CLR) to be installed on the user's computer. Both these technologies allowed the user to run fully featured applications without the hassle of installing them on the local machine. Since both of them required a download and since some applications were too big for the download speed available at the time, both of them had only moderate successes. These technologies are still in use and gaining ground, but the jury is still out on them.

My prediction is that all the above technologies are on the way out. The future of user interface on the web lies with SilverLight (from Microsoft) and HTML 5 (from W3C).

The best way to get people to use cloud computing applications is to bring the rich user interface of the desktop to the browser. I'll delve deeper in to the elements of SilverLight and HTML 5 in the next post and explain how they are going to change the face of UI on the web.

Disclaimer: The opinions expressed herein are my own and do not represent my employer or their views in any way.

Comments

Post Comment