lørdag den 7. april 2012

Moving into app development - to hack or not



For quite a few years I had been developing applications on the Windows platform, various homepages and web applications. In the beginning I developed these applications in Visual Basic and traditional ASP.

When Microsoft launched the .Net platform, it did not take me long to catch on to that. It was/is a very robust platform to build both Windows and web applications on. For a long time the .Net platform didn't have a mobile fork (it does now with the Windows Phone 7 OS).

For some time I had wanted to create mobile applications, and at some point I did succeed in creating a Reversi game in J2ME for my old Nokia phone. I liked the Java development environment because it resembled the C# platform I had grown accustomed to. The only trouble with that platform was that it was close to impossible to publish the game anywhere - the only option was to get the carriers to pick it up - not an easy task for an indie developer. This all happened in 2007 - a few years before the App craze started.

Then in late 2009 I got my first iPhone. I had been hesitant for a long time before getting an Apple phone, since I had my reservations coming from a Microsoft platform - both as a developer and a user. However, it didn't take me long to be convinced of the excellent features and easy to use interface on the iOS platform.

At some point in 2010, I really wanted to have another go at mobile App development on the iOS platform. The distribution system, in shape of the App Store, seemed much more mature compared to what was possible in 2007. As an experienced developer I thought “how hard can it be” to develop an iOS application.

I decided that my first application should be an 80’s style console game like Space Invaders. I explained the idea to my son, and he thought it was a great idea. We made an agreement – he would draw the various spaceships in the game, and I would code it.

Before writing the first line of code, there were a few things that had to be taken care of first. Primarily I had to have some sort of development environment installed, and when developing for the iOS platform there is only one option – the XCode environment. This is one of Apples small strokes of genius, as the XCode environment can only be installed on OSX, and OSX can only be installed on “official” Apple hardware.

There are of course people out there, who have managed to succeed with installations of Hackintosh machines and installing OSX on hardware like the Dell Mini 10. I have also seen solutions where someone has managed to install a virtualized version of OSX on an WMWare host. I did consider these options for some time, because I did not own an Apple computer at the time, and the prospect of spending at least $700 on new hardware didn’t seem that appealing to me. On the other hand – when I read other peoples experiences with installing OSX on other hardware, they seem to spend just as much time maintaining their new system as using it. When taking that, and the fact that I was venturing into new coding territory into consideration, I decided to get an Apple computer. I really wanted to minimize the amount of possible places where to look for errors, when something was going to fail.

I decided to go for the Mac Mini for several reasons. It was (and probably still is) the least expensive Mac out there, and I really wanted to keep my investment down. It doesn’t take to much space up, and it can be left running in a closet without killing the electrical bill.

At the time I didn’t want to be tied to my desk when developing my app, I wanted to be able to use my laptop for development. I enabled the VNC host on the Mac to be able to remote control. I searched for some time for a good VNC client for my Window laptop, and after some time I chose the free version of RealVNC. It is not ideal, but it doesn’t crash (too much) and it handles the keyboard translations decently – I have a Danish keyboard on my Windows laptop.


Now, I was pretty much good to go - all that was needed from there was to have XCode installed and start developing.

Welcome to my blog

I have created this blog to write about my ventures into creating mobile and online applications and the challenges I have experienced with that. Up until now have I created a few apps that have actually made it to the Apple App Store, and hopefully more are coming.

Before going into app development I have spent a lot of years creating various online applications. Because of that, there will probably also be some articles focusing on that.


While writing these applications I have many times found solutions to my problems in various blogs - hopefully can someone else use the things I write in here...