Inside Google's Android and Apple's iPhone OS as core platforms

Posted:
in iPhone edited January 2014
A new batch of smartphones based upon Google's Android platform have started to arrive, finally fleshing out what users can really expect of the platform. This article is the first in a series examining how Android stacks up in comparison to the iPhone as a smartphone software platform.



Articles in this series:

Inside Google's Android and Apple's iPhone OS as core platforms

Inside Google's Android and Apple's iPhone OS as business models

Inside Google's Android and Apple's iPhone OS as advancing technology

Inside Google's Android and Apple's iPhone OS as software markets



Android doesn't really compete against the iPhone directly; Android is a flexible platform that can be put to use with a lot of implementation leeway by any company, not a specific product tightly managed by a single company in the way the iPhone is.



However, with the wholesale collapse of nearly every other viable smartphone platform --including the old PalmOS, Linux distros like OpenMoko and GreenPhone, Windows Mobile, and even the leading Symbian -- Android has assumed the position as the lead candidate for producing a potential rival to the iPhone, and lots of hardware vendors are hoping to use Android to do just that. New Android phones from HTC, Motorola, and Sony Ericsson are clearly taking aim at the iPhone, each in unique ways.



Comparing specific implementations of Android phones against the iPhone is problematic because Android is only one component of the package. Individual Android-based phones may be exclusively tied to a specific mobile network with different price plans, service coverage, carrier restrictions, or technology limitations that have nothing to do with Android itself. Similarly, different phone manufacturers may have their own design or quality issues, support problems, features or pricing that contribute to or distract from the overall ownership experience but which also don't involve Android itself.



For these reasons, this series will focus exclusively on Android's strengths and weaknesses in comparison to Apple's iPhone as a software platform, rather than being limited to any specific phone model. The issues presented here will broadly apply to all Android phones on the market, as well as those still in production. In addition to the factors presented here, there are lots of issues external to the software platform that users will want to consider when actually choosing a phone.



However, because the core phone platform so deeply impacts usability, expansion options, third party software capacity and feature support, examining the differences will provide a lot of illumination on what kind of experience Android users will have over their phone's lifetime compared to the iPhone. This comparison is analogous to comparing Windows to Mac OS X, rather than the features of a specific Windows PC against a specific Mac model.



Android vs. iPhone: under the surface



The Android or iPhone software platform is more than just a core operating system. And really, the differences in their core operating systems are one of the least important factors to users. Both use a Unix-derived kernel and operating system environment that few users will ever even see. Android phones happen to use a Linux kernel while the iPhone uses the same Mach/BSD Unix kernel as Apple's desktop Macs.



In the big picture, this doesn't really matter much because neither smartphone platform provides any real access to this layer (either to users or developers), and neither phone platform is designed to run desktop software developed for Linux PCs or Macs. Both systems are examples of well regarded technology that is fully capable of supporting the needs of the smartphone environment above the core OS.



The actual platform environment that matters to users on Android and the iPhone exists well above the core operating system kernel. This is where applications run, where security is enforced, and where the business model behind the smartphone impacts what users can and can't do.



Platform environment: Android



Rather than running desktop Linux PC software (which is built using the X11 "X Window System" paired with a window manager like KDE or GNOME) like Nokia's N900 running Maemo Linux, Android supplies a modified Java Virtual Machine similar in many respects to the BlackBerry OS and Symbian phones designed to run Java ME apps. Google has modified Android's Java bytecode interpreter (which it calls Dalvik) to avoid having to pay Sun licensing fees for the official JVM in Android. This enables Google to offer Android for free, and without any interference from Sun. It also effectively makes Android a Java platform, not a Linux platform.



Existing Java ME software is easy to port to Android, which is an advantage both because it makes delivering new third party Android apps easier for developers familiar with mobile Java programming, and because it forces developers to do some minimal porting rather than just make their old Java ME apps available as is. The majority of existing Java ME apps are simple and low quality and can't actually run across the wide range of phones that are supposed to run them. Java ME competes against Adobe's Flash Lite, which is also broadly licensed to phone makers but which, like Java ME, hasn't done much to result in broad availability of quality mobile software.



