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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
I’m not expecting too much of HTML5.
The W3C is long defunct – updating its standard maybe twice a decade while no one actually 100% complies with it.
It’s Silverlight, Flex and such who are the future of the web. Besides who said the future involves a browser?
its AIR and Silverlight offline support (if we’ll get that) that offer the real interesting change…
Regards,
Eran Kampf
Eran, I see AIR as something Adobe is promoting to make hay while people trying to get comfortable doing everything with browser. I see no future as such unless I hear a compelling argument why it will matter in the cloud based system. Saying that people want an user experience similar to their desktop doesn’t cut because more and more people are buying into Google’s approach to user experience than Microsoft’s. Similarly, offline support also doesn’t make much sense because internet is getting ubiquitous and we have offline support for browsers which are maturing real fast. Is there any other compelling reason to think that AIR will matter in the next gen computing based in clouds?
Silverlight is a non starter because of their obsession with Windows platform. Well, you can argue there is moonlight for linux but it doesn’t help much in the form of better user experience. I wouldn’t bother much about Silverlight as long as Microsoft has this obsession with just supporting their own Windows platform.
Krishnan,
Silverlight is a cross-platform, cross-browser VM. It took some time for Java VM to appear on all platforms when it was introduced. From Silverlight FAQ at(http://www.microsoft.com/silverlight/overview/faq.aspx):
Shankar
Not to forget that both Flash and Silverlight are starting to target mobile devices too…
Krishnan,
JavaScript and HTML are technologies from decades ago. Sure they’ve been hacked to do some amazing things but still its currently used for purposes it wasn’t planned to.
Developing a decent application takes a lot of time and effort, its hell to debug, its not standardized across all browsers, and performance is no where it should be.
Ofcourse you can try optimize things like Chrome does but you’ll always have the louzy foundations.
The advantage of Silverlight and Flash are first and foremost – a standard. I dont have to test my code on IE, FireFox, Safari, Opera and Chrome (and do lots of hacking to be cross platform in my code) to make sure my code runs.
Developers get an advanced OO language that gets compiled which means developers get compile time errors, they can debug easily, they can even do unit testing.
In Silverlight’s case the fact it runs .NET runtime means you don’t need to hire people with special skill set to develope your web app. You can even share code (and devs) between a web based version and a richer client version (S+S anyone?)
Silverlight and Flash offer the web a technology thats in current state of the art (not last decade), standard, and continuously updated.
W3C has been working on updating its specs for how long now?
I do agree with you and Shankar if we assume that users need rich user interface with all bells and whistles. Then, I have no objections with your arguments. I will agree with it wholeheartedly. I think my fundamental disagreement comes from my belief that Google has finally changed the users expectation about UI with its minimalistic design. It is just a matter of time before users wanting a “light” UI with “rich” functionality. I think this idea of Software + Service will be vibrant in that intermediate period when users become completely comfortable with the Google inspired ideas of light design and working the clouds with just browser. Only time will tell which philosophy is going to be right.
Just so I understand this, are you saying that use of Silverlight (or any other rich UI) equals Software + Services? If so, how?
Shankar,
That was my response to Eran.
Any specific reason why you did not mention FLEX?
This could be somehow outdated already, but I agree with Shane. Flex is worth mentioning here, in fact it’s totally capable of being a base of user interface in such applications ( distributed computing, cloud/grid environments ). We have some strong experience here with our HPC-oriented framework (Vine Toolkit) and after many evaluations we’ve successfully adopted Flex/BlazeDs as our presentation layer. It’s the optimal solution for advanced data processing/presentation purposes along with a great
usability feature set.
Regards,
Piotr