Well, I got an XBOX One for XMAS and the first thing I was presented with when I went to turn it on was a screen asking me for updates. Now this isn’t meant to be a blistering narrative against the hackers, XBOXLive or Microsoft – it’s a bummer it, it happened, everything is great now, I have all my updates and I can merrily play away. However, when your first experience with a product is that you literally cannot do anything with it (no updates = no playing), you start to question it’s value, buyer’s remorse slowly starts to ebb it’s way into your brain and you are left wondering. I for instance wondered all the way back to Christmas Past where I once received a new Sega Genesis with Sonic the Hedgehog 2 and the hardest part of my day was trying to get the TV cables to line up so I could rip through that jungle.
The installation isn’t the sexiest part of your software, but it is the first thing your customer experiences, it’s the first peek they have at seeing what kind of a company you really are and how you handle the bad and the imperfect – system requirements not being there, critical patches being required upon first-time use or RSS related update feeds explaining what the exact problem is, etc, etc
Two models exist for application software delivery today;
- Application Ecosystems – AppStore, Windows Store, Google Play
- On-Premise Installations – download, follow guide, setup requirements, install
- Cloud – SaaS with no developer extensions, just provision my apps please.
The reason Application Ecosystems are so successful is because they force the developer to conform to the user installation experience of the ecosystem – you want to play with us, fine, set it up and deploy it this way, after that do as you wish and ask permissions if you want to do more. There is no other way. The ecosystem ensures the user gets the same experience every time and when they don’t, the user blames the platform not the developer.
Now compare to an Enterprise On-Premise Application install, download prerequisites, follow guide, setup software, kiss the girl, you get the idea. Between different vendors and services everyone has different hooks and UI between getting their application installed where you don’t have the benefit of an ecosystem. At best you might have a similar OS, and by similar I mean they have the word “Windows” in the OS name because once you get into x86 (who uses that?), x64, different versions of frameworks, leveraging OS components that were once patches and are now roles – your world of hurt gets much, much bigger. And that is where you need to kill it, because if you can nail the install to be slick, smooth and up and have your customer up and running out of the gate – you’re miles ahead of the other guy and you haven’t let that little buyer’s remorse voice enter their head telling them to download the trial of the other guy whilst trying to install your app for the xth time.
Cloud, on an Enterprise level, at that point it’s more about provisioning services and less about actual installation. But I’ll give it up for those of us building configuration apps that do the heavy lifting of any install. Build me the multiple tenants I need, setup my users, get me setup and running. Same scenario, you’ve got to be on your game, so the experience is a work of art, when the user loses connection, you recover, when something goes wrong on the server, you recover. Just as the guy who is fumbling through your install and downloading a trial at the same time, the guy in the Cloud is fumbling through your configuration while signing up for 3 more services to see if they’re any better.
Kill it with the installation and configuration of your software and you will be far ahead of your nearest competitor, leave it to the next to last feature to be developed and you’ve just given them a huge window.