iPhone, Palm Pre, Android and Blackberry development
We at ObjectGraph started developing for iPhone starting last year and we soon realized the potential of the platform. We had some very successful products such as iRetroPhone and iSameGame, but moving forward, we see a lot of problems with in the mobile application space.
The reason why windows was soo successful was due to the fact the developers could create applications for it and kind of reach 90% of the market with it.
Once the application is successful enough, then try to tackle the 10% of the market. But with mobile platforms this is not the case.
iPhone is the leader of the pack now, with almost 60K apps on the app store and some interesting stories about developers becoming millionaires by writing software for it. But how long will this dominance continue?
The biggest problem for iPhone is its limitation of the screen resolution to 320x480. Now they are boxed in to this.
If you read the palm documentation it specifically says design your applications for more flexible display resolutions.
What is iPhone going to do when higher resolutions come in to play? They will be in the same box as of microsoft
”BACKWARD COMPATIBILITY”
Bill Gates book “The Road Ahead” said that the reason for the success of the windows platform was due to what he called a “Positive Cycle”, More developers develop for a platform, the platform becomes attractive to consumers, the more consumers use the platform, more developers join the platform.
Kind of like an infinite loop. But what he forgot to mention is the problem that is plaguing all windows products to this day. To satisfy the developers that created programs for it when it was just a toy, it has to stick to the same architecture.
Now there are 4 major players for mobile apps.
- iPhone
- Android
- Palm Pre
- Blackberry
I dont even consider Windows mobile as a competitor until it gets it act together with solid specifications for device manufacturers, so developers could assume some kind of sameness across various mobile devices.
Developing for each separately is a pain in the ass. You will need to learn a different set of languages/ tools for each one of them.
Although some languages go across these platforms (Java is used for both Android and Blackberry), the APIs are different.
Palm made a good decision of building their entire UI on a browser based framework (Javascript + CSS +HTML), so it will be the easiest to develop for. But I am still not sure about 3D graphics and good development tools for the platform.
Android and Blackberry have mature development toolkits. But Blackberry again goes into the same “BACKWARD COMPATIBILITY” loop with multitude of devices with different screen resolutions and different capabilities.
It kind of makes us get Java back as its original purpose of WORM (Write once Run many) with a standard tool kit.
I guess for the time being, we are stuck with creating different programs for different platforms and different devices.
God Help Us All Developers
Here is me developing for 3 platforms (iPhone, Android and Palm Pre)