Does Cloud Require Change in Programming Mindset

Cloud computing is at the very peak of Gartner Hype-Cycle – literally!

All big players (Google, Microsoft, Amazon, IBM …) have jumped into it.

 

Lot has been written about the obvious Pros and Cons and I have listed the main arguments below:

The story is about … However, doubts persists …
  • Saving money through economy of scale
  • Cap-ex vs. Op-ex
  • Computing power on demand
  • IT as utility services
  • Security
  • Reliability
  • Integration with on premise application
  • Vendor lock in

But, a question which I do not think have received sufficient attention is – to move to cloud, do we need a paradigm shift in programming? Do we need to make a shift like we did when we adopted OO? In my mind there are 2 critical aspects that need to be considered.

Parallel Programming

It is clear that to be able to take advantage of computing power on demand we need parallel programming. The questions that we have to ask ourselves are:

  • Can the process of parallelization be completely shielded from the programmer?
  • Are all programming problems parallelizable?
  • Will we see new breed of programming languages coming up?
  • Is it necessary to learn algorithm like Map-Reduce algorithm to do programming for the cloud?

Move away from Relational Storage

In RDBMS data can only be represented as two dimensional tables. On the other hand most real world objects are better represented in hierarchical structure. With the advent of OO many people believed that over a period of time OODBMS will become popular – but that was not to be. Instead we saw the emergence O-R mapping tool which managed the impedance mismatch between object view and relational view.

Storing hierarchical object as XML inside a RDBMS has gained some popularity. The support for XML data type including xPath query and indexing on elements & attributes inside XML have started emerging. These features have many possibilities – but the awareness is low.

Coming back to cloud, I suspect that, to effectively harness the economy of scale of the cloud, we may have to move away from RDBMS. We have to start thinking in terms of:

  • Storing and retrieving objects rather than rows
  • Transforming collection of objects into multi-dimensional cube query and reporting

On the whole – it will be a transition at least as significant as moving to OO.

You should read this post – Is the Relational Database Doomed?

Advertisements

Gartner Hype Cycle and Copyright

In the morning, I opened today’s Times of India, Bangalore edition and on page 18 I found an article on “Gartner Hype Cycle of Emerging Technologies 2009”. There is no copyright notice. It appears as it some reported has picked up the graphics from the web and written the article. So, this may be a case of copyright infringement.

You can access it here – http://epaper.timesofindia.com/Daily/skins/TOINEW/navigator.asp?Daily=TOIBG&showST=true&login=default&pub=TOI and select page 18.

I had come across a post by Neville Hobson (2nd August) on Gartner restricts usage of hype cycle graphics, which discussed the subject of copyright. Gartner has a clearly defined policy on who can quote the hype cycle – Want to quote a Hype Cycle?.

Does such copyright violation help or harm Gartner?

I think it is good free advertisement of the report as well as the concept of hype cycle and I agree with Neville Hobson that by restricting the use Gartner is preventing “…buzz about their research…” to emerge.

Brendan Hughes has commented that a “…creative commons type approach here would be very beneficial for Gartner and more in keeping with the spirit of openness in the digital age.”

However, Gartner feels that the use of the graphics out of context can be misleading. For example, according to Gartner, labels like trough of disillusionment, is open to misinterpretation.

Other Hype-Cycle Reports

Apart from the hype cycle on emerging technologies, which receive the maximum attention, Gartner also published hype-cycles of many other topics (I counted 79 of the). You can see the list here. Each report is around USD 1,995.

However, if you are only interested in the finding out what technologies are covered in each of the report, it is available as the table of content available on the Gartner site.

Usefulness of the report

Here are few of my earlier posts discussing the same:

Has the time for Open Source ERP come?

For some time now I have been tracking the change in popularity of the top open source platform and I noticed a curious trend. At the beginning of the year ADempiere ERP was the top open source project. Looking down the list you would have found PostBooks at 8, Openbravo ERP at 9, webERP at 17 and OrangeHRM at 21. At that time it was mostly on my unconscious mind and had not “realized” it. But slowly the trend became more pronounced. Five of the top 7 open source projects are ERP. This is how it stands –order in which it is ranked in Source Forge:

  1. PostBooks
  2. Openbravo ERP
  3. ADempiere ERP
  4. – (others)
  5. webERP
  6. – (others)
  7. OrangeHRM

I decided to check on what other analysts have to say on this and found 2 posts which echoed similar thought.

Here is another interesting post which I came across today – “Stripped-down” open source ESBs still solid middleware engines

Open source seems to be everywhere!

Here is an interesting exercise which you can try:

  1. Think of top 20 (or top 50) software product brand – do not count versions or variant separately – example Windows OS is one
  2. Classify them as Proprietary vs. Open Source
  3. Also Classify them as Last Millennium vs. This Millennium – Use the first popular release as the date – example Windows 3.0 (1990)
  4. Fill the names in the following 4 quadrants – I have put few names (my dates may be debatable) – you can fill-up the rest

What do you see?

Mobile App or Mobile Web

Which is more appropriate for Travel Industry?

Since the launch of iPhone the mobile industry has been in a flux. It has witnessed lot of innovations since then. Today, more choices are available to the user than ever before which has resulted in a fragmented market. It has complicated matters for every organization which wants to reach out to their consumers through mobile. There are too many platforms to be supported and there is no standardization. Some industry segments have not made any significant move to reach out to their consumer through mobile platform and are playing a waiting game – waiting for the technology to mature. However, travel industry cannot afford to do that.

