Archive for September, 2008

AppStore update review frustrations [relieved!]

September 10, 2008

I know I shouldn’t be complaining – WiFinder has already made me a lot of money. Or, it will have, once we get paid for August!

But I submitted a major update on August 25th, and it’s now been quite a while. Same bug reports from users; same requests for features over and over and over. During that time, I’ve seen a competitor come up and recently announce they’re going to be adding a subset of the features that I finished and submitted long before they even got into the AppStore! Will they get in first? Who knows! There’s no transparency at all in the review process.

To boot, I have a slew of further updates – authentication storage for password-protected access points, auto-handling of web-page style logins on Open networks that redirect, etc. – that I also wrote pre-September. But at this point it feels like it’s really not worth working on anything else. My users have asked for more NetStumbler-esque features, like exporting found networks along with locations to some standard formats. I’ve already got the infrastructure there, but with the prospect of it possibly not going live for Steve-knows-how-long, why bother?

Urgh! The AppStore – I love it, and I hate it. I’m seriously debating just making the app free and removing all the worry about what were my sales yesterday / what’s my UK rank today / how many German users are having problems / what new reviews finally went up…

EDIT: Okay, Ms. Louv rocks! I sent an additional whiny-mail along the lines of this blog post to the dev support alias, and she got back to me and personally did the review. It should be up and ready for everybody in just a few hours. Thanks, Ms. Louv – you’re a total rockstar :-)

US AppStore sales and rank data for WiFinder

September 5, 2008

WiFinder is an application that makes it easy to browse wireless networks. It can detect if Open networks are actually usable, or if they’ll redirect you to a login page instead. It’s also turned out to be widely used by IT professionals just scoping out their turf. Below is some sales data on it.

This chart is an approximation of US AppStore daily sales (count on the left) versus sales rank (on the bottom). Note that the numbers are approximate, as there are daily preview details provided, but when you get the final end of week stats, the numbers don’t always match up. I’ve done the best I could to clean them up, but think of this as approximate. Also, WiFinder went from off-chart when released, rose up to about 34th, and has since fallen back off the top-100.

WiFinder Sales versus Rank

WiFinder Sales versus Rank

US AppStore sales have amounted to between 1/4 and 1/6 of my total sales. I suspect that my foreign store sales would be higher, but there’s a fairly bad bug with network accessibility detection in some countries (fix has been “In Review” since 8/25 – hopefully up soon!).

As a couple of other interesting data points, WiFinder reached 11th in the UK AppStore on a daily sales of roughly 275, and reached 3rd in the German AppStore with daily sales of roughly 750. So I believe that those stores have a lower volume of paid application sales than the US AppStore, but they’re still both pretty large!

The Apple AppStore review process

September 4, 2008

From the side of a developer, there are a lot of unknowns with the AppStore submission process. Basically, you submit your application (or update) and… it sits in review. Here’s the information I’ve been able to gather based on my experience and trolling message boards with other developers.

Please note that when I say ‘work day’ I’m talking about Monday->Friday. Saturday sees some action from the AppStore, but generally there do not appear to be updates on Sundays and holidays.

Duration

Many of us believe that the submission load is substantially larger than Apple had budgeted for. In late July, the reported time from submission to acceptance was approximately 5 work days. By mid-August (when I submitted my applications and updates), it had moved to about 7 work days. People submitting now (late August submissions) are reporting 10 work day times. I currently have an update I submitted 7 days ago and am waiting for a report on. I’ll update this section as I get additional data from my own submissions and other developers.

Note that new applications and updates appear to be subject to idential queue times.

You will hear nothing from submission time until they have done a first review. Then, you may get an email stating that it is Ready For Sale, and within a half a work day it will transition to that state in iTunes Connect and slowly roll out across the various countries’ AppStores. Alternatively, you will get a rejection e-mail and within one to two work days it will be followed up an e-mail detailing why your application was rejected. People who’ve had an application rejected have reported a fairly tight loop on updates and getting more feedback.

Updating your app’s information and price

If you perform an update to screen shots, large icon, price, or text, that will be reflected in approximately a half a work day on the US AppStore (I don’t know if this is different for overseas developers). It then takes about another half work day to propagate to the other countries’ AppStores.

Tips & Warnings

If you make an update, you can update the large application icon and submit that along with the app. However, do not update your screenshots or text! If you do, that information will be reflected into your current posting, and you will end up with irate users (this happened to me with WiFinder).

iPhone is the new indie development platform

September 3, 2008

Almost every developer I talk to these days talks about the same thing. It doesn’t matter if they’re a Windows developer, a UNIX developer, or an IT script writer. They all are looking into writing iPhone applications. Why? Because it’s the new indie platform. It’s filling a long-gone niche: it’s one place you can go as a single developer or a small team of developers, put together an application quickly, and get paid very well for doing it.

Without a huge marketing budget. Without layers of management and release process. And – most importantly – without a huge amount of business infrastructure around sales and installation support.

The Apple App Store has many issues, as does the iPhone SDK. But it solves the problems small development shops have – targeting multiple platforms, easily selling a product, and getting placement in front of users. So it’s okay that that the tool stack feels like it was written in 1997 and that the approval process takes seven to ten days (even for a bugfix!).

This is a huge platform, and it will dominate and accrue developer mindshare until another single platform provider makes it this easy to sell software.

With that in mind, I’m providing some info on making the shift from being a Windows developer. I worked as a developer at Microsoft on Visual Studio for quite a few years (though not as many as this guy!), so I can provide some perspective.

Getting things set up

This is actually trivial. Get a Mac and install XCode. I highly recommend avoiding the hackintosh experience. People are doing it left and right with the popularity of the platform, but I have yet to meet anyone who did it in less than three days of systems administration hacking. It’s giving me flashbacks to early 90s linux configuration.

Then go to to the iPhone Dev Center, register for free access, and download the SDK. It’ll update XCode, install the simulator, and a decent number of samples. It’s a small number of samples by comparison to a Microsoft platform, but the SDK surface area is pretty small and the samples do a decent job of covering most of it.

Learning the tools

There’s a blog with a good number of tutorials – http://icodeblog.com/. I highly recommend you start at the beginning and do even the Hello, World sample. Putting together applications for the iPhone requires a level of work similar to Visual C++ 5-era MFC. All of the UI layout (think resource editor) is separate from the code hookup (think your dialog classes and ::GetDlgItem), and there’s even an additional step you have to do to twiddle all of the hookups and handle creation. Don’t skip any steps or you’ll miss some very basic concepts.

I also recommend the book Cocoa Programming for Mac OS X. It’s a walkthrough of the different technologies, and is a good guide to the tool and the general architectural Zen of Cocoa. Even though it’s develpment focused, the iPhone classes are basically a subset of what’s available on the desktop, with the addition of a few things like the spinner control.

Then just try out the samples and get going! The simulator is reasonably good, though the performance characteristics and a few UIKit controls behave differently (so don’t try to ship without buying a device and trying it on there directly!).

Future posts
From here, I’m going to cover a top-ten style list of things that annoy me and things that I love about the iPhone SDK and tool experience. I’m also planning to post some numbers from my sales and Top-100 rankings for one of my applications, WiFinder just so you can have a better idea why I consider this the premier indie development platform!