TeXpressions

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 | No Comments »

(Mis)Economics of the Departmental Bell Curve rating of employees

Posted by sambasiva on August 10, 2007

Some companies use the bell curve rating method within each department during employee performance evaluation. The methodology involves dividing employees into ‘Under performers’ , ‘Acceptable performers’ and ‘Over achievers’ by matching the % of employees in each category to the shape of the bell curve and then making employee level HR decisions based on the category they fall into.

In a typical application of this method, 80% of the employees fall within the ‘Acceptable performers’ bucket with 10% each falling into the ‘Under performers’ and ‘Over achievers’ buckets. A company may choose to drop / terminate the bottom 10% employees while bestowing above average bonuses on the top 10%.

The following are the problems with this aproach

Lopping off the bottom 10% in each department

- You hemorrage good departments of good people while keeping questionable folks from the bad departments. Result is that good departments will be unnecessarily spending money/effort on hiring on a continuous basis while it impacts on-going business.

Restricting outperformers to 10% in each department

- This marks the return to communism if you will. If the rating is relative and not absolute why would the rest of the 80-90% of folks need to bother how hard / good they work as the result would be the same.

Assumptions

1. Not all departments are equal. Some departments can have people who are on an average very good and some departments quite the opposite (positively mediocre/bad)

2. An employee needs to be judged by his output vis-a-vis his job requirement and not by the output of his neighbour/colleague

Posted in Project management | No Comments »

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 | No Comments »

Kicking it off !

Posted by sambasiva on August 6, 2007

This is a brand new blog that will be dedicated to discussing topics in Technology and Management. Specifically, the initial focus will be on new developments in Technology, the field of Finance and the practice of Project and Product Management.

For the last few months, there have been instances in which I felt the need to share and discuss thoughts and opinions on a variety of topics. The idea of a blog as an outlet/ medium for this purpose seemed appropriate.

This being my initial foray into blogging, I searched for tips on how to go about the task and I stumbled upon an article by Rajesh Shetty regarding a ‘Blogging checklist’. I found this piece to be very pertinent and would recommend this to others, who like me, are starting out into blogging.

Please join me on this blog with your comments, critiques and thoughts of your own.

Happy Reading !

 


Posted in General | No Comments »