Showing posts with label mobile. Show all posts
Showing posts with label mobile. Show all posts

Tuesday, August 24, 2010

Natural Synergy between Cloud Computing and the new Mobile Web

I was recently trying to write a document on how mobile applications will impact the hospitality industry in the coming years. Naturally one of the key technology areas that I talked about was HTML5 and its impact in the coming years. This implied that mobile web applications were likely to dominate n the coming years with the advancement of technology and the browsers, bandwidth (3g, 4g) etc. etc.

We already know that the number of smart phones is exceeding or about to exceed the number of PC’s and this is growing by the day. With the increase in mobile usage predicted by almost every analyst in town, we can easily conclude that mobile web applications which are to be created in the coming years will be accessed by a far higher number of users than the regular web ever had.

This means we are back to the era of the server side development taking dominance with the expectation that the web application will be scalable, able to take on load and yet deliver the agreed upon performance. There was a brief lull in this when people were busily developing native mobile apps. This is because in a native app most of the processing happens on the client and the application connects to the server only for data fetches. So people were busy creating beautiful looking native apps, taking advantage of the device’s features. But we can safely predict that this lull is over and server side architecting is back in fashion and how!!

With the number of smart phones increasing by the day, it is expected that the number of mobile users accessing a web site is a huge, increasing and variable load. During peak hours or periods this load is likely to increase further. Assuming that the application design is optimized, scale is achieved by procuring the required hardware. In the case of traditional hardware design we always followed the maxim of procuring hardware for peak usage. In this case predicting peak usage will be tough as it is apparent that the load is going to increase on a daily basis for a reasonably popular web site. Also this is bound to be a costly affair and introduce tremendous maintenance overheads.

Now comes cloud computing into the picture. Cloud computing as we all know has the capability of providing users with computing resources servers, storage, networks etc. and it is expected that they can be rapidly provisioned and released with minimal effort from the service user or the service provider, at a cost of course. The mantra is the cost savings that cloud computing provides without the need for upfront infrastructure procurement and maintenance. I.e. in the cloud way of managing infrastructure, an enterprise needs to rent only that much resource as needed for immediate use. Resources can be provisioned just in time and immediately released when no longer required.

Studies indicate that if a web application always has a uniform load there is no cost benefit in moving it to the cloud. Cost savings are achieved only in cases of dynamic load, by acquiring and releasing resources. So applications which have uneven load patterns become candidate applications which can derive cost saving from cloud deployment. More uneven load patterns will imply more scope for cost saving.

Thus it is a no brainer to conclude that mobile web applications or business services expected to cater to mobile usage are ideal candidates for being deployed on the cloud as it gives them cost savings as well as helps them cater to dynamically varying loads smoothly.

Another thought which comes into my mind is the security worry that enterprises have about deploying applications on public clouds. With mobile applications, it is likely that they may not be very critical applications and hence can be deployed safely onto the cloud.

Hence my conclusion.. What do you think??

Friday, August 8, 2008

Mobile Enabling an Enterprise

There is a lot of talk about mobile applications nowadays. Everyone feels that 2009 will be the year of the mobile. The success of the IPhone and the App Store concept from Apple may be fuelling these predictions. All enterprises want to be mobile enabled. No one wants to be left out of the race.

As you can see from examples Banks are offering mobile banking in a big way - Bank of America, Wachovia, Citibank, Wells Fargo , ING etc. to name a few. Airlines are adopting it and see it as the next big opportunity to communicate with passengers about on-board services, rebooking options, baggage pickup and ticket purchases etc. Mobile boarding passes are in (completely paper less like Continental Airlines). Back home our very own ICICI Bank (my favourite whipping boy) is offering mobile banking.

We all know how fractured the mobile market is. This is exactly opposite to the scenario in the PC world. For us software developers, Microsoft has done a huge favour by creating a monopoly and almost standardizing the PC world. We do not have the headache of creating applications to run on more than 2-3 platforms (Windows / Linux / Unix and rarely Mac). In the case of web applications we can dictate that the application will run only on IE browser and get away with it!

Once the action shifts to the mobile world things are not so rosy! First thing you do not have a market leader. You do not have a standard platform. You do not have a standard browser. You have a wide array of small players successful in their own niches. And to add to this you have geography specific usage patterns.

Then, there are the regular phones and the so called smart phones. Gartner defines a smart phone as "a large-screen, voice-centric handheld device designed to offer complete phone functions while simultaneously functioning as a personal digital assistant." How different is it from a PDA? Seems like both are converging, with PDA’s offering phone capability. (Check this out)

