The reason why the mobile phone is such an interesting medium for game development is because it's not a game device.
This apparent oxymoron is it's key to success. Everyone has a mobile phone for communication and will carry it no matter where they go.
This means it is the one and often only device people will have with them during the inevitable ‘down time’ periods, like waiting for a
bus or sitting in a management meeting.
The simple fact that the mobile phone is not a gaming device opens a world of pain for game development. Phones are not
primarily designed to be in a development environment, in the same way your fridge or your DVD player isn't,
and like your fridge there are literally hundreds of models released with minor changes and no thought of backward compatibility.
But as long as it keeps the beer cold, who cares?
This places mobile game development in a unique position of developing to a set of deviceswhich lack the standard development
environment that you would expect. Emulators do exist, but they are almost without exception not an actual emulation of the target
environment. Sony Ericsson is now providing debuggers on the device, but other manufactures don't even publish their API's. Most
development requires endless versions to be uploaded to the phone OTA (over the air) with debugging reduced to printing to the
phone screen. This type of development went out with the steam age, but in mobile we are reduced to what can only be described as
probably the most inefficient development process ever invented.
This process is made worse by the fact that phones don't always work in every country: certain phones specific to the US will only
work in the US and because development for that device is only possible once an application has been downloaded, the phone
development therefore becomes country specific.
Another interesting twist to the development hell that is mobile: getting your hands on the devices you are developing to.
The arrival of yet another sexy new device in the office is always fun, but mobile development also has to contend with old devices.
A phone will often only be available in retail stores for 12 months, but during that time it will sell tens of millions of units.
This means we end up supporting devices that are no longer commercially available but represent a significant market.
So getting hold of old phones, whether that’s because we have a new customer to support or because the old devices have broken,
then becomes a bidding war on eBay. It's possible we are bidding against someone who just happens to want that obscure Samsung,
but I can't help thinking that it's the mobile development community that is driving up the price of these auctions.
This strange situation is completely unique to mobile, and in the future it clearly has to improve.
But mobile development is currently truly in the dark ages when it comes to development support.