Showing posts with label Silverlight. Show all posts
Showing posts with label Silverlight. Show all posts

Sunday, June 1, 2008

Is Microsoft Silverlight ready for prime time Business SaaS Development?

There is no doubting the success of Adobe's Flex development product set in the SaaS Web 2.X world and there is no doubt with the release of Microsoft Silverlight Version 2 beta, Microsoft is attempting to head the same way.

Silverlight 1 was clearly targeted at simple website development with video streaming, animations and javascript/Ajax dev framework to enable a richer web experience, but it wasn't close to being ready for business application development.

I spent some time researching SL2 in my continuing endeavours for improving SaaS user experience. It introduces some major functionality including

1. A cutdown .NET managed code environment as an alternative to Javascript. This will be an attractive feature for the literally millions of .NET developers out there.
2. Ability to generate and use proxies for consuming SOAP and RESTful based services (A critical requirement for Business applications who need access to hosted databases).
3. More standard controls such as listboxes and datagrid.
4. Linq to SQL

SL 2 is definitely a huge improvement over SL 1 but there are still some major pieces to the puzzle missing.

1. Certain key controls are yet to be released including a tab control. Tabs are a very common metaphor nowadays in business apps. I cannot seem to find a combobox implementation, the most basic of databound controls.
2. Linq to SQL is great for handling collections of generated proxy data objects but what about situations where the data schema is not known at compile time, for example CRM and Business Intelligence Applications
3. Third party vendors are still building their Silverlight components, vendors such as Infragistics, and Telerik having announced their intentions to release but have yet to do so.
4. Cannot merge external resource dictionaries which makes it difficult for dynamic skinning.
5. No concept of a right click. Which makes it difficult to build right click context menus. Can be done by Javascript hookups, but is not a default behavior in managed code form.

So is Silverlight ready for SaaS? Well, due to its flexible UI design foundations (XAML) which enable you to build your own controls and the new capabilities for managed code development and Service consumption, the answer is yes (if you have time to work around the controls that are lacking). But I suspect that many ISVs will wait before adopting Silverlight as their primary UI platform for delivering SaaS applications, otherwise they risk reinventing the wheel.

Monday, July 16, 2007

New Stuff

Note to self: find something original to write about Silverlight, WPF, Linq and Acropolis.
This is really cool stuff to be playing round with, and there are plenty of bloggers writing about them now. Just need to find a different angle to discuss.

Monday, May 21, 2007

Web 2.0, 3.0 or is 2.5 what we really need?

As CTO of a SAAS delivery company, I am constantly trying to keep up and research the plethora of industry trends (and hype) to identify technologies that could actually benefit our business. You have to be really careful to separate what is truly ground breaking and what is market hype.

When the term Web 2.0 became widely popular a little way back, it really encapsulated the ideas of providing a rich user experience within the browser framework thus eliminating the need for desktop applications.

And to action these ideas, the AJAX approach was widely touted as the new enabler for this, although many of the core components of Ajax have been around for a while (Microsoft Outlook for the Web being a prime example of this).

The interesting thing about web 2.0 and AJAX as that many of the early sites using AJAX were really B2C type solutions , I had not seen any real Web Based Business Applications fully using AJAX.

We use Microsoft Ajax.NET components in our products, and have looked at AJAX enabling libraries such as Scriptaculos.. All these libraries are innovative and useful in their own right in reducing dev time, but fundamentally AJAX really a whole bunch of javascript which may communicate asynchronously with the server.

Its always interesting to see other sites talk about how AJAX is true thin client, but the amount of javascript which gets downloaded can be truly immense and running as interpreted script in the browser, you can be just as susceptible to performance issues as any windows application. So there is always a balancing act of functionality vs. performance with Ajax.

Now everyone is talking about Web 3.0 and what that may entail.. Lots of posts in the blogosphere about this.

Before we even get there, I think a Web 2.5 might be more realistic for business applications.

I have been looking very carefully at 2 Microsoft technologies.
SilverLight (which is very new) and Clickonce (which has been around since .NET 2.0).

In fact as mentioned in earlier posts, we have deployed Clickonce Offline Editions, but as part of this I have also included ancillary clickonce apps which are truly multi-tenant based and utilize our web based backend via web services for functionality. Its works incredibly well and believe me the development time is signigicantly less than AJAX equivalents we have developed.

Now I am evaluating Silverlight which definitely looks like a competitor to Adobe Apollo (which packages Flex and Flash).

I am most definitely excited about Silverlight. It may be a plugin but it is cross browser capable and platform independent. It also utilizes a cutdown form of the .NET framework which will give it rich development capabilities and is compatible with Visual Studio.NET.

I can definitely see Silverlight working hand in hand with our clickonce solutions.

I think Silverlight is going to take us to that Web 2.5 Level, where we are actually using newer technology than AJAX which will enable business solution providers to deliver truly rich internet based business applications with significantly less development costs and time than the traditional AJAX solutions. Some may compare it to Active X Control development for the web, but key differences lie in cross browser capabilities,.NET Framework and security model.

I would love to hear your thoughts on this.