I am a DeveloperI have been one from the moment I walked into my high school a long long long time ago and found out they had a computer. This was in the dark ages before any (mostly) had a computer at home. I worked hard at learning programming. Over the years I went HP/Basic to dBase to COBOL to Clipper to RPGII to Visual Basic to VB.NET to C# to Java Script. There are a few others tossed in for fun but those were the ones I remember the most or somebody paid me to work with. I wrote software. I wrote software that had great scope from corporate aircraft schedule software for NASA to medical/dental billing programs for specialist physicians. They programs were large and did much "stuff". Programs that did just one thing well were call "features".
That all changed with the advent of smart phones and mobile apps. I didn't though in the beginning and perhaps many of you haven't either. Some developers have only know the quick and small app model. I envy them. There is nothing to unlearn. I used to scoff at "waste apps" like flashlights thinking that there is no art in it. Well, I was wrong.
I have had the fortunate luck to spend some time talking with Atley Hunter (@atleyhunter) and I learned a few things I have since proven with my own apps. The one single most important thing, and the topic of this post, is that the simpler, more single minded an app is, the more popular it is. People don't want to open an app to do a bunch of stuff. They want to open an app that does what they want and then goes away. The trick is to find what they want, build it and get it out the door. The other trick is to make something that might not be as simple as it looks, look really simple.
A Unique BellAs a test, I wrote a simple app that doesn't do anymore than ring a desk bell. Simple right? But others have done it so why bother? I was sitting around a table at a friends house and he explained how his bell app was really useful. Useful for getting service attention, useful for meetings, and most important, useful for annoying his family no end. I looked at the apps there were there and thought "I can do better than that". I thought, a bell is kinda boring, how can I make it fun. Well with Windows Phone I have all sorts of helpful stuff available to me. I thought, why not make a bit of a game out of it. So I create a bell that keeps score. Every time you tap the bell it registers in Windows Azure the country the bell was rung in. Then lets you know where your locale stands. It took no extra effort by the user but created a really stupid simple app that was fun and is still different than what is in the score. It took me a long time to figure out and break my bad habit of dismissing simple apps as "not real programming". It is and has value to somebody. All it took was a little bit of sound and Windows Azure Mobile Services. I made a believer of some users and they have even suggested that for their locale it would be nice if it showed competition between cities! I love when I get ideas from users of my apps. They are gold. I started out with the first page which was just a counter, but requests came in to add a leaderboard. As of this writing, it's in certification.
And it Applies to Most CategoriesI have also written simple apps in the Camera category (Camera is hot hot hot in WP), GPS and games. Keep it simple. Let them be able to go in, have fun, then get on with their real life. The programs that are used for hours on end have their place but there is no reason why you can't start with small and easy. Let the users dictate the complexity.
Windows Azure Mobile Services
Desk Bell - Look for the leaderboard update coming soon!