Symbian is the number 1 in the Smart phone market while Microsoft leads in the PDA world. Symbian is hugely successful in Europe and the rest of the world. But let us not forget US where they are almost nowhere. In the US smart phones are dominated by Blackberry, IPhone, Microsoft. But these are smart phone market numbers which were incidentally only 10% of the total mobile market in 2007. Mobile Web is big in Japan, in fact bigger than PC Web. Last but not the least is China where Linux based phones are hugely popular. Please remember, I have not mentioned Android despite all the hype as there is yet no single phone which is running that platform. Apart from this there are the regular phones (which are not so smart!). As per IDC 334 million handsets were shipped in the last quarter of 2007. Our own India is the 2nd largest mobile market in the world with around 250+ million connections at the end of March and SMS dominates our lives!

So what are the choices to develop mobile applications?
  • Browser Based
  • Downloadable applications
  • SMS Based

Wrt the choices of mobile application development platforms: Read this blog from my colleague Deepesh to understand the various mobile technologies.

The biggest problem in mobile application development is fragmentation due to differing device capabilities and a lack of standard platform supporting 90% of the devices. This is applicable to downloadable as well as web applications. (Read this blog by Simon Judge)

And given a mobile phone what are its limitations? Screen size definitely. No matter how big the screen is the device still has to fit into our pocket. Then is the battery, processing power, bandwidth availability, reliability of connection just to name a few.

Standard platforms like J2ME are very popular for creating games on mobile phones. While JAVA was projected as a common platform for creating applications across mobile phones, the reality is that there are still implementation differences across devices, which lead to severe maintainability issues.

However Mobile as a market is very attractive. Just look at the market numbers. Recent statistics suggest that the number of mobile phones in the world is higher that the total of PC’s, printers, monitors etc. Staggering!! And a mobile today is almost an extension of a person. Everybody you see is on a mobile. Also the spend on mobile advertising is far less compared to web advertising. So it is clear that there is a huge opportunity here. The question is how does an enterprise tap this?

If an enterprise wants to go mobile, it wants to cater to the maximum number of users. Given the size of the device it is not practical to offer a mobile version of the entire business application. Enterprises need to consider the following aspects:

1) Identify which parts of its applications it wants to mobile enable
2) Will mobile enabling mean ease of use for a consumer?
3) Which technology to use?
4) Which geographies to target?
5) Is mobile web a viable approach?
6) What are the types of handsets in the geography of choice?
7) Who are the major operators? (May need tie ups with key operators)
8) What proportion of mobile users are expected to use the application?

A clear requirement is that an enterprise’s application should be ubiquitous (means easily available I believe). Given the variations in technologies, devices etc., it makes sense for an enterprise to either focus on the lowest common denominator of technology availability or make applications available across the entire spectrum of technologies!!

Again let us look at my favourite example, ICICI bank. As I mentioned above they have launched a mobile banking service. They have chosen to go through route (2): make it available across the spectrum of technologies as much as possible. Just take a look at their mobile banking page. They offer services through downloadable applications (J2ME based), web, and SMS. And their downloaded application has the ability to connect to their services through GPRS or SMS depending on what the user has subscribed for! If you look at the download options on their site your will find numerous versions of the applications which are manufacturer and device specific even though they have used J2ME to develop the application.

Yet they have not covered the spectrum of service providers in India. For example they clearly say that: 1) a non JAVA enabled phone user cannot use the application, 2) If a user changes device, he should download a new version of the application, 3) the application will not look identical on all phones (depending on the visual interface of the phone) and last but not the least this will not work on CDMA mobile connections. Even their SMS version is only available to GSM users.

Given the number of versions to be maintained this clearly looks like a maintenance nightmare! And we have not answered the million dollar question yet, which is how many people actually use this service after all this trouble.

So for an enterprise what is the strategy? Do they wait and watch? Or do they jump in so that they have a presence ahead of their competition.

Mobile web seems to be the next big thing. There seems to be emerging standardization in the mobile browser world. There is also a reduction in the cost of data rate plans for mobile internet. IPhone with its full function Safari browser, is an example of how mobile web is becoming popular . But we are back to the question of, will it be supported in more than 90% of the devices belonging to the potential user base. With the price of smart phones falling and technology constantly improving maybe in 1-2 years browsers will become standardized, in which case first movers will definitely have an advantage. There are also some encouraging statistics for enterprises. Bank of America (which offers a mobile web solution) says that it has more than one million mobile banking customers.

As a parting note, let us also not forget that Apple has provided the SDK in this version of IPhone and the App Store has been extremely successful even though it is only a month since its launch. Nokia has open sourced Symbian and Android based phones are just round the corner. So wishing you all the very best in mobile enabling your application !