Sun's mobile Java platform is purported to be a "write once, run everywhere" platform, but in reality it only serves as a lowest common denominator for very minimal functionality. BlackBerry and Symbian users want to obtain software custom designed for their phone OS and model, not a basic generic applet that can potentially run on any phone but which does not take advantage of any special features on any model.



The "run everywhere" premise of Java ME is also complicated by the fact that different phones (even from the same vendor) implement the Java virtual machine differently. This results in user confusion as each app has to be tested and optimized for each new phone model, something that simply hasn't happened. That's why Sun's Java ME platform, despite being touted as "the most ubiquitous application platform for mobile devices across the globe," hasn't resulted in a popular, successful market for smartphone software.



Google has purposely broken compatibility with Java ME to introduce Android's Dalvik alternative as a new development platform that leverages all the developer experience and familiarity of Java, without allowing or intending Android software to run on BlackBerry or Symbian phones. The hope is that Android's single, standardized implementation of Java technology will do what Sun's broadly licensed Java ME failed to do: deliver a viable mobile software market across hardware vendors' offerings.





This all happened before



Android's goal is somewhat similar to the world of desktop computers in the late 70s, where various vendors adopted CP/M as a common way to write software that could work on more than just one computer model. Microsoft introduced its own modified copy of CP/M under the name MS-DOS, partnered with IBM to widely deploy it, and then became very successful in selling a standardized, proprietary version of what had been a loosely open standard (open in the sense of being widely used by multiple companies, not in the sense of open source or an open specification).



When other software vendors began copying MS-DOS, the new market for DOS PCs enabled hardware makers to bundle any DOS with their hardware, and customers could subsequently run any DOS software on their PCs. However, Microsoft subsequently worked to suppress and eventually killed off all MS-DOS software clone competitors with the introduction of Windows 95 in order to maintain monopolized control over the software platform sold on every PC globally.



In contrast, Google says it intends to allow manufacturers to use Android any way they like. Phone makers and even mobile operators can introduce their own modified versions of Android that all use the same Dalvik bytecode interpreter. This will result in the Android software market being much more like DOS PC world of the late 80s than the Windows world of the past fifteen years.



This is an important distinction because Google's Android is being frequently compared to Microsoft Windows by pundits, despite the fact that Google has little in common with Microsoft in terms of how it runs its new platform and how it plans to make money from it.



Platform environment: iPhone



Apple has taken an entirely different approach to delivering its mobile software platform. Rather than building a bytecode interpreter based upon a specific, customized implementation of Java ME, Apple introduced the iPhone running a scaled down version of its desktop Mac OS X Cocoa development environment. This leverages the installed brain trust of the company's Mac developers rather than the installed base of Java ME coders in the existing smartphone market.



It's still possible to port Java code to the iPhone, but it requires more translation work as Apple only supports Objective-C/C as an iPhone development language in its own tools. Rather than allowing iPhone developers to easily port over desktop Mac apps to the iPhone, the great overlap between iPhone and Mac development tools appears to have been more of strategy to draw developer attention to the Mac. Apple already sells about twice as many iPhones as it does Macs, and the iPhone certainly casts a larger mindshare net than the Mac platform does itself.



The differences between developing for Android and for the iPhone are not a clear win for either camp. Both offer somewhat similar tools in terms of capability, with Google's being more familiar to open source or Java developers and Apple's being nearly identical to its desktop Mac platform tools. Apple has a minor lead in having deployed its platform about a year and a half before Android reached the market, and because it has been actively working on its Mac OS X platform for over a decade; Google is new to the platform development business.



However, the team Google acquired to put Android together has been working within the company for about as long as Apple's own efforts on the iPhone; both got started on their current strategies around 2005. Outside of Google, the original Android project dates back to 2003, and was largely built upon on operating system technology that started at Danger in 2000, around the same time as Mac OS X's modern development. So in many respects, Android and iPhone are contemporary platforms, as opposed to Symbian, BlackBerry OS, and Windows Mobile which had their core foundations designed in the mid 90s to serve very different purposes as simple PDA or pager operating systems.



Android vs. iPhone: the business model



