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.

Wednesday, April 11, 2007

On Demand Sales Analytics and Salesforce.com

I haven't posted for a while, its been a very busy development month. We have been busy deploying our offline version.

Anyhow, I have included a link to an interesting blog post/webinar by Senior Product Manager of Analytics at SalesForce.com Darren Cunningham.


Measuring Sales


In this blog Darren refers to our Forcelogix Products as examples of the power of on demand solutions for Measuring your organizations sales performance.

He also links to a research paper which you can pull down from the post about Forcelogix products.
Download forcelogix_coaches_sales_performance_management.pdf.

In case you weren't aware, We have a tight integration process with Salesforce.com using their AppExchange API, Our app will utilize the API against Professional Editions of Salesforce.com and higher.

Sunday, February 25, 2007

Building and deploying Reports in Multi-tenant applications

One of my early challenges in SAAS was to determine the best way to build and deploy reports for our customers. These would include a standard set of reports common to all clients and then customized reports which are unique to a particular customer.
We didn't want to "reinvent the wheel" by writing a reporting engine which many organizations have already done.

I have always been keen on the idea of using Microsoft Reporting Services even in the early 1.x versions due to its tight integration with SQL Server and Analysis Services. It may have been limited in report functionality and suitability to multi-tenant web based solutions, but I found a way to get it all working using the Web Service API and careful management of Report Folders.

With the release of SQL Server 2005, Reporting Services is taken to a whole new level.
With the inclusion of invisible parameters and the ability to use parameter variables in the connection string we were able to come up with a far more elegant and scalable solution to multi-tenant reporting. If there is interest, I will publish details on how we did this.

We are looking at adding more functionality to our reporting module by utilizing more features of RS 2005 such as multi value parameters and drilldown.

We looked at a number of OpenSource reporting products which are good in their own right, but RS 2005 always had the upper hand due to its close fit around SQL 2005.


The end result, is a quick and low risk way of maintaining common reports across multiple clients (only one upload of report is required which complies with the multi-tenant model) and to deploy customized reports to specified customers.