Wednesday, May 09, 2007

Web 2.0 - The New Simplicity: Interfacing with users

To borrow a current catch phrase, "At the end of the day," when it comes to writing computer software products, its success is how it best communicates with the end-user, the people, you are presenting and extracting information from.

Currently, there is a renewal of the old-age battle of what is best for the user: the offline (fat, downloaded software) client versus the online (thin) client.

The beauty of the web was in its simplicity with basic I/O with the user. Today, with video, music and the shifting of the brick and mortar business to the Internet, the explosion of information, requires a new paradigm of both mixed thin and fat clients.

There seems to be a battle between various companies competing for your mindsets in defining what that new "simplicity" is: Microsoft, Adobe, Google and Mozilla. We can include Apple, but they seem to be in a league of their own.

To explain all this, requires research and tabulation of all the various efforts currently available or current in development to define this New Simplicity. It is a mind boggling effort. One day soon, I will finish my research and try to provide a summary report of Web 2.0 efforts.

But in the mean time, here is a short synopsis of the situation:

Google and Mozilla

When it comes to thin client, you have Mozilla (FireFox, Thunderbird) who have defined their own open standard methods of creating presentations. Overall, the "Browser" is the solution to everything. Since Google does not have an operating system like Microsoft, its only method of penetrating the market place is by using its Search dominance as a platform to attract a world-wide community of users to essentially build its own network-based operating system of components called Google widgets. See iGoogle for a example of all this.

But how does Google get their technology? Well, for the most part it all seems to be coming from the open source Mozilla community. In fact, the new FireFox 3.0 currently in development is infested with Google branded.

Microsoft, Adobe (and Sun too)

When it comes to the fat clients, these two gorillas are battling it out for desktop clients. In short, you have to download or install software. Microsoft built its dominance by providing everything they think you need into the Windows Operating Systems. So when you installed Windows or purchased a new PC, it came with Outlook Express, Internet Explorer, and "Junior" or "Trail versions" of their elaborate Office products.

Adobe is an interesting company. I'm not sure when it decided to take over the world, maybe it was in self-defense, but their recent Web 2.0 story probably begins with Sun.

Adobe is most famous today for having captured at least 90% or more of the PC market place when it comes to online Video and Music playing with their Flash and Shockwave stuff. This fact has got Microsoft all stressed out, and that's putting it mildly.

Nonetheless, Flash is a small piece of software called a "plug-in" that users must install with their browser in order to play video and songs. Flash competes with the Microsoft Windows Media Player (WMP) already installed on the computer. But as FireFox became more popular, not everyone could use WMP. WMP is based on ActiveX and ActiveX is a NO-NO in FireFox (for security reasons). Flash really exploded into the market place when the immensely popular YouTube used Flash instead of WMP for its video sharing service.

But that was not enough for Adobe. This is how Sun comes in.

Sun is famous today for its Java Run Time Engine - yet another piece of software you download in order to run Java-Based Applications.

Sun and Microsoft have long battled each other over the Thin vs Fat client market. So much so, that Sun sued Microsoft when Microsoft tried to take over the Java Market with their separate "modified" version. Today, Microsoft no longer supports Java. Instead, they have .NET. Another piece of software you have to download to run .NET based products, however, since Microsoft owns Windows, all Windows versions now have .NET automatically.

So on your PC today, you have essentially three "Run Time Engines" in order to run "fat clients."

- Google/Mozilla with browsers using JavaScript
- Microsoft ActiveX and .NET
- Sun Java

Since ActiveX is part of .NET and required, we can lump it together, leaving us with .NET and Java.

But today, Adobe is using Sun's Java as a platform to write their own new "Media Player" and new development platform to define the new "simplicity" with their new Flex and Apollo framework.

Not to be out done by Adobe, Microsoft now has release "SilverLight" which will compete with Flash, Flex and Apollo. As mentioned, Microsoft is really worried about Adobe's Apollo/Flex efforts, so much so, they were forcing SilverLight into every one's desktop with all new security patches and Windows updates. This didn't go over too well with the market place, plus it has Anti-Trust ramifications. So Microsoft has backed off that "Throat Stuffing" SilverLight distribution. It is now optional (Wink Wink).

In the end, we have the following competing forces to define the New Simplicity:

- Microsoft with Internet Explorer
- Google/Mozilla with Firefox browsers
- Microsoft ActiveX and .NET
- Sun Java
- Adobe Apollo/Flex
- Microsoft SilverLight

Wasn't that simple?

And it really doesn't end there. There is so much more in the internal details of all the above. It isn't a pleasant concept to follow.

To most users, possibly none of this really matter doesn't. They will use the browser, and the widgets will use the browser, the .NET and the Flex stuff. If a vendor is forcing or offering a "desktop" component down their throat, most users will use it too. At worst, they will have a bloated machine that will require three Cray mainframes to smoothly run all these stuff.

But for developers, its a living nightmare!!

No comments: