Interesting talks at the Tech Meetup last night. By accident or design, one of the talks (given by Kate — hi Kate!) was on developing for the iPhone, the other for Google's new "Android" platform. The contrasts were extremely illuminating.
With Apple, you are forced to develop using Apple's own proprietary development kit — which means you have to own an Apple Mac (of a recent vintage). The development kit is free, but you have to pay Apple a hundred dollars for the privilege of running your own software on your own iPhone. You can't distribute the software to your friends or over the internet. Instead, you have to submit it to Apple, who vet it to make sure that it's not pornographic, it's not illegal in any way, it doesn't infringe on their own trademarks, doesn't make the iPhone look 'broken', and so on. If they decide it's okay, they'll distribute it through their own shop and their own shop only — and they'll also take a 30% cut of your profits for doing so. And of course, the software runs on only one product line: the iPhone/iPod Touch.
The Android platform is almost entirely the opposite. It's based on the Linux operating system, and is completely open source (i.e. community-built). The development kit is basically a free Eclipse plug-in. You can develop whatever you like, upload it for free to your own phone, and send it to your friends to try out on their phones. There's no approval process, and you can sell your program on whatever marketplace you wish (including Google's own), or give it away for free if you prefer. Unless your marketplace of choice takes a cut, you get 100% of the profits. You can even replace any of the programs that come pre-installed on the phone (right the way to the 'dial a number' application), and the platform will automatically adjust accordingly. The software is designed to run on a variety of products, from traditional mobiles to tablet PCs, and is supported by a consortium of manufacturers including Sony Ericsson, LG, Samsung, Toshiba and Motorola.
So as a developer I'm understandably more excited by Android than by the iPhone. (You can also program it using Java, which I'm understandably keen on!) However,
tef raised a sobering point during the Tech Meetup. "How many people have an iPhone?" he asked, and half the room raised their hands. "How many people have an Android-based phone?" — about four or five people. "And how many of those are Android developers?" — most of those hands remained up. Conclusion: unless regular people start buying these phones, there's not going to be a market, and development will stall. iPhones are massively popular, and are going to be really difficult to dislodge from their current market position.
I also raised a point that I think needs addressed: I think there's a danger of making the platform too generic. If I decide I want to make a program purely for touch-screen phones, is there going to be the support to allow me to do that? Or will the API tell me "sorry, but since not all platforms have a touch screen, there's not any support built-in for this"? How about accelerometers? Can we build that silly spirit-level app for an Android phone? I didn't get a proper answer to this at the meetup, but the Wikipedia article states "Android can utilize video/still cameras, touchscreens, GPS, accelerometers, and accelerated 3D graphics", which is reassuring.
Anyway. I think my next phone will be an Android...
With Apple, you are forced to develop using Apple's own proprietary development kit — which means you have to own an Apple Mac (of a recent vintage). The development kit is free, but you have to pay Apple a hundred dollars for the privilege of running your own software on your own iPhone. You can't distribute the software to your friends or over the internet. Instead, you have to submit it to Apple, who vet it to make sure that it's not pornographic, it's not illegal in any way, it doesn't infringe on their own trademarks, doesn't make the iPhone look 'broken', and so on. If they decide it's okay, they'll distribute it through their own shop and their own shop only — and they'll also take a 30% cut of your profits for doing so. And of course, the software runs on only one product line: the iPhone/iPod Touch.
The Android platform is almost entirely the opposite. It's based on the Linux operating system, and is completely open source (i.e. community-built). The development kit is basically a free Eclipse plug-in. You can develop whatever you like, upload it for free to your own phone, and send it to your friends to try out on their phones. There's no approval process, and you can sell your program on whatever marketplace you wish (including Google's own), or give it away for free if you prefer. Unless your marketplace of choice takes a cut, you get 100% of the profits. You can even replace any of the programs that come pre-installed on the phone (right the way to the 'dial a number' application), and the platform will automatically adjust accordingly. The software is designed to run on a variety of products, from traditional mobiles to tablet PCs, and is supported by a consortium of manufacturers including Sony Ericsson, LG, Samsung, Toshiba and Motorola.
So as a developer I'm understandably more excited by Android than by the iPhone. (You can also program it using Java, which I'm understandably keen on!) However,
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
I also raised a point that I think needs addressed: I think there's a danger of making the platform too generic. If I decide I want to make a program purely for touch-screen phones, is there going to be the support to allow me to do that? Or will the API tell me "sorry, but since not all platforms have a touch screen, there's not any support built-in for this"? How about accelerometers? Can we build that silly spirit-level app for an Android phone? I didn't get a proper answer to this at the meetup, but the Wikipedia article states "Android can utilize video/still cameras, touchscreens, GPS, accelerometers, and accelerated 3D graphics", which is reassuring.
Anyway. I think my next phone will be an Android...
Tags: