Saturday, September 10, 2011

Characteristics of SaaS Applications

The evolution of Cloud Computing has paved way to enterprises look at subscribing for SaaS applications as against licensing an application for exclusive use. The primary benefit being the cost savings due to centralization. As more and more enterprises are looking for Cloud and SaaS model for its application needs, the product companies are exploring options to enhance their existing products so that they can be offered on SaaS model. It is important to understand the key characteristics of the SaaS applications before planning for the conversion.

While the application should be accessible over the web is an important characteristic, the following other characteristics are also important to look at:

1. Multi-tenancy

Typically all applications support multiple users. But a SaaS application should support multiple users of different organizations. Which means there should be a mechanism to identify and appropriately differentiate the users of a specific organization. That is the application should support multiple tenants. The tenants would also be interested to have their data be isolated and not to be mixed up with that of other tenants. At the least, the SaaS application should have the ability to uniquely identify each and every data record against a tenant.

2. Subscription and billing mechanism

Organizations are embracing SaaS applications on the premise that they will be paying far less based on one or more parameters, which measure the usage by the specific tenant. For instance, SaaS application may be priced based on number of users or based on subscription and use of specific modules / features. Some times, the pricing may be even complex, where it could be based on the transaction volume or a combination of one or more such measures. So, the application should be capable of tracking and logging such parameters and that the billing could be automated.

3. Scalability

A typical web application is hosted on a separate instance owned and exclusively used by a specific tenant. Whereas in case of SaaS application, the provider owns the hosted instance, which is used by all the tenants. Though the provider has the option to host a separate instance for each tenant, the economy of scale would at its best when a single instance is offered for multiple tenants. Depending on the application's features and the wide reach amongst the potential customers, the customer base could grow so fast and the application should be scalable both horizontally and vertically to support the unexpected growth in volume.

4. Manageability

The tenants should have the ability to manage their part of the application including managing the users, roles, permissions, etc. As the subscription base grows, it would be ideal to leave the application management to the tenants themselves. This requires the application to have necessary features / functions for use by the tenants.

5. Self service sign-up

While self service sign-up is not a key characteristic, it is a highly desirable to have this feature when the customer base is expected to grow too fast. Similarly, on boarding a customer may involve data migration from a different application used by the tenants before. The SaaS application should expose appropriate interfaces / APIs to facilitate the migration. It would also be a desirable to expose APIs to facilitate export / back up of data by tenants themselves.

6. Tenant specific customization

Typically, product companies undertake to customize an application to meet the specific needs of the customers by enhancing the application. But this would not work in case of SaaS application, as all the tenants would typically be using the same version of the application. That means, the application should be highly customizable, so that it satisfies the specific needs of all the tenants. In a large scale SaaS application this is achieved by providing the ability to extend the application by defining and deploying specific screens and scripts by the tenants themselves.

That is not all. There are other characteristics too and some of them could be key depending on the nature and demands of the industry and the providers. Please feel free to share your thoughts.

Here are some useful reference links that deal with the SaaS application challenges and characteristics.

Saturday, September 3, 2011

Future of Personal Computer

With the evolution of smart phones and tablets, the survival of Personal Computer could be under threat. Let us examine, if there is a possible thing that PC alone can do.

Thick Client Applications: We have started seeing the increasing number of applications moving to the cloud and one just need a browser and may be an appropriate pug-in to run a cloud application. Even heavy weight applications like ERP suites and Business Intelligence Suites are now being offered over the cloud. In few years from now, I don't think there will be any compelling need to use a thick client application.

User Convenience:  Yes, a bigger monitor and a regular keyboard with a mouse will really be convenient to work on a PC. But do we need a PC just to have a bigger display and the key board? Not really, some of today's smart phones are dockable on to a device, which facilitates connecting to a bigger display and keyboard.

Higher Computing Power: When the applications are served out of Cloud, much of the processing happens elsewhere on some server(s) located over the cloud, and not much power is required on the client device. That is not the end, in few years from now, the smart phones / tablets will equally sport a high end processor with even multiple cores.

Extreme Gaming: Most of the popular games today are online games. Gamers also prefer online games which connects buddies from all over the globe to join and play together. More so, because the gaming service providers gain more in the form of Ad revenues in case of online games than Thick client games. Above all, there are special purpose gaming consoles in the market for extreme gaming.

Enterprise Computing: While it could be ideal to go with enterprise owned secured and locked down personal computers to access and process enterprise information, but that does not mean that they have to be PCs. Even now most enterprises are encouraging their employees to work from home on a Laptop, there by saving so much of energy costs at the physical location and at the same time commuting time for the employee. The evolving tablets could easily replace the Laptops.

Research firm Gartner slashed its growth forecast for the global PC market this year to 3.8 percent from 9.3 percent citing boom in media tablets.

You name one thing, we can think of how tomorrow's personal gadgets could address that. Would like to here from you on this trend.

Friday, September 2, 2011

Tap to Click feature of Touch pad on Laptops

Long time ago, when I was seriously preparing a process document on my Laptop and I kept typing in the text as it was flowing from my mind, not looking at the screen. When I looked up to see how it is coming up, surprised that the sentences were scrambled here and there. Then I started observing as to what is happening while typing in and found that the typing position suddenly changes to a an unexpected location, and your key strokes produce characters at an unwanted location! For a while I thought this could be a virus or malware problem or may be a problem with Microsoft Word.

But it did not took much time for me to figure out that this is the 'tap to click' feature of the touch pad. As you keep typing in, your thumb or such other finger taps on the touch pad surface and as a result, the typing position shifts to the position where the mouse cursor was at that time. From then on I have it included in my Laptop build document to have the tap feature disabled. May be this feature is useful for some, but for me it is a hindrance. Similar issues with the pointing stick, which is positioned amidst the keys and if you have it enabled, the chances of you taping on it is even more. Share your experiences with this feature.