So, if you are being inundated with an onslaught of customers, you pretty much have no choice. You just have to lay down code as quick as possible without breaking anything.
But once the flood of new users (and wider appeal) takes effect, then feature-creep sets in. Then the complaints stream in. Then the reputation for being ‘hard to use’ becomes the norm. What happened?
On the surface, easy and simple seems so innocent. It’s practical and obvious to many that if you make a feature, it had better be easy. But what many people don’t understand is that “easy” and “simple” and [implicitly] “powerful” are all very demanding adjectives for software solutions. I’ll get into this in a moment.
When there are fewer competitors or alternatives, it is quite easy to make the decision to add more features and neglect the priority of the users. After all, if it does more, it is better, right?
A fantastic example of this is seen between today’s big three web browsers: Microsoft Internet Explorer, Mozilla Firefox and Google Chrome. All have slightly different paradigms, but in the end, they deliver the same access to web pages that you and I currently visit. But what went from a browser “packed” with features and the ability to easy load up on third-party toolbars (Internet Explorer), shifted to a browser focused on speed and security (Firefox) to a browser focused on minimalism and a “get out of the way” approach to web browsing (Chrome). You might disagree with me on the semantics here, but you can’t help but compare the user interfaces, prompts and general navigation experiences seen by users.
More than anything, this isn’t a lesson on marketing. It is a lesson on the discipline of being extremely intentional about every feature, every experience and every user. Google Chrome, for all intents and purposes, probably aims to be the number one web browser and must appeal to the masses. How do they win the power-users and coders? Extensions and a Developer console. How they win the “regular” web users? Make it a clean experience — “just the web, please” kind of experience. How do they win the security community? They stress-test the hell out of it and even fund security competitions and give praise to hackers who can attack the browser. How do they win everyone? Make it so blazing fast, that it becomes the standard that rivals are compared to. (It doesn’t hurt to also attract engineers who obsess over this stuff.)
But, let me get back to “easy” and “simple” for a moment.
Easy is defined [1] as, “causing or involving little difficulty or discomfort.” Simple is defined [2a] as, “free from ostentation or display.” So if easy means that the end user needs to take minimal effort to achieve a benefit, and simple means (roughly) free from distractions, it seems like we have a good formula for creating great software.
Now that there are multiple alternatives to incumbent software solutions. Users don’t have to stick with software that causes them to scream in frustration. In fact, it is because software has traditionally been difficult to use and/or difficult to achieve a stated benefit, that more solutions have been created and has influenced more people to “switch” to a rival in nearly every category.
Here are a few mainstream examples (and these aren’t necessarily indictments on the former):