Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Why Aren't Android Developers Flocking To The iPhone? (alleyinsider.com)
23 points by vascoos01 on June 16, 2008 | hide | past | favorite | 36 comments


Would you want to play by Apple's rules? While I wouldn't want to be beholden to Google any more than Apple, Google doesn't own and control Android any more than Linus owns and controls Linux. Android avoids lock-in. Should Google move against you, screw them! You have their source code. Really, the manufacturers are the bigger obstacle and there are enough of them that they're unlikely to try as much as a monopoly would.

Apple's user-base is attractive, but it's also putting your eggs into a basket that can be taken away from you at any time. I love Apple, but I can understand why people would be hesitant to throw money in that direction.


That and more: Apple's platform probably won't be adopted by anyone else, so even though the user base is attractive right now, down the road it would look diminutive compared with the user base for an open platform that could gain support of multiple vendors.

7-8 years ago I used to develop mobile apps in both Palm OS (closed platform, just one vendor) and J2ME (open, widely adopted). Palm had the more attractive installed base back then, but as their fortunes changed, that investment is now worthless. Compare with J2ME, which kept growing thanks to support by most vendors.


The most significant difference IMO is the distribution model. An iPhone user will have one place to look for new apps: the Apps Store. Whatever app s/he is looking for, it will be there or not be at all. That's a huge advantage for a software developer. An advantage the Palm didn't have.

Also: sure, in 8 years the iPhone may be dead and Apple bankrupt, but (1) do you really think so? and (2) do you really need to plan that far in advance?


Palm actually did have the distribution in place - through palmgear (interestingly, it still exist) which was THE go-to place for Palm apps.

Regarding advantages to the software developer, having just one place where you distribute, and that place being controlled by Apple, isn't a good thing at all. It may mean that it's easier to start selling, but also that you have no negotiating power if and when your app becomes a success.

The stupid music companies managed to hand over the keys to their distribution to Steve Jobs, but they're not exactly happy about the fact that he now has so much control over their fate. Apple's great at creating consumer electronics that actually appeals to people, but they don't seem to be a very nice company to deal with as a business.


Android has already gained the support of Samsung, Motorola, LG Electronics, T-Mobile, Sprint, and some other well-known companies: http://www.openhandsetalliance.com/oha_members.html

So it's looking pretty good so far, even if no phones are running it just yet heh.


This is it in a nutshell. The practical problems like ObjC aren't an issue for OS X, so there's no reason for them to be so for the iPhone. It's largely a similar environment.

And the more high-brow arguments about lock-in and freedom are true, but obscure the simpler point: sorry, but I'm just not interested in paying $99 and waiting on a list for months just to run a program on my own phone!

Android has the distinct and notable advantage of actually being a working target platform for the people who want to play with it. Apple will no doubt attract a few established developers to the iPhone, but all the cool stuff will be happening on Google's platform.


Right now the iPhone platform just looks a lot simpler than Android. One hardware, well known frameworks, centralized distribution. Development costs are lower. Android offers more freedom, but also more complexity.

In any case, both platforms are here to stay for quite some time.


It always stuns me when software developers say, "I don't know <language here>, so that isn't an option."

Good programmers don't learn languages, they learn methodologies. You don't learn how to program in Lisp, you learn how to program functionally with flexible syntax. You don't learn Objective-C, you learn how to write good code in a message-passing OO system.

Sure, the libraries can take some time to acclimate too, but this is our job! I just shake my head and sigh where I hear programming language is the barrier. I can never tell if it's a clever excuse for the press, or if people actually believe it.


Programmer quality follows the bell curve like anything else. For every "good programmer" I've met, I've also met 10 extremely mediocre programmers. You know who I mean. They don't want to learn anything new and they find roadblocks much more easily than they find possibilities.

Nothing stunning at all.


That's true on the sole hacker level. If you're considering writing some mobile apps, and the iphone seems like a nice platform, then learning a new language for the purpose should seem like an opportunity, not a problem.

