Saturday, April 19, 2008

A Microsoft Cloud Database. Now its starting to make sense.

I apologize in advance for this fairly technical article, but I wanted to post about this to highlight that Microsoft can produce some really impressive stuff on the Development side of things, even for SaaS.

It was announced fairly recently that Microsoft was planning to release a cloud version of its SQL Server DBMS, called Microsoft Data Services, (Whitepaper found here.).

There are a number of major players in this arena, including Google, Amazon and even Intuit but that isn't the focus of this blog post.

Despite Microsoft's sometimes "perceived" less than committed approach to SaaS and Cloud Computing in general, they always seem to come up with some great additions to their development platforms.

Their latest .NET framework 3.5 Platform introduces a component called Linq or Language Integrated queries. This component which is based upon Functional Language constructs and Lambda expression building blocks essentially provides a SQL language capability embedded in the C# and VB.NET language sets used by many. It provides an abstraction layer hiding database specific language constructs from client apps.

Example:

var query = from p in Contacts where p.LastName=="Wing" select p;


Linq can be used against all types of collections, and in fact the building blocks of Linq, Lambda Expressions and extension methods also simplifies many scenarios where you have to iterate through collections. In instances where you would traditionally write multi line code with a FOREACH statement you can replace with a single line.
string[] contacts= {"Troy","Jane","Kim"};
IEnumerable contactList= contacts.Select(p=> p += " Wing").
.Where(q=>q=="Troy");
So back to the reason why I am blogging about this and why its "starting to make sense", these technical features which can make developer's lives a lot easier, actually have a more significant and strategic use. They will form the development platform for ISV's to build apps against Microsofts Cloud Database. Because Linq is Database agnostic, it becomes the perfect tool to use in the SaaS world when building Multi-Tenant Client apps. It removes the need to write complex database specific code anywhere in your app.

It will simplify development, and provide the ability to bring to market a SaaS product requiring a database backend a lot more cheaply and quickly and perhaps open up the SaaS market to smaller organizations who normally couldn't afford to build such an app.

It would have taken several years for such significant features to be designed and implemented by Microsoft, so although I don't know whether this was intentional or not, Microsoft has been seriously thinking about architecture for Cloud Computing for quite a while.

Monday, April 7, 2008

SaaS Vendors: Practice what you preach.

I have been quiet in March, due to my company acquiring new customers.
Writing blog posts about specialist topics such as SaaS requires a fair bit of regular reading, which was reduced to a minimum for me.
So in lieu of that I am posting on an area which was quite a significant part of what I was doing in March, Release Management and Source Control.

Like many companies, I run a distributed team of developers, some in India and some in Chicago and myself here in the East Coast. Its a major challenge communication wise but very doable if you have the correct tools in place.

True to my previous blog posts, we use lots of virtual tools to enable that communication, but one area we have stuck to traditional methods is source control.
It was an old habit that remained with me throughout the years. We have the usual on site Source Server (running Subversion on Apache) which is only accessible from inside our office VPN with regular offsite backup storage. Now this works fine, but as with all server environments this requires regular server and security support. With customer deadlines, developers were up at all hours of the night, and our internal VPN was experiencing occasional outages. Our guys in Chicago were more than helpful in getting up in the middle of the night to resolve, but this got me thinking, why are we investing in an on premise source control environment while we are trying to persuade our customers to trust us with their valuable and confidential data? We of course use a market leader in enterprise hosting for our production application and database servers which is an environment totally independent and separated from our office network and VPN.

So right now I am looking at possible outsourcing scenarios.

Option 1: Configure your own source server but leverage the infrastructure of a Rackspace or an Opsource.

Option 2: Go fully Software as a Service with your source control.
One in particular I have been looking at is Dynamsoft. If you google hosted source control, they seem to dominate. They offer a variety of hosted options including a free version for up to 5 Mb of source code and packages for Enterprise and ISVs.

It may be hard to consider putting your source code into an external environment, old habits die hard. But the same rules apply to you as a SaaS client. Simply research the SaaS Source control vendors, understand how they protect your code, look at existing customers and be comfortable with backup processes and how you can maintain a copy of the code locally.

I think its worth looking at.

Monday, March 3, 2008

Who is using Force.com?

A number of prominent blogs including Renee Boucher Ferguson, Sinclair Schuller and Bob Warfield this morning wrote about the outcome of an informal straw poll conducted during a panel discussion hosted by Phil Wainewright at the OpSource SaaS summit this week.

In a show of hands, Out of 250 ISV's attending the summit,only 2 were planning to use Force.com as their Dev Platform. (40 responded yes to building their own SaaS platform and 10 to a Software plus Services approach). Bob and Sinclair discuss their viewpoint on reasons why this was the case.

Some of these points included
1. Salesforce.com is not a neutral platform.
2. Its more of an "Extension platform" not a revolutionary one.
3. Bob adds that its too expensive an option.

So what is the sweetspot for Force.com? Bob rightly points out that it will appeal to Internal IT departments within Enterprise already using Salesforce.com as they are not as price sensitive. I agree with this as my experience at Dreamforce when Apex was first announced a couple of years ago, IT Department employees sitting at my dinner table were excited at the prospects of building their own modules, while the ISV's sitting at the same table were lukewarm.

