Tuesday 22 May 2012

Web apps vs desktop apps


Web apps vs desktop apps

In this article I will compare the web and desktop applications, show the major events in the web app development industry for the last 6 years and based on that try to predict how the web apps will compete with desktop apps in the next years. I will start by showing advantages and disadvantages of using web apps over desktop apps.

Comparing web apps and desktop apps

Advantages for users

  • no installation and updating
  • access from anywhere with the internet
  • data is stored remotely
  • cross-platform compatibility
  • better suitable for low-end computers and require little disk space
  • client computer is better protected from viruses as the app is sandboxed inside a browser

Disadvantages for users

  • desktop applications have better user experience
  • require internet access
  • the remote server could be compromised leaking private information

Advantages for developers

  • easier to monitor every user actions, get full statistics and feedback
  • you can choose to completely control the server-side code making it impossible to pirate
  • easier to add collaboration possibilities as data is stored on the server
  • easier to make a mobile version if you use HTML and JS
  • easier integration with web services

Disadvantages for developers

  • as it isn’t a native application it has a lot of restrictions and limitations
  • less tools and frameworks for development
Web applications have a lot of advantages, for example, they don't require installation and updating which saves a lot of administration work for large companies. They're also good for users who have more than one computer, as all their data and preferred software is accessible on multiple devices.
It also becomes more important that web applications are cross-platform and work on different OS.
However, web apps have some serious disadvantages. The most important problem with web apps right now is their poor user experience, because of the performance problems and browser limitations. But computer processing power is getting faster exponentially (by Moore's law), and if you combine it with the browser performance improvements, we can be sure that this problem will be solved very soon.
Another major limitation of the web apps is the requirement of the internet connection. But this changes quickly, as mobile internet and mobile broadband becomes faster and cheaper. Land-line internet access also becomes more common. Take a look at the following chart.
Percent of households with internet access in UK
Internet access data from statistics.gov.uk 2002-2005 for GB 2006-2009 for UK Computer usage data is not reliable2002 2004 2007
This data is for the UK, but it is probably more or less the same for most European countries and the USA. The data for the percentage of households with computers is not reliable, but it's good enough for comparison.
As you can see, the number of households with the internet connection grew for an average of 3.4% each year for the last 7 years, and if this trend will continue then after a few years the lack of internet connection won't be a problem anymore.
Another possible solution for this problem is the offline application cache and local data storage implemented in the Safari and latest Firefox.
For some types of applications like mail clients and collaboration tools the advantages of web apps already outweigh the disadvantages, and number of good use cases for web apps will only increase.
To support my point of view, I would like to show you how the new types of web apps appeared and improved in the last 6 years.

Evolution of web apps

2004

web apps 2004
Images from extremetech and techcrunch
Important events:
  • Gmail beta released
  • Oddpost was purchased by Yahoo! and became the new version of their mail service
  • The term "Web 2.0" began its rise in popularity
  • 37signals launch Basecamp, a web-based project management tool
  • First version of Adobe Flex released
  • Wordpress (which appeared in 2003) adds support for plugins
  • Bloglines (web-based news aggregator) included in Time Magazine's Top 50 Web Sites
  • Flickr (image hosting) was launched
We will start with 2004, when some important events happened. Most of the web applications at that time were very very slow. And some popular ones like Oddpost just recently removed their dependency from Windows and Internet Explorer. The release of Gmail showed that the open web technologies ( HTML and JS ) are capable of more.
Microsoft saw this as a potential business threat, because instead of writing applications for Windows, some developers could decide to move to the web platform. Microsoft slowed this process down, by stopping active Internet Explorer development.

2005

web apps 2005
Images from solutionwatchtechcrunch and oreillynet
Important events:
  • Writely (now Google Docs) launched
  • Term AJAX appeared
  • Google Maps, Yahoo Maps, Microsoft Maps released
  • Zoho launched a web-based word processor
  • First versions of Google RSS reader
  • First version of CKEditor (open source WYSIWYG text editor)
  • Meebo was founded (instant messaging program)
  • Windows Live was announced
Web applications became more popular. Apps for navigation released by Google, Microsoft, Yahoo and first public document processing apps pay significant role in it.

2006

web applications 2006
Important events:
  • Google Spreadsheets launches
  • Google acquires writely
  • Tools and frameworks for building webapps are improving
  • Multiple time management applications appeared
  • Adobe Flex 2 with significant license changes released
Google Spreadsheets which allowed real-time collaboration launched. Simple applications like apps for time management become competitive compared to their desktop counterparts.

2007

web applications 2007
Important events:
  • Microsoft Silverlight released
  • Google Gears released
  • Adobe AIR released
  • Multiple Flash-based image editing tools launched (FotoFlexer, Picnik)
A lof of new tools for web development appear. Microsoft releases Silverlight, a direct Flash competitor. Adobe AIR allows developers to create a web applications that can be used as desktop apps. First usable image editing applications appear.

2008

web applications 2008
Important events:
  • Adobe Photoshop Express launched
  • 280 Slides Launched (presentation app)
  • Preview version of JavaFX
Adobe launches it's own image editing application build on top of Flash. First applications for creating presentations appear. Java releases a new software platform for creating web applications.

2009

web applications 2009
Important events:
  • Mozilla Bespin launched
  • First Flash-based audio editor released from Aviary
  • Microsoft releases Silverlight version of Bing Maps
  • Google Chrome Frame released
  • Google OS announced
  • First preview release of Google Native Client
Microsoft continues to push Silverlight and creates a new version of Bing Maps based on it. Bespin from Mozilla is the first web-based code editing application integrated with the source version control system. Also a first Flash-based audio editor is released by Aviary, which is perfect for non-professional use. Google Wave application which has an ambitious plans to become as common as email enters open beta.

2010

web applications 2010
Things to watch:
  • Google Native Client
  • Google Chrome OS
  • HTML5
I'm sure there will be a lot of exciting events this year. Google is planning to release a simple OS centered around web browsing and web apps. It is intended for netbooks, but will surely impact the web platform, by proving that the shift towards the web apps is already happening today.
Another interesting tool, which Google is developing right now is a Native Client, a sandboxing technology which allows to run a native code from a browser without compromising security. Potentially, it will allow web apps to run a few magnitudes faster, removing the performance difference between web and desktop applications.

Conclusion

In conclusion, I would like to say that the web applications are undoubtedly growing fast and this trend will continue in the next years. Apps that were impossible a few years ago such as browser-based audio editing software are now good enough for non-professional use. Email, collaboration and project management web apps are starting to replace desktop applications.
Tool for developing are becoming better. Microsoft tries to push his own Silverlight platform, Google is betting on the open standards. Adobe continues to develop Flash and Flex. And it will be exciting to see which platform for web development will advance the most in the next years.