In this post I talk mainly about existing Windows applications and not the new Metro applications which will be introduced in Windows 8. Metro apps are a new type of application which are mainly for touch devices and are not meant to replace Desktop apps.
If you are somewhat experienced in using a mouse and keyboard then chances are that you have helped other people to install software on Windows before. Downloading applications, installing them and making sure that you don’t get any viruses, malware or browser toolbars in the process seems to be quite a challenge for a lot of Windows users and I am not at all surprised about this.
I think, as developers, we are so used to these familiar actions that we forget how difficult and daunting they are for the average user.
The first challenge is finding software. I am a naturally curious person and as such I have tried thousands of applications over the years, hence, when someone needs advise for a CD recoding software or a photo library application I point them to CD Burner XP and Google Picasa as in my experience they are the most usable and useful. Without personal recommendations from someone you trust or the experience of having tried a number of these applications, users normally just Google what they are looking for and are confronted with a huge number of different websites and applications. Some of them are great. Some of them are not so great and some of them are harmful. Scams, viruses and malware is often unfortunately just a few clicks away.
Even when users settle on an application to try out it is often difficult to navigate the thousand different websites to download the application. A lot of websites also have advertisements that look like they are the download links to trick people to click on them.
A great example of this unfortunate practice is the website of the quite popular and useful Paint.NET application.
(red boxes are not the download but are advertisements – the download is marked by a green box – even when you click on the real download link you still have to navigate two more screens which are all riddled with advertisements)
At NovaMind we try to make it as simple as possible to download our application. A single click on the prominently placed Download Now button will start the download and moving your mouse over the button gives you detailed information on how big the download is, what system requirements the application has and also allows you to quickly switch between Mac/Windows versions.
Unfortunately a lot of other websites are not that easy to use. Case in point, our competitor has this:
I especially like how they require your email (even if you don’t want their newsletter) and phone number. Also, ‘Continue’ suggest that there is more pain to come before you are finally allowed to try their product.
Even if a user manages to find the application that they think they need and find the download link and manage to find the downloaded file on their computer there is still one last step. Installing the application.
This should be easy, right? They basically just need to confirm that they indeed want to install the application. On Mac OS, if you decide not to use the App Store, installing downloaded software is dead simple.
To be fair, there are more complex scenarios but even these look like a walk in the park compared to things I have had to endure on Windows.
On Windows the situation is very different. I will spare you the dozens of screen shots to illustrate the horrible user interface and user experience. I am sure that you aware of the click ‘Yes’ –> click ‘Next’ –> click ‘Next’ –> ….. click ‘Next’ –> ‘Finish’ approach of Windows installers.
A lot of applications also have dependencies on other frameworks that need to be installed and some of these frameworks have dependencies on other things as well. Often the user is confronted with more than one installer (each of them with the potential to fail or to cause reboots).
I am working for NovaMind and over the years we have tried many different ways to make the installing of NovaMind for Windows easier.
Unfortunately installation technologies on Windows are riddled with problems. As a user you can see the symptoms with failing installations, non-localized text, pixelated pictures, pixelated application icons and applications that can’t update or uninstall properly.
As a developer you can easily see that the installation technologies on Windows are plagued with issues. Just search on stackoverflow for Windows Installer, Msi, WiX or even commercial solutions and you easily find hundreds of questions, a lot of them pointing out flaws or issues with the technologies. You can read about my own experience with this mess by checking out my answer to the question Can anyone provide a good “idiot’s guide” to creating an installer in VS2008 (C#) Pro?. Unfortunately, I am not the only one experiencing this. Windows software developers around the world waste days of their lives fighting with these kind of things instead of creating and improving great applications.
On the Mac there is a widely used framework for live-updating installed applications called Sparkle. On Windows, almost every application has their own updating system and it is no wonder since there is no live update framework that just works.
I think that Windows would be a much more attractive platform if finding, trusting, installing and updating software wouldn’t be quite as difficult. Microsoft has done major damage to the Windows ecosystem by not providing such a system. In my opinion it is no wonder that a lot of innovative new applications are either on the web, on Mac OS or on phones.
The solution is not yet another installation framework or third party installation application that is patched on to the platform. The solution must be baked into the platform itself and completely hide away all technical aspects from the user. There should simply be no setup of applications – at least not from the point of a user.
One click and a progress bar is all there should ever be for installing, updating and removing of an application.
What we need is a central, easy to use, attractive and trustworthy place to find, purchase and install high quality applications. In short, we need an App Store.
For the longest time I strongly believed that Microsoft will come out with a Windows App Store that would finally do away with all this and solve one of the biggest pains on Windows. Microsoft would invent a new way of packaging up your application that would be simple and would support almost every type of application, be it native, .NET Framework or something else. The new App Store would finally give users a central place to find useful software which is free of crapware or malware and Microsoft would finally be able to highlight some of the great applications that exist for Windows and revitalize Windows Software development on the client. Purchasing applications would become more commonplace and the quality of applications would increase. Software developers would be able to earn money with their applications without having to trick people to click on false download links and without installing browser toolbars and Microsoft would earn a lot of money in the process. Everything would be better.
When Apple delivered their excellent App Store on Mac OS I had no doubt that Microsoft would follow suit very soon. Now, finally, Microsoft has unveiled the new App Store in Windows 8 and unfortunately it will not solve any of these issues.
I have explained why I think this in my post Why the Windows 8 App Store will fail
This is bad news for users and worse news for software developers. Users will continue to struggle with downloading and installing software and will instead use web services or switch to Mac OS and software developers will not have the opportunity to sell great applications to a large market and will continue to waste valuable time just to have a working installer.
It seems that if you want to create a Desktop app and have it in front of millions you should start developing for Mac OS instead of Windows as they already have this App Store thingy figured out and have it successfully on the market today.