I currently have a Motorola Droid and it didn’t take long for me to notice that my app store (the market) is waaaayyyy smaller than the app store for the iphone. Since I am not a programmer and am pretty illiterate when it comes to computer stuff in general I don’t really understand why there’s such a huge disparity. Is it really that hard to program an app for the Droid phones? It seems that every product and their mother has an app for the iphone (Chase, Pizza hut etc.) but they can’t seem to make the same thing for mine. Is there really THAT much of a difference between the two? or do some companies just refuse to make dual apps?
It has nothing to do with difficulty, there simply isn’t the level of demand for Droid apps that there is for iPhone apps. The latter is a vastly more popular platform, especially now that the iPad is around, too.
My droid has way more apps than I even want to look at. And the pipeline is packed with new ones in development. If its been done for the iPhone, someone is already working on it.
The iphone store is older than the android market, the developers had more time to write all those apps. Android is still a pretty new platform, but it has a lot of momentum and the number of apps is increasing rapidly.
Programming for Iphone and Android is quite different, Apple uses objective-C as language while Google uses Java. The libraries and API are also different.
Android should have an advantage as Java is widely used and objective-C is a niche language. But it is said that Iphone users pay more for apps, so that is a significant incentive to develop for that platform
As far as difficulty, my kids were in a tech camp for web design for a week. Next door were the kids in iPhone app camp. These kids are like 8-15 designing and writing iPhone apps. So it isn’t rocket science. (That doesn’t mean they’re writing commercial-quality stuff, but it isn’t harder than any other kind of programming.)
Android OS has 33% market share compared to 22% of apples iphone OS, according to wikipedia.
I think that is only for smartphone sales in 2010. Apple has been selling longer and the Ipad is also not included in that number.
So then why can’t I get a Chase app on my phone? What’s the hold up?
or any of the apps that are already out and established? Do companies just not want to? or are they “working on it”
Talk to chase. There’s no answer to your question other than some companies are not motivated or don’t care about cross-platform products. 5 years ago people were saying “Why doesn’t the chase website work on Firefox?” Now we’re saying “Why don’t they make an app for android?” Some companies just don’t care.
Browsing for apps for my Ipod Touch I find a lot of redundancy, fluff, and just plain crap. Volume is not necessarily a plus. Do you find the Droid apps lacking compared to Apple apps? Are developers not writing the apps you’d like to use?
iPhone’s been around long enough that companies eventually started to wise up to the fact that “Hey, maybe we should write something for this new thingamajig all the kids have.” So they made iPhone apps. The Android OS has only really been out there for a year and a half or so. It has grown almost exponentially in only the last 6 months – before that you’d hardly be able to find anyone who knew what it was. Companies are just now coming to the realization that “Hey, this new other thing is getting to be more popular than that iPhone thing.” So many are just now catching up. The more nimble and tech/gadget-oriented companies already have ported over their apps – see Pandora, Shazam, etc. I believe most of the super-popular apps have versions or clones on Android. But slow-moving corporate monoliths like your bank don’t really know how to do agile development. They probably hired a whole team of Objective-C programmers for the iPhone app who wrote the whole thing with iPhone in mind (or the managers steered the project that way), and now they have to re-write the whole thing in another language for which they will probably have to hire new programmers (or retrain the Objective-C people).
Don’t forget that there a lot of iPod Touch devices that run the same apps as the iPhone. These are particularly popular with kids, and sold very well last Christmas. So there are still more devices that can run iOS app than Android apps.
I’m currently learning the Android API, and it’s butt-easy for anyone who has any sort of programming experience with a C-based language (that is, C/C++/Java/C#/etc). That’s a huge number of programmers.
The same cannot be said for the iPhone API. Not that’s it’s horribly difficult, but Objective-C (the language required to write iPhone apps) is a niche language that comparatively few programmers are familiar with, and though it has “C” in it’s name, it’s not very much like C (or Java, or C++, or C#). Before you learn anything about programming the iPhone itself, you have to learn the language. That’s a barrier to entry that I’ve heard more than one programmer complain about, including me.
My prediction is that within a couple years, we’ll see just as many apps on the Android, if not more. It’s just that Android is new, and there’s not as much demand at the moment.
Yeah, I don’t know about all that.
I would think its just because the droid market is way younger.
On the more general question of porting applications from one platform to another, it depends on what you’re using to create them in the first place, and to what extent you’re using platform-specific features. For instance, most of the programming I do is in C, and there’s a C compiler available for just about everything, and I also don’t tend to use things like graphics capabilities, or mouse input, or a built-in camera, or accelerometers, or anything fancy like that. I could take any of my programs and port it to almost any platform at all, just by finding a compiler for that platform and re-compiling it (a compiler is a program that basically translates from the languages human programmers use, like C, into language the computer can understand).
On the other hand, if I were making things with graphics, then I’d need a graphics library in addition to the compiler. Some graphics libraries are available on many different platforms, and if I was using one of those, then porting to a different platform (which still has that library) wouldn’t be too hard (though I might need to tweak some settings). On the other hand, if the graphics library I’m using isn’t available for the new platform, then I’d have to delve deep into the guts of the program to change all of the graphics stuff in it, to use a different graphics library. And if my program depends on something like an accelerometer, like many handheld apps do, then I just plain wouldn’t be able to port it to a device without, no matter how hard I tried.
Check out this series of 9 charts: link
It actually has information on which platforms developers are using, how long it takes the average developer to be proficient with a given platform and et cetera.