söndag 23 januari 2011

Turning my Dashboard widget into a profitable iOS app


››Making money with the marquee tag‹‹


§ tl;dr: I turned my old OS X Dashboard widget into a native iOS app, now selling around $700 worth of apps a month even though my market is limited to one city.


Edit: For those wondering, the app is called "Tunnelbana" and is available here!


A couple of years ago I moved to a new flat, just a one minute walk away from the nearest subway station. Somehow, though, I always managed to miss the departures by 15 or so seconds. I guess I didn't give myself enough time to get to the platform since I lived so close to the station and figured I'd make it there in no time at all. Always being late, just missing the train and having to wait an extra 10 minutes for the next departure got me thinking that it would be very handy to have one of those information signs from the subway in my flat. I could then see exactly how long until the next departure and time my walk perfectly.


Stockholm subway platform information sign.

I knew that SL (the Stockholm subway operator) kindly provides real-time information from any subway station on their website. I figured I could build a simple app to display that real time information on my 17" spare monitor. I also figured I could make it look kinda cool. Said and done, using a php script to scrape the SL website and a simple html page to display the side-scrolling text. I actually used the <marquee> tag to mimic the scrolling text effect. Voilá, I now had my own personal subway station sign at home!

The first version of my in-house subway info sign,
bottom line scrolling effect by the <marquee> tag.

About a week later, I turned the monitor off and stuck it in the closet behind some boxes. The monitor looked way too big for the kind of information it was displaying, and my friends had started having a go at me because the whole setup looked so geeky. Instead, I thought I'd turn the whole thing into a Dashboard widget so that I could still get the same kind of information quickly, but without having to sport that horrible monitor in my flat.

Took me about a year to get around to actually do it, but it turned out to be a simple thing to make a Dashboard widget out of the project. I made a conscious effort to get the design right, trying to make it really look like the information signs on the subway platform. I also decided that this widget could be useful to other people, so I added support for all subway stations in Stockholm. I soon released it for free on the Apple Dashboard widgets site and hoped people would like it. I think I had like one hundred or so downloads, plus some nice comments from a Swedish Mac forum.

The final version of the OS X Dashboard widget

All was well and I used to look at the widget from time to time before I left my flat to catch the subway. Then the time came to move again, and this time I moved away from the subway network. When I no longer used it myself, the widget fell into a state of decay as the SL website structure changed and my screen-scraper broke. I had some people asking me to fix it, but I wasn't really in the mood to spend any more time on the widget back then.

Another year passed, and one weekend I was poking around in my projects folder. I found the old subway widget and decided to have a look at it. I quickly realized that getting it to work again was an easy fix. I also realized that it would be quite easy to make an iPhone compatible webapp out of it, since the widget was all javascript anyhow. 10 hours later I sat there with an iPhone webapp with full GPS mappings of the Stockholm subway network, looking and behaving just like a real iPhone app---only it was installed via iPhone Safari. The app would seek out the subway station closest to your current position and show you real time information for that station. Very handy!

I released the webapp to some friends who instantly liked it. I also made it available for free at openappmkt.com, but for two or three months it only had something like 13 downloads. I thought about making a native iOS app out of it, but I wasn't too sure about signing up for the $99 iOS developer program just to create a really localized app. My entire market would be people living in or perhaps working in Stockholm, and the effort of learning Objective-C would probably not be worth the few bucks I could earn by selling the thing.

One day, however, I saw an article on Hacker News explaining how the iOS framework PhoneGap easily allows you to make a native app out of a webapp. I thought that this would be the perfect way of getting my subway app onto the App Store, and after crunching the numbers I figured that I only had to sell 150 apps for $0.99 to pay for the developer account. I figured that even with a tight market I could probably move 150 apps in three months time or so, which would be sufficient for me to be able to enjoy boasting an app in the App Store without any finnancial sacrifice.

I bought an iOS developer licence, downloaded PhoneGap, followed some tutorials, and after a couple of hours I had my webapp running as a native app on my phone. I submitted it to Apple, and they approved it and put it on the App Store within a week. I made a Facebook post about it and wrote a short notice on the Swedish Mac forum that the old Dashboard widget had been transformed into an iPhone app.

The "native" iOS app (with the <marquee> tag still in there).

The app was selected as "New and notable" by Apple for the Swedish App Store, and my goal of 150 sales in three months was reached in less than one week. The app has had growing sales numbers since, and is doing very well for the limited market it targets. The first 30 days shows almost 1000 apps sold, which equals just shy of $700 profit the first month. Not bad for the old hack I made years ago to keep me from missing the subway all the time! And certainly not bad considering the app's signature feature is (still!)  making use of the <marquee> tag.

Now I've released two more Stockholm commuter-centric apps with okay but not great sales figures, and I am ready to try something new: going global. Just recently released on the app store is my game MelodyMaster; a game in which the player's cognitive skills is quickly trained using visual and audible aid to remember a long sequence of ordered events. Check it out!

1 kommentar:

  1. Thanks for the post - very inspiring indeed. I'm also looking at releasing an iPhone app but undecided about the platform. Are you still using phonegap or did you decide to go with the native Xcode for your more recent apps?

    SvaraRadera