Mobile phone is a personal device – more personal than the “personal” computer. You might lend your PC to coworker or a friend for few hours but can you imagine lending your mobile phone?

Travel is also a personal activity. Nobody else can do it for you. Unlike retail shopping you cannot get your friend or family member to do it for you. Though you might get somebody to do the planning for you, it is necessary for you to be aware of the logistics when you travel.

So, the match between travel and mobile seems to be a match made in heaven where a personal device meets a personal activity. Naturally, there is a lot of interest in travel industry on reaching out to the customer through the mobile. In this fragmented technology scenario, one of the following two strategies can be followed.

  1. Take the shortcut and extend your web site and make it accessible from the browser in the mobile phone
  2. Do it the hard way by incurring the cost of developing a native application for multiple mobile platforms

Advantages of Browser Based Mobile Application (Mobile Web)

  • The variability across different types of handset is minimal compared to mobile application. You have to take care of only browser specific differences and the difference of screen size – unlike mobile app where the total programming environment including the programming language is different
  • No need for the user to download and install any application on the handset – this can be a stumbling block for first time user
  • The existing web site with modifications can be extended to the mobile – unlike mobile app where the application has to be develop ground up

Advantages of Native Mobile Application (Mobile App)

  • The application can be location aware – unlike a mobile web application which do not have access the location information
  • Offline working is possible – availability of internet connection and bandwidth cannot yet be taken for granted, especially for a traveler
  • Can access the native mobile functionality like phone book, calendar & camera – for an application to be effective on a device which is personal, it needs to interface with functionalities which gives the device the personal flavor

What about a Hybrid Approach?

There are several possibilities:

  1. Invoke the browser for the native application and show a specific web page – the problem is you lose control
  2. Make a browser instance within your application and show the page – you have better control but all mobiles do not support this feature

None of these alternatives reduce the headache of having to maintain different applications for different platform.

A way forward in the future may be to access handset specific functionality from the browser through browser plug-in? Please correct me if I am wrong, but to the best of my knowledge it is not possible yet.

What is the Future?

Though predicting the future is always hazardous, the following can be predicted without too much risk.

  • Smart phones will become much more powerful
  • Network access speeds will become faster
  • Touch screen and multi-touch will become standard
  • Mobile will remain a personal device and it will become an extension of us

Unlike PC, which can be thought of as a dumb terminal accessing applications in the cloud, mobile phones cannot be treated that way. It already behaves as an extension of our memory and it is also going to act as our identity.

So, the conclusion – I do not see native mobile applications going away – especially when we are on the move!

 

Gartner Hype Cycle 2009 – Emerging Technologies

Last year I had made a post on Is the Technology Hype-Cycle of any use?. In that I had criticized the “Emerging Technologies Hype-Cycle” for its lack of consistency from year to year. Gartner’s 2009 hype cycle is out and I am pleasantly surprised to see that it has better continuity compared to any of the earlier years.

For those of you who are not familiar with Gartner’s Hype-Cycle, here is a short explanation.

The assumption behind it is that every new technology creates an initial hype when everybody is talking about it. As a result an inflated expectation gets created around that technology. Since new technologies take time to mature and deliver value, it very rarely lives up to the initial hyped expectation. Therefore, after a peak of inflated expectation disillusionment follows till it reaches a trough. After this, some technologies dies a natural death and are forgotten. However, there are some which starts delivering value and people starts adopting them. When sufficient number of people adopts it, the technology is said to have reached the mainstream. The hype-cycle is represented as a graph and each technology of interest is plotted on the graph. Gartner also predicts the timeframe of each technology to reach mainstream.

This is how I measure consistency. I count all the technologies mentioned in the current year’s hype cycle. Then I count the number of those technologies which was also mentioned in last year’s hype cycle. The ratio expressed as a percentage is the degree of consistency. Here is the consistency figure from year 2004 onwards.

  • 2009 – 62%
  • 2008 – 44%
  • 2007 – 52%
  • 2006 – 47%
  • 2005 – 43%
  • 2004 – 46%

Is this because of the economic slowdown – that is speed of technological change has come down in last one year – hence a more stable hype-cycle? Personally I would like to believe that somebody from Gartner has read my earlier post and has listened to the “voice of customer”!

My Observations on this Hype-Cycle

  1. This year there is no technology which enters the plateau – is it because of the economic slowdown?
  2. It is good to see SOA, Wiki & Corporate Blogging climbing the slope – I have no argument with that
  3. But it is hard to understand why Location-Aware Applications / Services has been climbing the slope from 2003
  4. Similarly, RFID in some form has been sliding through the trough from 2004 – why is it still there?
  5. I am surprised to see Speech Recognition suddenly climbing the slope – there has been no mention of it in 2007 or 2008
  6. What happened to Social Computing – it seems to have disappeared from the peak last year
  7. Similarly what happened to Service-Oriented Business Application?

BTW: Please read the post by Ed Lee – The Gartner Hype Cycle: What Consultants and Agencies Need to Know.

If you want to know more about the 2009 hype cycle read this – Gartner Hype Cycle for Emerging Technologies 2009: What’s Peaking, What’s Troughing?

Finally, here is the link to Gartner’s site – Hype Cycle for Emerging Technologies, 2009