How to make iPhone Apps and Influence People Musings on the iPhone development process

1Jul/100

Delhi Metro is enjoying #1 in Navigation in India

I'm very proud to announce that my fourth iPhone application and third city in the City Metro Apps Delhi City Metro has had a successful first week in the app store; it is now ranked as the #1 paid navigation app in the Indian App Store. Although the raw sales data show the Indian marketplace is incredibly small compared to the US, Australia or even Korea the statistic alone is quite exciting!

It was hard work gathering accurate GPS coordinates, route length and timetables for the Delhi Metro - but the most complete version of the data available is included with the app and I have developed a high resolution custom map too.

The Delhi metro is moving at an incredible pace, so I expect to be updating it quite often.

There's a temporary webpage with some screenshots over at delhi.citymetroapps.com and I'm updating the @delhimetroapp twitter feed with minor bits and pieces.

Delhi City Metro is available on the App Store .

1Jul/100

Adding the ‘pull down to refresh’ effect to UITableView

Today I was tooling around with some interface concepts and playing with apps like foursquare and Twitter (previously Tweetie) and I wondered if I could implement something similar to the now famous 'pull down to refresh' method of initialising a refresh of the content within a UITableView.

As it turns out it wasn't as difficult as I thought; There were already a couple of elegant solutions out and about. The first example I found was by Oliver Dropnik, which talked about altering an existing solution posted on git hub by user devindoty called EGOTablePullViewRefresh.

Oliver's code looked like it was a good addition to devindoty's because he had decided to subclass UITableViewController which leads to a much more complete solution that's easier to move between projects. My only issue with Oliver's code was (apart from not supplying a some working source doe) that it refactored a lot of the underlying implementation, where I didn't see too much wrong with it.

I decided to come up with a half way measure; I moved the majority of the grunt work into a subclass of UITableViewController, cleaned up the XCode Demo project included with the source code and pushed it all back up to git hub. If you're at at all interested in this, I'd suggest checking out my fork of the EGOTablePullViewRefresh project on Git Hub.

Get a pull-to-refresh effect like Tweetie 2 and foursuare

8Jun/100

New host, new iPhone, new iPad, New Delhi

So much to update! Watch this space, as soon as I sort out the server issues there will be pretty pictures and graphics from all the work I've been up to the last 8 weeks.

Tagged as: , , No Comments
18Mar/100

Seoul City Metro, and Seoul City Metro Lite are up to date again!

It had been grating on me over the last couple of weeks knowing that Seoul City Metro and Seoul City Metro Lite were not up to date with the new train stations opened on Line 1 (Dangjeong Station and Seodongtan Station) and Line 3 ( Garak Market, National Police Hospital and Ogeum). I held off an immediate update when the stations opened because I wanted to wait for the SMRT.co.kr maps to be updated properly and I wanted to include a few tweaks to the route detail interface.

New Train Stations added to the Metro Map, March 2010

New stations on line 3

As weeks moved on I was feeling increasingly  like my apps were out of date, and the SMRT maps still hadn't been updated to reflect the new stations. So yesterday I just had had enough and pushed new stations, updated timetables and a manually modified map to both Seoul City Metro, and Seoul City Metro Lite. I was reluctant to manually update the maps because I don't have them in vector format but I was quite happy with the end result. Both updates were approved for sale in under 11 hours - and are available for download das you read this. (iTunes link)

I also managed to include one minor tweak to the route interface, allowing easier access to the timetables for a particular route. Although the timetables are far from where I want them, this is a step in the right direction. Also, the door side is now shown for the destination station the same as it is with transfers. (See screen shot below)

New Route Detail Interface element, click to see the applicable timetable

You can click the blue disclosure button on route start and transfers to see the next trains departing.

In other news:

Custom Seoul City Metro map in early stages

Custom Map to scale in early stages

I've been building my own custom subway map for Seoul that will appear in upcoming versions of Seoul City Metro that will release me from the constraints of the SMRT map. It's well on it's way, you can see images of it's progress via @seoulmetroapp and here.

Busan City Metro is on sale this week too, I've reduced it to $0 as more of a test of the waters. (iTunes Link)

Oh, and I'm back in Melbourne for the time being.

19Feb/102

Apple doubles maximum App size download over 3G or EDGE to 20MB

Apple has increased the limit for downloads over 3G or EDGE from the App Store and iTunes Store on the iPhone. Previously the limit was 10MB and anything additional needed to be downloaded via Wi-Fi.

From iLounge:

This limit now appears to have been increased to 20MB in both the App Store and iTunes Store on the device, allowing users to download larger applications and video content.

The reason why might be timed to get users used to downloading bigger apps before before the iPad arrives, or it could be a quiet response to an increasing demand for apps on the run over 10MB.

Whatever the reason it's good to see some relaxing on an arbitrary restriction. Seoul City Metro weighs in at 9.6 MB so I approve of this relaxing in restrictions.

17Feb/100

Approved in less than 48 hours!

I just got emailed this morning that my quick point release for Seoul City Metro has been approved. That was less than 48 hours from submission. Call me impressed!

It's a total change of pace when a new binary can be pushed to customers that quickly. My "What's new in this update" stated that it was just two small bug fixes, I wonder if that had any influence on the review team that saw the initial 1.1 release only 5 days ago.

Anyway, a win! Seoul City Metro Lite is also now in review.

SeoulMetroApp announces it on twitter

16Feb/100

Seoul City Metro V 1.1 is live, V1.1.1 in review and SCM Lite is coming soon!