I believe Force.com will find its dominant niche in areas which are CRM related. So I actually think its sweetspot will be vertical offerings of CRM. http://www.verticalsondemand.com/
, a Pharma CRM system built on force.com is a prime example of this.

The challenge of gaining a significant foothold into general SaaS platforms is a far greater one for Force.com. There are many SaaS solutions and ideas which are not customer centric at all. Maybe this is where Platform as a Service is heading? Specific Value Add platforms for specific business functions.

Friday, February 29, 2008

SaaS Presentation Layers exist out of the browser

In a recent blog post, SaaS Blogger Phil Wainewright made some excellent points on what defines a SaaS client.

Some purists may disagree, but my definition of a SaaS client goes outside of the browser to include a client that runs on the desktop machine so long as it’s still controlled and managed from the Web.

Phil's definition, reinforces the views I have repeatedly expressed in this blog.
Webifying Desktop
Software+Services or SaaS, the key word is Service not Software.

Phil discusses the real world examples of this happening, including RightNow who have showcased their new On Demand Release which utilizes Microsoft .NET Framework capabilities.

This is still true Software as a Service, because all the benefits of the Multi-tenant single code base exist in these flavors of SaaS client.

There are viable alternatives to pure browser based solutions, which up the ante in UI presentation and brings parity between traditional Client/Server (On premise) UI and SaaS UI.

What's next then? as per my previous posts I predict sometime in the future, Desktop and Browser will merge again. When a user boots up her computer, or utilizes their smart phone, it will be one and the same. SaaS will ensure accessibility to data in the cloud from all devices and not just via browsers. Cloud services will enable advanced deployment capabilities for SaaS client apps which will access services and data provided by a myriad of SaaS vendors.

Friday, February 8, 2008

Software+Services or SaaS, the key word is Service not Software.

Having read with interest Ben's previous post on Microsoft's Software + Services strategy, I feel like adding my 2 cents worth from a slightly different angle.

The keyword here is Service, which leads to me to think that Microsoft Office and competing disruptive products are not the best examples of SaaS. A critical strength of SaaS and where it will significantly disrupt (and already has in CRM and Project Management) is in the outsourcing of tools with a significant server side component with complex business logic, tools such as CRM, ERP and Accounting, Project Management, Business Intelligence/Performance Management, Talent Management,Sales Support, all requiring server side processing power and scalability.

The advantages of SaaS (excluding cost of ownership and pricing arguments of subscription over perpetual licensing) include eliminating needing to fund server infrastructure and support resources for maintaining your own data center, and multi-tenancy which ensures you always have up to date features without complex upgrades.

Whether your SaaS vendor chooses to provide a client side User Interface which is browser based using AJAX, Silverlight, Adobe or via a Microsoft Clickonce style (A Software+Services option) deployment is secondary to ensuring they provide a service which effectively and economically solves business problems (the Service component). The client side user experience is a key factor for user adoption but all the options above can provide that. The general user probably doesn't even care which one is used.

Microsoft certainly has its problems in the Web/Internet space and they are still playing catchup with SaaS but I don't think delivering SaaS is going to be a long term problem for them.

Thursday, January 31, 2008

Use Office Live Workspace or Google Docs, or both?

I just signed up for Microsoft's Office Live Workspace, which enables you to store office docs online and share them with whom you see fit. Currently,I use Google Docs Beta for publishing, in fact I use a lot of App Gadgets on my google page, Blog Reader, wikipedia and Linkedin and Google Analytics for Adwords and my Blog. But despite the availablity of online competitors I still use Microsoft Office for documentation writing, which still is a lot more usable than the online products.
On using the Live Workspace, its quickly apparent the Google Document Manager is more mature, its easier to share the document in less steps and the UI feels more cleaner and less cluttered.
I do like the Desktop sharing function in Office Live WorkSpace, very handy for presentations along with the ability to create Workspaces for different projects and clients. A major benefit also is the inherent offline capability of Office. Google is looking to provide that functionality at some point, but its not there yet, either way Microsoft Office will still have more functionality and usability.

I will continue to use Google Docs for sharing, but as Office Live Workspace continues to evolve I will probably use that when appropriate also.

Thats the beauty of Utility Computing, you can pick and choose who and what you use, you can choose to switch or you can decide that both offer benefits and you will utilize both when appropriate.

Tuesday, January 29, 2008

My favorite Google App is now a Windows Desktop App

I am a very heavy user of Instant Messaging tools.
At any one time I may have Skype open for voice and chatting to 2 or 3 people in New Zealand, Windows Live Messenger chatting with our offshore team in India, the implementation team in Chicago and Live Video call with my nephew, I also have been using Google Chat embedded in Gmail.

I can now add another to this list. I installed Google Talk Beta for the web (on my igoogle dashboard which is pretty cool way to chat) and the Windows version onto the desktop.

I am a little disappointed with the web based version as it appears to be a little sluggish and obviously lacks the voice call features of the windows version, but I am most impressed with the desktop version. Because its beta, functionality is not quite up there when compared to its more mature competitors. But the user experience is very intuitive, it looks pretty without too much clutter, responds well and it has a cool VoiceMail feature!!

Google has done a good job outside of the browser with this app. Their simple,uncrowded approach inside of the browser translates well to the desktop, but now with the superior response and accessibility of a desktop application.

I still believe the desktop will continue to be a major player even in the dominant arena of SaaS and Utility Computing. Perhaps there's something to Software + Services.