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
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.
Internet access data from statistics.gov.uk 2002-2005 for GB 2006-2009 for UK Computer usage data is not reliable2002 2004 2007This 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
- 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
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.
- 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
- 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
- Microsoft Silverlight released
- Google Gears released
- Adobe AIR released
- Multiple Flash-based image editing tools launched (FotoFlexer, Picnik)
- Adobe Photoshop Express launched
- 280 Slides Launched (presentation app)
- Preview version of JavaFX
- 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
Things to watch:
- Google Native Client
- Google Chrome OS
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.
ConclusionIn 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.