It's been a long slog, I have to say. It took a solid six weeks of development and many hours of dead ends and frustration but I finally managed to pull together a complete, stable release that made it through the approval process.

There's still lots to do, and since Saturday morning I have already sent for approval Seoul City Metro Lite, and Seoul City Metro V1.1.1 wich contains a few small bug fixes.

Busan City Metro is also in the works, I expect that to be running on the Seoul City Metro V1.1.1 code in the coming days and up for sale soon.

There's lots more to write on the extended development period of SCM 1.1, but for now I'll let everyone get the update and I'll take a deep breath!

Seoul City Metro 1.1 has been approved, lots of things still in the works

Current iTunes Connect status

28Jan/100

Apple unveils iPad

What a night! Dragging myself up out of bed at 2:45 am (Seoul time) to check in to the MacTalk Australia live coverage; idle in ustream the IRC chat room; and refresh the live Gdgt.com text feed was totally worth it! Not only were the rumours true; but the price is reasonable and the versions arriving with 3G connectivity (using the strange Micro-Sim card ) will come unlocked. iPad runs on a new version of the iPhone OS; on custom Apple silicone; and touts an all glass 9.7 inch multi touch display. 60 and 90 day arrival times for the Wifi and 3G versions respectively.

My opinion: I want one.

Apple iPad hands on from Wired.com Gadget Lab

Apple iPad hands on from Wired.com Gadget Lab

Demonstations of the device appearing all over the web show the iPad with a multi column layout, orientating to however you hold the device. I can't wait to see what developers make of the new UI elements and SDK APIs.

As far as my development goes - all my current work on Seoul City Metro 1.1 appears to be compatible and runs just fine in the iPad's simulator in it's 1x and 2x zoom mode. Anyway, just a few screenshots that I've already posted on twitter - time to get back to work.

iPad Simulator with Seoul City Metro 1.1 Installed

iPad Simulator with Seoul City Metro 1.1 Installed

Seoul City Metro V1.1 running in the iPad Simulator

Seoul City Metro V1.1 running in the iPad Simulator

Tagged as: , , No Comments
3Jan/100

Iterations on a theme

My attention has been divided the past week or so between the development of Seoul City Metro v1.1 and looking ahead at other cities to cover. While I spend a lot of time scribbling down ideas and drawings (and code) for SCM v1.1 - I've found myself drifting back into Illustrator to come up with some new colours and iPhone icons for upcoming cities.

I thought I'd put a few intermediate ideas here, they're just as a few iterations on the original concept.

New Logo ideas

Iterations on the SCM Logo

23Dec/090

Aftermath of SCM v1.0, upcoming V 1.1, new website and cloud hosting!

Seoul City Metro Ready for SaleAs I thought, this might be the case. Upon releasing the initial version of Seoul City Metro into the wild my work has load only got more intense. Two days after SCM hit the store the main Korean competition app unleashed a new 3.0 release and  a price reduction - and in addition to this almost all the feedback I received pointed towards one or two features I had deliberately left out of the initial release. So since SCM wen't live on the 10th I have been frantically preparing my infrastructure to handle timetables and Google maps (via the MapKit framework). I am also working hard to streamline the viewing, cacheing and organisation of the 'Routes' part of the app.

I'm not worried about implementing MapKit because I have previously mapped all 440 stations and their GPS coordinates - but it's been managing the almost half a million pieces of time table data that has taken so much more time that I had originally anticipated. Although the details of the timetable data are relatively boring, I find the statistics quite interesting.

  • 468,000 individual trains mapped equalling 17MB of SQL data.
  • 1,600 pages scraped, totalling 48 MB.
  • The addition of this data almost quadruples the total size of the app (originally 5.7MB)

This leads to an interesting problem with the app bundle size. Apple limit the maximum size of an App you can download over 3G to 10MB. Personally I think keeping an app (if possible) below 10MB is really important, as it allows your app to capture the impulse purchase. I'm currently considering several options about how to manage this, including providing only the basic data with the app and allowing users to download the additional data as an SQLite adon-on, or by providing a web service that can be queried from within the app. There's advantages and disadvantages in each case (which I might outline in a later post) but in my opinion, most people will only need the first and last trains departing each station anyway.

New SCM Branding

In other news, I've been working with Steven Miller (@yargalot and from TheNetocracy) on some new branding and a new website for SCM and I have to say I'm pretty chuffed at what he's come up with. I had pretty specific ideas in mind when he asked me if he could help design a website and he met all expectations when he came up with a clean, stylish design almost instantly. We spent more time making sure we had the markup optimised for search engines that we did on design elements - and it looks great. The website now exists at http://www.seoulcitymetro.com (previously http://seoulmetroapp.com) and is hosted with a swish new slice purchased the other day from Slicehost (Slicehost Referral link).

With the idea in my mind that I would possibly serve 17MB downloads to SCM customers or provide a XML/JSON feed for individual station timetables - I had upgrade the hosting to something more flexible. Enter Slicehost. With the help of Jacob (@jacobch) we now have seoulcitymetro.com and our git repositories running on a speedy clean Ubuntu Karmic Koala slice. So far we're totally impressed with both Slicehost and Ubuntu and we hope to run more services from this in the future.  I can definitely envision a public bug tracker and documentation wiki for SCM and other upcoming projects.

There's heaps of work to be done! I'm hoping to have the next SCM version 1.1 submitted to Apple by 1/1/10. Watch this space! To the minute updates can be found on twitter by following @seoulmetroapp . Seoul City Metro is available on iTunes for $1.99  iTunes Store (iTunes link)