However, I guess the article refers to a mobile app shop that wants to make money, and that's when economic considerations set in. New language/framework means an investment in re-training your (mostly average) developers. Objective-C vs. Java also means having a tougher time locating experienced developers. In short, it makes less business sense.


It's easy to love a platform that hasn't shipped yet. There's no ugly reality to interfere with your beautiful dreams.

As long as Android has no paying customers, it's easy for it to be great. There are no tough compromises to be made. There's no battery to be drained by your resource-hungry app, and no customer to complain about that drained battery. There's no need to broker deals with carriers (who, incidentally, have stricter and stupider rules than Apple ever will), no need for effective marketing, no need to worry about market share or competitors or profits or even prices. There isn't even any need to fix your bugs. You can live happily in cloud-cuckoo-land; a place where your apps can do anything they want (take over the phone? use 85% of the available bandwidth? accidentally overwrite other application's databases?) without ethical, legal, or physical constraint; a place in which you don't even have to study anything in order to develop gorgeous, easy-to-use, insanely profitable mobile applications.

Meanwhile, Apple is very, very likely to do to Android what they did to the Linux desktop: Deliver 85% of the features and 175% of the usability in a consistent, beautiful, well-marketed package that will promptly become the platform of choice for users who have any money... who, incidentally, are also the users that are most likely to spend money on third-party software.


I don't know, Objective C seems a relatively minor issue to me. (although I have to admit I don't know Obj-C either)

Right now, developing for the iPhone seems scarily similar to developing for a game console in the amount of politics and bureaucracy involved.


The only thing that makes learning Objective-C difficult for me is availability, because AFAIK I can't compile Obj-C code on anything but a mac, and I don't happen to have one.

Other than that, I agree... it's just another programming language, and from my experience spending a little bit of time learning it when I worked for a company that provided me a mac, it's a pretty nice language. (That was v2. I hear v3 is significantly improved.)

Some day I might add a mac to my computer lineup, but for now it's not feasible, largley due to financial constraints... meaning that although I'm not exactly struggling to make the mortgage payments, my budget is finite, and I have other priorities besides yet another computer at the moment :)


gcc + gnustep is available for many non-Mac machines


And the emulator? Developing cell phone apps without an emulator is... not an easy thing.


I also can't help but feel like developing for the iphone is like developing for a soon-to-be-obsolete technology. I don't know when we should expect to see android phones, but I'm drawn to the openness of it and see an opportunity to become an expert before everyone else.


"those who want to write great software, control the hardware." Hence Apple's focus on controlling the entire process...

The same shift has occurred in gaming with consoles taking over as the development platform of choice. So, I see the best cell phone apps existing on the iPhone for this very reason and furthermore, produced by significantly smaller studios. The iPhone SDK + iTunes distribution is a garage-programmers delight for anyone seeking to capitalize.

The problem with Android is the burden of designing around hundreds upon thousands of hardware combinations that exist in an open market. It also completely ignores the entire experience from distribution to installation on the phone; point A to point B can have a lot of barriers which has prohibited a sizable phone software market in the past. Apple has solved this too.


> The problem with Android is the burden of designing around hundreds upon thousands of hardware combinations that exist in an open market.

For many people, that's an opportunity, not a problem. The width and breadth of the current cell phone market indicates that variety is something that the market values, and a one-size-fits-all phone is never going to conquer that large a share of the overall market.

Also, consider the many vertical and niche applications that will only be possible on a platform like Android, where you have more control.


I was a little surprised at the article's comment that some programmers thought Objective C doesn't have the speed and flexibility of Java. Is this true?

Based on my limited understanding of Objective C, it compiles to native code plus message passing, while Java compiles to bytecode -- which should give both languages similar performance. The Language Shootout bears this out, on PCs, at least:

http://shootout.alioth.debian.org/debian/benchmark.php?test=...


