«
»

The App Store Experience

It has become more and more popular in the last weeks to write about one’s personal experience developing and submitting iPhone applications to Apple’s App Store, so I’d like to share how all of that worked out for me.

There has never been an official announcement on this website, but I have been writing an iPhone application for a little while now (Generally, there are very few iPhone application websites, since the website and promotional aspect of iPhone application development is handled by Apple through the App Store, where a description and screenshots of your application can be sent in together with your application and where – you don’t get that with your website – potential user can easily search for applications and browse them by category). Anyway, that application I’ve been developing is called Berlin Trip Planner (or Fahr-Info Berlin, which is the German name), and what it does is simple: it gets you from A to B, in Berlin, using public transport, at any time. If you have an iPhone, check it out, it’s free. And people simply love it, which makes me really happy.

To write, test and submit an iPhone application, there are a few prerequisites. First, you need the newest XCode version with all the iPhone frameworks (the SDK), so you can go ahead and write an iPhone application, which is not that different from writing a Mac application (only much more exciting). This step is easy, Apple made the SDK available for everyone in early spring. The SDK doesn’t allow you to put the application you’re writing on your iPhone for testing though, all you get is the iPhone Simulator, which is useful for most testing, but it’s definitely not an iPhone, it behaves differently in some cases, and it doesn’t simulate CoreLocation or the motion sensor at all. So you really want to get your application on a real iPhone to see how it works.

Step two: Apply for the iPhone developer program. Back in spring, Apple only allowed US developers to apply at first, but eventually extended the program to other countries, so I applied for the iPhone developer program in late spring. Then I waited. For weeks, and almost forgot about it. WWDC passed, where Apple announced they had admitted around 4000 developers so far, from the huge number of developers that had applied (I don’t recall the exact figure right now, but it was more than 10x of the 4000 admitted). I still felt bad about not being admitted, but I was in good company. To make up for it, two weeks later, or two weeks before the App Store launch, Apple told me I had been admitted and could pay my 80 EUR to Steve Jobs and his awesome devices fund. One day later, on the 27th of June, i (finally) got my hands on the beta of iPhone OS 2.0 plus a developer certificate and provisioning profiles that I could use to actually run my software on my iPhone. Great! But I still hadn’t written a single line of iPhone code by that time.

Now, to give credit where credit is due, the idea to write a trip planner application was inspired by Johannes Plunien, author of the brilliant MVV Dashboard Widget (which covers Munich public transport), when we exchanged some AppFresh-related support mails just about at that time. Living in Berlin, and being a frequent user of public transport myself, I know I had to have something like that. By the way, it’s always best to write software because you really need it yourself, because you don’t make wrong assumptions about what the users wants and what he needs, plus there’s a motivational aspect.

Apple had announced that in order to have your application admitted to the App Store itself by Friday, July 11th (the day of the grand iPhone 3G and App Store launch), you had to submit it until Monday the 7th, so I tried to get all pieces together as quick as possible. The BVG, Berlin’s public transport company, doesn’t provide a real web service to their online trip planner, so I had to write nasty code to scrape the HTML form, but fortunately there is a mobile interface which at least uses valid XHTML, so I could use an XML parser to save me some work. I finished that code using a DOM XML parser, the easier way to parse XML, only to discover that while the iPhone Simulator has a DOM parser, the iPhone itself doesn’t, and I had to rewrite it using a SAX XML parser, the more resource efficient way to parse XML. Needless to say, I was pissed, but motivation was high enough that I didn’t really care. The interface was easy in comparison, since in order to make it until the 7th I kept it really simple and didn’t think about usability much (Ooops!). There was even some time left to add cool features, like the ‘nearby stations’ list. For that I borrowed station data, including GPS coordinates of the stations of all major lines, from the very cool Uberbahn BVG/Google Maps Hack, which allowed me to list the stations in your proximity using the iPhone’s CoreLocation feature. Very neat!

To submit the application, you have to build and sign it using a different certificate, which is suited for App Store distribution, whereas your development certificate only works on your own iPhone. The whole process of getting the certificates and matching provisioning profiles, and getting XCode to use them, is somewhat tedious. If you’re lucky, it works, and the application runs on your iPhone, but if you aren’t, then you’re given a beautiful error code and nothing else, so it’s a pain in the ass to get it working again, since you don’t know what went wrong, except for, well, 0xE800003A. Apple could’ve certainly gotten this better, but it’s not rocket science either, and they have updated the documentation lately. Now all you need to do is come up with a description for the App Store, make some screenshots, and package everything up and upload it. That’s not too hard.

Now it’s time to wait, again. Six days later though, and this is different from the experience some other folks have made, my application was on the App Store, not from the first day as promised, but from the second. No mails from Apple, nothing rejected, everything just worked. The process was just the same with my first and (so far) only update, which got accepted in about a week. So, overall, my experience was pretty good. I don’t know how the average time to get accepted has developed in the last months, but it would be great if they could get that down to a few days instead of a week.

