Making an iPhone app needs a bunch of different skills. If you’re lucky, you’re superman and you’re already awesome at design, code, interfaces, animation, networking code and marketing. If you’re not so lucky, you need a team! And if you’re anything like us, you’ll need to figure out how that team can work remotely.
Magnus’s Online Chess was built without the two guys working on it ever meeting. We’re also in totally different timezones (USA & Australia). Ah the magic of the internet! Here’s how it happened, and a couple of the (free!) tools we used:
1. Set up a decent blog
Magnus worked on the app solo for a while and released version 1.0 in the app store. The app had great potential from the start, and a lot of people left really some positive reviews. But the app store was growing up fast, and Magnus’s Online Chess had some room to grow too.
Meanwhile, on the other side of the world, I was searching for a good chess app to buy. I bought version 1.0 of Magnus’s Online Chess, mainly because it connected to FICS, which is where I was playing chess at the time. I saw it had heaps of potential, and with a bit of UI tweaking could be a really cool app. I stumbled on Magnus’s blog, and emailed him out of the blue, offering to help.
At this stage, I had absolutely no idea who this Magnus guy was, but I think you can pretty much tell whether you’re going to get on with someone after you read their blog for about 5 minutes. I could tell from the posts and comments that Magnus was a friendly, helpful and passionate guy. He also had a clear vision: make the #1 chess app for the iPhone. Being a full time interactive design geek and part time chess player, it just so happened that I had exactly the same dream!
So I think the lesson here is this: set up a blog, and post some honest stuff on it. You’ll attract like-minded people.
As far as specific tools go, we’re using wordpress, which is awesome.
2: Use email (duh!)
OK this one’s pretty obvious. I worked on various parts of the interface, emailing graphics to Magnus, who implemented them in the app. It turns out, gmail is a pretty decent way to collaborate on projects like this. The (virtually) unlimited attachment sizes & threaded conversations are really handy. And the fact that you never have to delete a message means you can look back in time easily.
3. Issue tracking when things get more complicated
The gmail thing was working pretty well, but it was easy to lose track of things. If I sent an email to Magnus with 17 different bugs or features, it was easy for 1 or 2 of them to get lost in the shuffle. After a bit of research, we settled on Lighthouse to manage our shared to-do list. It’s a great web app I’d recommend to anyone working on something like this. You can assign issues back and forth to each other, give things priorities, share files, the works. Oh yeah and it’s also free! (with limitations).
4. Sharing larger files
We pretty quickly hit the file size limitation on the free account for Lighthouse. Being poor iPhone developers, we set up a gspace account to send files back and forth. It’s another great free way to work remotely, which basically sets up a sort of virtual drive that you can access with a firefox extension. This is how we started to send all our files back and forth. I’d upload graphics (PNGs) into a folder called “graphics”, and like magic, in a few days, Magnus would add a new version of the app in a “builds” folder. It was like the shoemaker and the elves. Except with iPhones.
So there you have it, that’s how we’ve been working on the app for the past four months!