In addition to their internal technical differences, Android and the iPhone platform also differ in many other more significant respects that will more directly impact users. It's possible to use inferior technology to create a good product, and to use excellent technology to deliver a terrible product. More than technical specifics, users will be most impacted by platform factors such as:



? User restrictions and/or freedoms accorded by the platform's business model.

? The potential for rapid advancement of new features, increased sophistication and greater performance delivered in software updates.

? The usability of core bundled applications and the availability and affordability of useful and desirable third party software.



Upcoming segments will look at how Android and the iPhone compare in these respects.
«134567

Comments

  • Reply 1 of 127
    mazda 3smazda 3s Posts: 1,613member
    Wow, a relatively fair and balanced article from Prince. I'm in total shock
  • Reply 2 of 127
    Didn't Android go beyond the original so called Java stuff and went full blown, or is this another myth?
  • Reply 3 of 127
    richlrichl Posts: 2,213member
    Hi, Android developer here. Just a few points...



    Quote:

    Android doesn't really compete against the iPhone directly; Android is a flexible platform that can be put to use with a lot of implementation leeway by any company, not a specific product tightly managed by a single company in the way the iPhone is.



    Google controls the platform and writes the vast majority of new code. They also have the concept of "with Google" phones, i.e. those phones running a Google-approved, vanilla version of Android. The Motorola Droid and HTC Magic are examples of Google phones. That's as close the iPhone model as you're going to get.



    Quote:

    New Android phones from HTC, Motorola, and Sony Ericsson are clearly taking aim at the iPhone, each in unique ways.



    Don't forget Samsung and LG. Android has got all of the traditional "big five" manufacturers on-board with the exception of Nokia.



    Quote:

    In the big picture, this doesn't really matter much because neither smartphone platform provides any real access to this layer (either to users or developers)



    Android apps are capable of calling native code using a System.loadLibrary call.



    Quote:

    Adobe plans to bring Flash support to Android and Blackberry



    ...and Symbian and Windows Mobile.
  • Reply 4 of 127
    Quote:
    Originally Posted by sprockkets View Post


    Didn't Android go beyond the original so called Java stuff and went full blown, or is this another myth?



    What exactly is your idea of "full blown"?



    Android is a modified Java platform. How does it achieve full blowness?
  • Reply 5 of 127
    irelandireland Posts: 17,798member
    The phone business and "the computer" business are not the same thing, but it's tempting to think it's the same thing again. It's slightly different. And that sight difference end up being very different.



    Phones are different because there are more personal, and Apple is gambling on the fact that they're product is better, quite simply. They proved choice wasn't necessarily what people wanted when it came to their music players, and they're trying to prove it again.



    Take consoles: People know of three. MP3 players, people know of even less probably. Phones might end up being a similar scenario. Probably not only 3 players, but not 'many' more. They want to be one of the big players, and they are.
  • Reply 6 of 127
    gazoobeegazoobee Posts: 3,754member
    Good article, but I wouldn't say Linux was "Unix-derived."



    It's a clean room "Unix-like" copy isn't it?

    (as opposed to being a variant or derivative implementation)
  • Reply 7 of 127
    What does Windows Mobile use as far as a kernel goes and what runs (or crashes) as far as a platform?



    Will Apple rewrite mobileme since alot of it is written in AJAX and appears to be catering more toward iPhone users than Macintosh users?



    What is the big deal with flash? Most website developers are pretty much burning out on using it and it's been crashing web browsers on both platforms for years now. Sometime after Adobe bought it.



    Can you develop flash applications without paying Adobe? How much of a hit does the OS and battery take by using Flash as opposed to just using the native platform?



    Thanks.
  • Reply 8 of 127
    ahmlcoahmlco Posts: 432member
    Quote:
    Originally Posted by AppleInsider View Post


    Similarly, different phone manufacturers may have their own design or quality issues, support problems, features or pricing that contribute to or distract from the overall ownership experience but which also don't involve Android itself.



    I don't agree. This seems to provide the Android market with a built-in excuse. "The PLATFORM is fine. It's all of those crappy phones that are the problem."



    But I doubt the market will see it that way. If too many companies tout their latest Android hardware as the greatest thing since sliced bread and then fail to deliver, plenty of that mud is going to stick to Android. "Android phones suck."



    The flipside, of course, is that they could in fact make great phones. Unfortunately, quite of few of the current models have received lackluster reviews at best, with only one (Droid) being touted as a worthwhile competitor to the iPhone.



    And even then Verizon may still screw the deal, as, for example, the feedback to their $30 additional tethering plan is meeting stiff resistance.



    Again, a carrier issue, but a phone depends on that synthesis to work.



    Secondarily, the very freedom Google is giving the carriers to modify Android as they wish could be another major issue. Anyone remember how Verizon just loves to gut phone features and interfaces?
  • Reply 9 of 127
    solipsismsolipsism Posts: 25,726member
    If this is like the PC days instead of having vendors innovating ways to bring you more and better HW specs, we’ll see the innovating new ways to save money from the top to the bottom to offer a device that that is cheaper than their competitor. \
  • Reply 10 of 127
    chronsterchronster Posts: 1,894member
    Quote:
    Originally Posted by RichL View Post


    ...and Symbian and Windows Mobile.



    i can't wait
  • Reply 11 of 127
    akacakac Posts: 512member
    Quote:
    Originally Posted by HammerofTruth View Post


    What does Windows Mobile use as far as a kernel goes and what runs (or crashes) as far as a platform?



    Windows CE as its kernel.

    Quote:



    Will Apple rewrite mobileme since alot of it is written in AJAX and appears to be catering more toward iPhone users than Macintosh users?



    MobileMe is not AJAX. The MobileMe website is AJAX, but that's just one of its interfaces. MobileMe itself is a server tech with a private API.
  • Reply 12 of 127
    solipsismsolipsism Posts: 25,726member
    Quote:
    Originally Posted by Akac View Post


    Windows CE as its kernel.



    MobileMe is not AJAX. The MobileMe website is AJAX, but that's just one of its interfaces. MobileMe itself is a server tech with a private API.



    Using WindowsNT 4.0 Servers with Itanium I processors, connected by ISDN lines. Not really, but it would explain why it’s so slow to use iDisk.
  • Reply 13 of 127
    sheffsheff Posts: 1,407member
    I agree that at the end there will be three types of phones: iPhone, Android Phone, and WinMo Phone. WinMo's latest phones are actually looking good enough to compete with Android, so I don't think it will die off, but I predict it to be a third place out of three, with maybe 20% market share, the other 80% split about evenly between iphone and android, sorry Symbian.
  • Reply 14 of 127
    shrikeshrike Posts: 494member
    Quote:
    Originally Posted by sprockkets View Post


    Didn't Android go beyond the original so called Java stuff and went full blown, or is this another myth?



    No myth. I assume by "full blown," you meant that Android has native development kit in good old C-based languages (well, a "compiled" language as opposed to an interpreted one). They released an NDK a few months back to support "performance" sensitive applications.



    My bet is that the NDK will be the app environment of choice in Android within a year or two. It's not like every single piece of code running on a computer (not just a mobile, a laptop or a computer) isn't performance sensitive. The only place Java is really taken on life is server side. Basically everything short of that, where UI matters, it isn't very good.
  • Reply 15 of 127
    Quote:
    Originally Posted by Shrike View Post


    No myth. I assume by "full blown," you meant that Android has native development kit in good old C-based languages (well, a "compiled" language as opposed to an interpreted one). They released an NDK a few months back to support "performance" sensitive applications.



    My bet is that the NDK will be the app environment of choice in Android within a year or two. It's not like every single piece of code running on a computer (not just a mobile, a laptop or a computer) isn't performance sensitive. The only place Java is really taken on life is server side. Basically everything short of that, where UI matters, it isn't very good.



    Yep, that's what I thought. The only big reason for wanting this is due to the core pocket media player needs more access than Java would provide it.
  • Reply 16 of 127
    anonymouseanonymouse Posts: 6,855member
    Quote:
    Originally Posted by Ireland View Post


    The phone business and "the computer" business are not the same thing, but it's tempting to think it's the same thing again. It's slightly different. And that sight difference end up being very different.



    Phones are different because there are more personal, and Apple is gambling on the fact that they're product is better, quite simply.



    I think the (smart) phone business is becoming more and more like the computer business, and the iPhone is a big part of the reason. But, success is really about mindshare and, to some extent, network effects (in case anyone thought I meant AT&T vs. Verizon). Right now Apple has mindshare and the network effect of iTunes, the App Store and iPod, and Android will have to be something pretty special to take that away from them. (The other major player with mindshare is RIM, although, I think theirs is more fragile right now, and on the decline: no one is reviewing new phones as Blackberry killers.)



    The reason that the IBM PC became the dominant computer platform wasn't because it was the best, and it wasn't even because of the clones, it was because IBM was synonymous with computers and their PC immediately grabbed all the mindshare. (And the clones and Microsoft were successful because of this.)



    Apple essentially stole the mindshare when they released the iPhone. Maintaining it is a combination of marketing and innovation, something I think they are well aware of, and very good at. But, it's likely that Android will grow at the expense of other platforms with less mindshare, rather than at the expense of Apple, for the foreseeable future. This is, however, a case were controlling the whole package gives them a leg up on the competition, since too much diversity (in form factors, quality, features, etc.) tends to dilute mindshare by creating confusion about just what the product is.
  • Reply 17 of 127
    anonymouseanonymouse Posts: 6,855member
    Quote:
    Originally Posted by sheff View Post


    I agree that at the end there will be three types of phones: iPhone, Android Phone, and WinMo Phone. WinMo's latest phones are actually looking good enough to compete with Android, so I don't think it will die off, but I predict it to be a third place out of three, with maybe 20% market share, the other 80% split about evenly between iphone and android, sorry Symbian.



    There may end up being three types of phones, but Windows Mobile won't be one of them. Windows mobile is near death, and Android is the final nail in the coffin. All that's left is for SB to take it out behind the Microsoft campus and put a bullet in its head so it isn't buried alive.
  • Reply 18 of 127
    shrikeshrike Posts: 494member
    I think you have to say Android is competing with Apple iPhone directly. They are in fact in the same market competing for the same users. Moreover, as soon as Apple unveiled the iPhone, Google started to make Android more and more iPhone OS like.



    If Apple didn't release the iPhone, I bet Android would look a lot like evolved Blackberries, Treos, and WM phones. This is one of the early Android prototypes:







    A year later, everything Android was touchscreen. That's a basically a declaration of war to me. The HTC Magic/Hero/myTouch/DROID Eris du jour are basically iPhone clones. Pure finger-based touchscreen devices.



    If I were Apple, I would do everything I can to undermine Google, including using alternative search engines, map engines, video sharing, etc. All these 3rd party hardware and software companies should know that they are at the mercy of Google's business strategy (monopolize search, use search business to kill all other potential companies taking a potential revenue source). It's a hard to beat business strategy. The GPS companies are basically dead now.



    It'll be interesting to see if some hardware company totally subterfuges Android. Take every thing Android, but don't use Google services. Say email, maps, video, search, etc., all are served by MS. Wonder what Google would do?



    Admittedly, with Google's position, any such action (undermining, subterfuge) has to be played very very carefully.
  • Reply 19 of 127
    The room seems a little quiet and I seem to read fear of the future for Apple.



    I think Fortune was saying good bye to the past and thanks for everything with the award.



    The Future does seem to all about 100's of phones on all carriers and application developers climbing over each other to get on the Google Wave.



    Good Bye Steve...



    It was nice knowing you. The 90's all over again and still a closed system. You'd think Steve Jobs would be smarter 20 years later.



    But he's a billionaire now he doesn't really need the money anymore.
  • Reply 20 of 127
    ibillibill Posts: 400member
    Quote:
    Originally Posted by CloudFuture View Post


    The room seems a little quiet and I seem to read fear of the future for Apple.



    I think Fortune was saying good bye to the past and thanks for everything with the award.



    The Future does seem to all about 100's of phones on all carriers and application developers climbing over each other to get on the Google Wave.



    Good Bye Steve...



    It was nice knowing you. The 90's all over again and still a closed system. You'd think Steve Jobs would be smarter 20 years later.



    But he's a billionaire now he doesn't really need the money anymore.



    Don't bet on it.
Sign In or Register to comment.