I’d like to finish this post by giving a quick preview of Fahr-Info 2.0, which I’m currently working on (I made the 2.0 up just now, I don’t know if it’s gonna be called that). Most of the changes are usability and user interface related, although it will also integrate with Address Book to give you the quickest route to your buddies, have a bigger station database to autocomplete your searches and offer Google Maps directions from your current location to any station. It’s far from finished, so some of that will definitely change, but here are some screenshots:



16 Responses to “The App Store Experience”

  1. Simon Says:

    looks promising! Do you already have a ETA for the development? :) being new in the city your app helps me ever day!

  2. Tukamapa Says:

    I also use the current version of your app. Interestingly enough, it is easier to use (on that small screen) than the BVG interface (on that big screen – never seen a web app wasting more white space).

    Overall, all thumbs up for your devotion to user ergonomics.

    I still have two questions though:

    - Would you disclose overall uptodate figures of downloads of trip planner? It is interesting to all of us trying to get a feel for that market place

    - Do you currently take into account any BVG or S-Bahn construction sites?

    Regards, Tukamapa.

  3. Patrick Says:

    I want this for Munich please. Great work!

  4. jonas Says:

    Simon, I don’t have an ETA.

    Tukamapa, there are around 1000 to 3000 downloads per week, and yes, the sources I use take into account construction sites.

    Patrick, I know people want an application like that for lots of cities, but I’m not currently working on that. Maybe in the future.

  5. Johannes Plunien Says:

    Hi Jonas,
    great work, looks really nice. Mind to share your code? :-)
    Regards,
    Johannes

  6. Arianna Says:

    hi jonas!

    I’m german but for the sake of communication, my question in english :)

    this app is a great idea since I live in berlin but I have been waiting for a dashboard widget to come out. can you, um…, “make” one? :)

  7. Tillmann Says:

    It would be nice to get busses in “Nahegelegen”. Also it would be good to try to cooperate withthe BVG in order to keep the useful maps and add more – for example routes.

  8. Fabian Says:

    Hi Jonas, I was sad when I just saw, that the latest release of Fahr-Info did NOT contain the “details” view for the directions. Apparently BVG complained and you had to take it out (beside the BVG map)? My gosh, the details view is IMHO by far the most important feature in the app… :-(

    Why did BVG complain?? In this case, I guess I will stay on the old version and not update, even though the UI for Fahr-Info 2.0 looks so nice and promising!

    Nice work!! But it seems that BVG suxx… :(

  9. Moritz Says:

    Hi Jonas, execllent (actually the best) app. It saved my day more than once. Dont’ care about the BVG-bureaucrats. Think diffrent!

    Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square hole. The ones who see things differently. They’re not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them. About the only thing you can’t do is ignore them. Because they change things. They push the human race forward. And while some may see them as the crazy ones, we see genius. Because the people who are crazy enough to think they can change the world, are the ones who do.

  10. German subway system operator demands Berlin iPhone subway maps app creator to remove detailed maps | iPhone World Says:

    [...] here’s how the story goes: a 21 year old German programmer wrote a native app for the iPhone caled Fahr-Info Berlin (Berlin Trip Planner), which using the [...]

  11. iPhone/Web 2.0 » Interview with Metaquark of Berlin Trip Planner Says:

    [...] I was pretty clueless what to do with my iPhone developer privileges up until about two weeks before the App Store launch back in July. The idea to write a trip planner application was inspired by Johannes Plunien, author of the brilliant MVV Dashboard Widget (which covers Munich public transport), when we exchanged some AppFresh-related support mails just about at that time. I rushed to get the application accepted in time for the App Store launch, and that worked out pretty well. You can read more about the whole process on my blog entry, The App Store Experience. [...]

  12. www.gbrauckmann.de » Wenn der Schwanz mit dem Hund wedelt - Kundenzufriedenheit Nein Danke Says:

    [...] als die Anbieter. Bestes Beispiel: der Fahrplan für die Berliner Verkehrsbetriebe. (BVG) Der Student Jonas Witt hat eine BVG Fahrplanauskunft für das iPhone entwickelt, die Software konnte kostenlos durch [...]

  13. Gregor Says:

    Hi there. I think it would be a great idea to make a Symbian S60 version of this app. S60 phones are much more common than iPhones, about which there is just this big hype, but which are available to few people actually. (The future is “Android” anyway, I guess.)

    Any problems with Apples app-store are gone then too. Just offer a .jar or .sisx file to download and that’s it.

    Something else: I’d suggest to search for a better name. “Fahrinfo” (without hyphen) has been used by BVG and VBB since ages, for web search as well as for their own (DOS, Windows and later Windows CE) software, which is available for free.

  14. Steffen Says:

    Hallo,
    interesante Sache. Der Verkehrsbetrieb in Potsdam wäre an einer Zusammenarbeit interessiert. Die Bereitstellung von Übersichts- und Detailplänen sowie GPS-Koordinaten stellt für uns kein Problem dar.
    Ich bitte um Kontaktaufnahme.
    Steffen Krause

  15. sander Says:

    i’m interested in developing for symbian s60 v5. Any chance you will share your code?

  16. Allan Says:

    Hi -

    Are you considering developing a Munich version?

Leave a Reply

metaquark.de | Blog | Buy | About | Contact | Imprint & Privacy Policy

Aurora | AppFresh