I suggest that Android developers get on the iPhone bandwagon soon, or they'll be toast. Android might sound nice on paper, but it doesn't actually sell applications. It will be spread out over who knows how many phones, each having different requirements. There is unlikely to be a central place selling applications that does it as well as the App Store will. Why develop for Android when you can work out all the kinks on the iPhone platform and THEN port it over to popular Android phones? iPhone developers will have a head start, so it makes business sense to start there first. Closed systems to have their advantages, and developers are ignoring them at their peril.


A side note:

When people who aren't brokers or traders are referring to companies by stock symbol rather than name, sell.


I was wonder that myself. In my mind I was trying to parse "American Association of ... what? Programming Lanaguages?" until it clicked.


I would probably guess that this is because it is easier to develop for a nebulous piece of vaporware than an actual product platform. If you are developing for the latter then eventually people expect your code to work and ship, while for the former allows you to write endless blog posts about how your port of the Duke Nukem Forever engine is going to look...


We're currently developing in Android as it seemed the easiest path to getting a prototype of our idea up and running. We kinda figure that getting to play with something and refine the idea based on the experience is more important at this early stage as the platforms are settling down. We can always rewrite it later. Do you guys think am I being ridiculously naive in underestimating the importance of picking the winning platform early on?


Nope. Any entrepreneur can get a solid business going if its a great idea and done right. Its just that the iPhone platform is going to be done first, so if people have apps done for that they can work on their Android stuff while they're selling on the iPhone. If you're in a crowded genre, you'll be fighting uphill for a bit, but if your idea stands on its own then take the time to do it right, no matter what platform you choose.


It seems to me that most of the more compelling apps on these platforms will be heavily server dependent anyway (location data, etc).

If that's the case, then presumably a lot of the heavy lifting will be done on the back end and writing multiple front ends won't be a huge problem. (i.e. Loopt)


They may, when revenue for the Apple aps starts to come in.


Then they may go back to Android, when they realize Apple is taking 30% of their app revenue first.


I'm not a mobile developer, but if I were, that wouldn't bother me. The concept of an app store shipping on every iPhone and Apple doing the marketing for you... it's pretty enticing and IMHO well worth that 30%. I'd imagine a high-profile application (read: fad) would gather more money, traffic, and downloads on a forced-down-your-throught app store on the iPhone than on Android where your users have to go more or less out of their way to get it.


Google has said that they intend to offer an "AppStore" for Android, much like Apples.

The differences however will be: 1) You do not have to use it. 2) They will take much less than 30% (so they say)

While I agree with you for small-scale apps made by individuals, I think AppStore is a problem for startups looking to monetize their apps on a larger scale. 30% is a huge chuck off your total revenue any way you slice it. And remember, there is no legal alternative to AppStore for the iPhone.


Good point. However, many applications monetized on a larger scale are built on advertising models, which don't have to give a cut to Apple. But you're right, traditional, expensive, stand-alone software is going to take a hit. On the other hand, its not like this will mean developers will lose money, they will just be paying more than they should for the value they get from the App Store. Actually, they're likely to make the same profit as their competitors who will also have to give a cut. Either way, Apple can always change its mind and give discounts for large volume sellers, expensive apps, etc, these rules aren't set in stone. Thats the best part about setting limits. Its easier to relax them than to set limits where none before existed.


And how much will the carrier expect to take out of that transaction? If you think they are going to do it for free or for less than they take on app sales for other handsets just because Google tells them so you are making a very dicey gamble.


Good point. I guess the only possible legal alternative to the AppStore is an application installed via the AppStore that does the same thing, but the odds of Apple allowing something like that to be listed on AppStore are near nil.


And then they'll go back to apple, when they realize that telecoms or portal sites would take minimum 50% anyway. And there's marketing.


Marketing maybe yes, but telecom probably not.. The era of the telecom "deck" will die July 11th, 2008.


Google still can build something on the same lines as the iphone app store and deal with the complicated/boring part of advertising, hosting and getting paid for applications. They have all the pieces in place.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: