There are many surprising trends that have taken place over the past few years, cloud computing, the browser becoming the OS, the iPhone app store phenomenon, the advent of fast and cheap broadband. All of these trends are making big changes to the relationship between software and the internet.
In the future applications and services may combine different aspects of each model to provide a more complete user experience.
The Google Model:
With the advent of the internet, more and more applications started to be transferred to the web browser. This so called “Cloud Computing” model stores all data in remote servers and has many advantages. For the end user, their data is always available from whichever computer they use and their data is safe from being destroyed by malfunctioning hardware or computer loss. Software applications and data being on the internet present a huge boon for collaboration, the potential of which we are still a long way from realizing.
On the other hand, cloud computing requires an always on internet connection. Whilst this is becoming increasingly possible due to the ubiquity of wi-fi and smartphone tethering, it’s still not always something you can take for granted. For example, foreign travellers know that smartphone data roaming is a bad idea outside their home country and Europeans still have to pay around $20 a day to access a Wi-fi connection in a café.
The other major drawback to the browser application model is the user experience. Although modern browsers such as Safari and Chrome have done a lot to improve the user experience, becoming faster and smoother, it’s still a long way from what can be achieved using native applications.
The advent of the iPhone app store was driven by developer demands to create native applications for the platform. It has been an astounding success by anyone’s measure and a surprise for Apple. One of the things that it shows is how native applications can give a much better user experience than browser based applications today. The adoption en masse by users of native applications has partly been driven by their relative ease of use.
iPad’s introduction in many ways will increase the usability gap between native and browser apps. Touch based interaction will drive new paradigms that the slow moving world of HTML standards will not be able to adapt to as rapidly as designed for iPad native applications.
At the end of the day, applications such as iWork still offer a far more pleasant user experience than Google’s docs, however good the latter may be. Apple’s success has stemmed from being able to offer the best user experience rather than the most functionality. Take away this: the user experience provides a lot of value.
Applications such as the note taker Evernote point the way to the future. Evernote offers a fully featured native client across Mac, Windows, iPhone etc which syncronizes the notes that are entered to the cloud and across all of the devices upon which a user has installed it. Add a note on your iPhone, you see it on your desktop.
The Future of Applications:
If you consider expanding this model to, say iWork’s Pages desktop publisher, you see why the client-cloud paradigm makes so much sense. With the native app you get the user experience benefit and then you use the cloud to store your data for use across different devices such as your Mac, iPad and iPhone. The cloud can then be used for collaboration, and you can even have a web app specially designed for others to be able to comment on your work if they don’t have the native apps on their system.
The Client-cloud model leverages all that best about native applications with all that’s best about the cloud to give a truly excellent user experience.
From the point of view of the Product Manager, it’s essential to understand how this new model can be leveraged for your products. Using on demand storage, such as Amazon, can make the costs related to the service more manageable as it scales, and being early on the market with this kind of solution can bring real competitive advantage. It also means designing your application ecosystem from the ground-up to support this model.