This is a rant against the rapidly receding software platform known as the desktop. In the last year I have fully embraced Google Apps, which in spite of being a bit buggy and odd in their behavior, are far more convenient and less feature-bloated than the dreaded Office. Since our application is SaaS we’re naturally pre-disposed to this model, to the point where going back and using a desktop app is an annoyance.
For example if I create a spreadsheet (and to be fair I am an Excel lightweight) in Excel and I want to share it I have to email it around (I’m on Mac and most of my co-workers are Win) or put it somewhere all can access with the associated version issues. With Goog apps I just share and I’m done.
Perhaps my favorite example of this is the word processor app which reverts the entire Word model back to something like 5.1, a version I happily wrote a bunch of books with back in the nineties. Then I had to watch in horror as Microsoft started ‘improving’ the thing until every task was hopelessly complicated and confusing. I began to yearn for the ‘good old days’ of Word 5.1. In vain, until Google entered the productivity world with its very simple iteration of the classic office suite.
So what’s the point? A couple of things. When you design an application for a hosted model it has to be refined into something fast and scalable in a very unpredictable environment. Acquiring the skills and mindset to do this usually also means developing an appreciation for simplicity and good UI design.
It also means that development can be continuous because you’re no longer packing disks into boxes with big paperback books and selling upgrades. This creates a mindset that says features are built because users request them frequently rather than because you need selling points for the next product version. It also means that upgrades must be an actual improvement that is easily grasped by users because all of them will receive every upgrade- they don’t have the choice of sticking with an older version. So the changes you make better be good.
The result is a forced march towards simplicity even if the underlying engine is complex and powerful.
Another way of looking at this is to think about the engineers. They can no longer hide away for months and then unveil a bunch of crap only an engineer would think was cool (like that talking paperclick guy). With SaaS, if they add a stupid feature there will be howls of rage from users right away, a fact that turns those same engineers into experts on creating really great features instead of goofy annoying ones.
The source of this rant is my recent adoption of Salesforce. In spite of their terrible tutorials, the actual application is really easy to set up and use and makes great use of Ajaxy things to automate frequently used navigation and actions. It works really (actually I hate the reporting interface at the moment but…) well for most basic things.
As connections become ubiquitous and ever-faster, the viability of desktop applications diminishes, especially for lower horsepower things like Office-style apps. More important, as I’ve detailed above, I think the hosted model is forcing a major improvement in software design and usability.