TeXpressions

Archive for the ‘Rich Internet’ Category

Microsoft Silverlight – A worthy contender to Flash and what the ‘Java Applets’ should really have been

Posted by sambasiva on August 12, 2007

Microsoft Silverlight

With Silverlight, Microsoft has delivered a robust ecosystem for Rich Internet Applications that includes a platform, development tools and hosting services to build and run graphical and event driven applications on the web.

Platform Architecture ( Extracted from MSDN )

The Silverlight platform as a whole consists of two major parts, plus an installer and update component:

The core presentation framework

Components and services oriented towards the UI and user interaction, including user input, lightweight UI controls for use in Web applications, media playback, digital rights management, and presentation features, including vector graphics, text, animation, and bitmaps. Also includes a DOM API for the Silverlight presentation Canvas and Extensible Application Markup Language (XAML) for specifying layouts.

 

The .NET Framework for Silverlight

A subset of the .NET Framework that contains components and libraries, including data integration, extensible Windows controls, networking, base class libraries, dynamic language compilation, and the common language runtime (CLR).

The installer and updater

An installation and update control that eases the process of helping first-time users install the application, and provides for low-impact, automatic updates later on.

Silverlight is a Competitor to Flash/Flex

The core presentation framework/runtime of Silverlight places it in direct competition with Flash. A write up from Jesse Ezell, an experienced developer comparing both technologies on aspects such as animation, shapes, text, video /audio, scripting languages and development Tools is available here.

Per the comparison, Silverlight does out score Flash/Flex in most respects, with its main challenges being adoption by end users and designers. Microsoft with its software distribution capability is very likely to make end user (anybody who browses the web) adoption a reality and a non issue. Its main challenge lies in convincing designers (as opposed to developers) to switch from Adobe Flash to Silverlight.

Silverlight fulfils the promise that Java Applets failed and Java FX aims for

By integrating the CLR and the .NET Framework components and a rich and easy to use presentation framework, all from within the browser, Silverlight fulfills the promise of building Rich browser based applications that Java Applets initially set out to deliver.

Microsoft has essentially delivered a product that merges the rich presentation capabilities in Flash and the robust managed runtime of a Java browser plugin. Initial reactions are that it has done a decent job.

 

Proof of concept

A few engaging examples / demos of the technology in action were presented at the MIX 07 Conference with BBC, CBS and Netflix presenting their early implementations of this technology.

These are available on the Microsoft website in the showcase section.

Silverlight Streaming services

In addition to the platform, Microsoft is delivering a service called Silverlight Streaming and it allows users and developers to host their Silverlight content and apps with Microsoft, taking advantage of their extensive global network of datacenters and their content delivery network.

Summary

Silverlight is a technology that was waiting to happen. The fact that it took so long and is actually coming from Microsoft is surprising. Finally, internet applications can sport the same sleek and nimble interface as desktop applications with a very important side effect being that UI developers now no longer have to master two different skill sets for building desktop UI versus web-based UI (as Silverlight is part of the broader Windows Presentation Foundation framework that is available on the desktop).

However, the challenge for Silverlight will be two fold :

1. Convincing designers that its development tools are better/equally easy to use compared to those for Flash

2. A majority of the corporate applications are deployed on J2EE for the reason that it is not proprietary and would not mean a lock-in into the Microsoft platform. Convincing IT managers of these applications to hire / retain a UI development team with a completely different “Microsoft” skillset will be a challenge with Java FX still holding out a ray of hope for the Java platform.

Resources:

1. Introduction to Silverlight from Microsoft

2. Silverlight architecture

 

 

Posted in Microsoft Silverlight, Rich Internet, Web Desktop | Leave a Comment »

Google Gears – Bringing Web Desktop applications closer to reality

Posted by sambasiva on August 6, 2007

Google gears

This is the first in a series of posts that will cover the recent developments in the Web Desktop and Rich Internet Applications arena.  

For the last decade or so web based applications have deeply penetrated both the consumer and corporate domains. One of the chief advantages was zero client foot print and its corollary, the ease of continuous application enhancement without any tedious application re-installs by the user.

The tradeoff with this zero client footprint was the need to be continuously connected to the network/server to use the application. Google has now bridged the gap with ‘Google Gears’. 

For applications which use AJAX to provide the pseudo-desktop feel, Google Gears is the next logical step. Google Gears gives web applications a more desktop like feel by enabling applications to run in an ‘offline’ mode. 

Key components of Gears :

  • LocalServer:  Enables caching of resources like images, pdfs etc for offline browsing
  • Database: A full featured embedded SQLite database that the JavaScript on the page can interact with using DDL and DML.
  • WorkerPool:  Allows JavaScript on the page to create worker threads to asynchronously performs tasks including connecting to the server for business logic or data. The first of the two features above help a web application work in a partially connected environment by working with a client side data store and syncing it up with the server when connected. Google addresses the data security concerns by making the client side data store available only to page within the same domain, schema and port. The local server is an interesting and at the same time a puzzling concept as it delivers a functionality that the web browser already provides. 

Proof of concept

Google reader

The feed reader from Google, ‘Google Reader’ utilizes Gears to enable users to download and read feeds offline.

Limitations

While this opens up a whole slew of opportunities for the new generation of ‘webtop’ applications, it is important to recognize the limitations of Gears.   From a developer standpoint, Gears is a ‘Javascript based application development environment’ and so will carry the limitations of developing in Javascript. Also, in its current form, it does not have the sophisticated libraries of mature frameworks like .NET or J2EE and in reality may never achieve that since that does not seem to be the goal for this framework. 

In addition, application developers using Gears will have to deal with the typical challenges of writing a web desktop application:

  • Syncing of data between the client and the server
  • Actively keeping the user informed of the mode in which the application is operating (‘online’ Vs ‘offline’) 

Summary

In summary, this is a potential game changing offering from Google which by using the ubiquitous browser as the run time and a simple 200KB plugin opens up the desktop for Rich and intelligent internet applications.   

Google’s success will however depend on it getting ‘Gears’ out of the ‘Beta’ mode and getting developers to write engaging applications on it which in turn will drive the wider audience to install ‘Gears’ on their desktop. This is not a slam dunk for Google as none of its applications except Search have really taken off. 

Google will also be competing in this space with Adobe Apollo/AIR (even though both companies have agreed to work together on this) and the likes of Pramati ‘Dekoh’.  (These products will be covered in subsequent posts)

Resources:

  1. Google Gears API Developer’s Guide (Beta)
  2. ‘The Power of Google Gears’ - An ‘OnLamp’article by Jack Herrington  :  This article has code snippets on using the Google Gears embedded Database using AJAX

Posted in Google Gears, Rich Internet, Web Desktop | Leave a Comment »