Openness for the Developer & the User
I recently saw this comment in a Hackernews Thread, in reference to the battery performance characteristics of major mobile devices. Emphasis mine:
Absolutely that’s a problem with Android. It’s a natural consequence of having a platform where apps are free to access pretty much any hardware in the background with no review (that’s a good thing if you’re a developer though).
However, Android gives you tools to see which apps are using the most battery, and you can uninstall them if they’re a problem.
At first glance, this makes sense. When a developer is given more freedom in the Operating System that they develop for, they have the freedom to make Applications for users. The argument that ‘open is better’ often boils down to this.
The Hacker Mentality of Open Systems has lead to so many great products such as the Raspberry Pi , Linux (and therefore Android) and tools that developers use the world over. The libertarian philosophy of doing as you see fit with the hardware that you own, is certainly romantic in the way it provides a romantic liberation from our closed overloads.
Unfortunately for the Hacker Mentality, nobody cares.
Or should I should say, ‘only a very small and vocal minority of people care’. If you are writing an App for non-technical users (and you most likely are), these users care about a few things:
- Battery Life
- Lots of fresh and up to date content
- Availability on my Operating System
- Not asking for creepy personal details
- An attractive and friendly User Interface
- An accessible User Interface
- An interface that responds to my type of Device and my Touches
- No confusing messages
- Battery Life
- Not jumping through elaborate hoops to get to content
- Not having to continually maintain an App’s storage and memory usage
- Battery Life
It is good to have a debate about which platforms are better for the User across a whole range of criteria. We can have conversations about which criteria are the most important. To see managing the memory usage of an Application in your OS as a feature, is to fundamentally misunderstand what Users really care about.
We now live in a world where a significant proportion of users have never seen what I know to be a save icon. Even more profound is users who have never had the pleasure of using a Task Manager before. An OS having a Task Manager is not a feature or a necessity anymore, but having decent battery life certainly is. Achieving better battery life without a Task Manager is the sweet spot.
Implied in the statement ‘that’s a good thing if you’re a developer though’ is that what is ‘good’ for the Developer is good for the User. I’d argue the reverse is the case; what’s good for the User is good for the Developer, because when a User has a better experience, the Developer is likely rewarded.
This isn’t to discount the importance of those with products that are aimed at the Technically Minded. There are hundreds of thousands of users of Hacker News, Slashdot, Reddit and the like. But the source licence used in major components of an OS is not a criteria that the overwhelming majority of people really care about.
Those with techie tendencies should not be so arrogant to assume that those outside their circles, should care about the same things that they do. Caring about the value, simplicity, joy and beauty that Mobile Applications can provide to the masses is essential to being an awesome Mobile Developer.