Android versus iPhone, Diversity versus Homogeneity

Just over two years ago in this blog, I laid down the reasons why I felt that Android OS would be a success. I attributed the success down to being hardware agnostic and having a clean set of application APIs. I further stated that it was imperative that Apple allow applications on their iPhone OS before it was too late.

Well, as we now know, Apple announced their App-Store in March 2008 (4 months after the Android OS announcement and my original article). In a little over a year and a half, over 100,000 applications have been approved and listed within the iPhone App-Store.

On October 22nd 2008 the first phone loaded with the Android OS, the HTC Dream was released sporting a hardware keyboard and version 1.0 of Android. In the following year, new phones were announced, slowly at first, the HTC Magic, then the HTC Hero, Samsung Spica, and Motorola Cliq. More recently the second generation phones have either appeared or been announced (Dell Mini 3i, Motorola Droid, Sony Ericsson Xperia X10, Samsung Behold II, and more).

The Android flood has started, and with the deluge of consumer choice, Android OS is finally gaining significant market share in the Smartphone market whilst Apple continues to eat into the market share of the other major players. RIM, Nokia, Palm and Microsoft look set to fight for their very survival.

The remainder of this article is a critique of the features and strategy of iPhone OS versus Android OS in the battle for market share in the Smart phone market.

iPhone best bits

  • First to market with ergonomic and user-friendly multi-touch media player and smart phone combination.

  • The speed of the iPhone is excellent.

  • Excellent on-board browser (no-frills but high quality).

  • Easy to navigate between applications and an easy learning curve.

  • Able to make iTunes purchases directly from the device. Makes easy to find and download new content.

  • Maps/GPS implementation is excellent and you will never get lost again.

  • Excellent 3D and video acceleration hardware inside the device.

  • Excellent choice of over 100,000 (and rising) approved applications in the App Store. Easy to browse and install.

  • One major and one minor OS upgrade per year (usually). New features added for free.

iPhone's shame

  • The physical design of the iPhone between owners is exactly the same. The iPhone (aside from a choice of 2 colours) is completely homogenized and as an owner, there is almost a sense of shame in producing an iPhone out of your pocket when everyone else around you has the very same phone in their pocket. Even if you love what it does, pulling it out of your pocket makes you feel like a sheep and rightly so. More hardware variety is required.

  • No background apps means that only one application can run at a time. Many useful applications are not possible due to this restriction (such as incoming VoIP phone calls, bluetooth location aware services, etc.)

  • Lack of customisation/advanced options in the iPhone OS... The OS treats you as if you were an idiot, which is a great default feature, as most users are not power users and giving users access to advanced features usually results in more support calls. BUT, there are millions of users that are advanced users and need access to advanced settings. These users wish to be able to set the mean time between snooze alarms, they wish to be able to attach multiple images to emails, they wish to have a unified inbox, they wish to be able to specify a six digit pin code instead of the weak 4 digit. Browser lacks many advanced options such as selected cache flushing.

  • Restrictive App-Store terms and conditions means that its not possible for me to run emulators, flash, java, alternative browsers, to run Voice-over-IP software over the 3G network. Apple lets you know at all times, that you do not own your own device and you do not have the right to decide what is allowed on it or not. Using the exceptional hardware to its full potential is purposefully crippled by the OS as mandated by boardroom decisions in Apple HQ. Cannot transfer application purchases between regions. Some applications are locked out of certain regions. Very restrictive and completely unfair.

  • Battery life is still a problem. If using the iPhone for gaming, don't expect to have any batteries left after 80 minutes. Never game for longer than 30 minutes a day if you want your phone to be able to actually be used as a phone. The more I think about it, I love online distribution system of the iPhone for gaming, but I would prefer to have an iPhone touch for gaming as there is no risk of running your phone batteries down.

  • No hardware back button means that when an app links to a webpage, your state in the referring app is lost and you have to click the menu button, find the originating app, and find the item that linked to the webpage in order to continue. Its terribly unergonomic.

  • iTunes integration is still tied to the iPhone hardware. Makes it problematic to move to a different phone type without losing content or without having very good IT skills.

Android's Best Bits

  • A large choice of handsets that is set to explode in the coming year. Cheaper handsets with slow CPUs, luxury handsets with fast CPUs, a variety of styles, colours, keyboard, no keyboard, capacitive touch screens, resistive touch screens, low res screens, high-res screens.

  • Customisable look and feel means that each manufacturer can have their own unique feel whilst building on a secure infrastructure that has access to thousands of application as standard.

  • Excellent set of standard OS features including turn by turn GPS navigation for free (Android 1.6+).

  • Excellent integrated browser (HTML5 compliant). Customisable and alternative browsers can be installed by the user if they desire (such as Firefox) .

  • Exchange integration, multiple email accounts and email account unification.

  • All types of applications are supported including virtual machines and services that overlap the core OS services (user has a choice of what he/she wants to use).

  • Android Market place has thousands of free and paid-for applications.

  • Support for background applications.

  • Widgets supported -customize the look of your phone. Provide convenient short cuts to system functions in a way that suits your usage pattern.

  • Android OS upgrades provided on a regular basis.

Android's shame

  • Version 1.0 of Android did not support on-screen keyboards so we were limited to the HTC Dream only for the first 6 months of Android's life. It wasn't until recently that an iPhone contender appeared from a hardware point of view (the Motorola Droid) and most existing handsets fit into the 1st generation camp right now.

  • The iPhone OS is still conceptually easier to use and easier to understand (at the expense of advanced features). Android still has some ergonomic hiccups to address such as the clunky pull-up menus and lack of pinch zoom on many handsets.

  • Android does not currently attract game development due to unoptimised libraries and a diverse set of hardware that makes it difficult for developers to target and test on all platforms.

  • The application store is currently less profitable for developers due to the much larger install base with iPhones and possibly for demographic reasons.

  • The first Android devices suffered from slow and clunky operation. This was a combination of the early versions of Android along with Anaemic CPUs (528MHz ARM11 CPUs) that simply could not compete with the fast and responsive iPhone.
  • Some early devices remain 'clunky'. Some of this may have to do with the unoptimised Dalvik virtual machine.

  • The Dalvik virtual machine has been and continues to be a huge disappointment in terms of performance but does provide an excellent sandbox that is required for application to leverage the Android platform. I would be extremely surprised if there were not some major optimisations in store (such as JIT) for Dalvik in the next year but this a key area for improvement in the Android infrastructure.

Looking ahead

Apple is far ahead in the lead right now but Apple has a lot to consider if it wishes to maintain its lead.

By this time next year, there will likely be scores of 2nd and 3rd generation Android phones available, all with usable, ergonomic user interfaces and all phones able to leverage a huge libraries of custom applications. These phones will come in a huge range of form factors, specification, some with keyboard, some without keyboard, some hip, some corporate, some suiting games, some optimised for battery life. Android OS is designed to fit on a variety of hardwares and therefore has the ability to fit inside every niche. Applications will be portable across devices but each device will be personalized and unique. The Android OS will continue to accrue new features and new optimisations and with Google as its sponsor, its sales momentum looks set to accelerate.

The iPhone will continue to be a dominant force in the next year mainly down to their superior hardware and excellent user experience (at some expense of flexibility). But the hardware advantage is fast disappearing. The Motorola Droid goes toe-to-toe with the 3GS in terms of performance, and there are phones based on the snapdragon chipset that should outperform the 3GS significantly.

But performance is not the battleground. The battleground is choice and features.

Some potential iPhone customers have already been put off by the lack of physical keyboard on the iPhone and have either chosen a different phone or are waiting until a phone appears that matches their aspirations.

So, what will Apple do now? Will their next phone have a physical keyboard, or not have a physical keyboard? Will it have curved edges or well defined lines? Will it come in white or in black or in red or in blue? Will it have a WVGA screen (as with the Droid) or a HVGA screen as with the current models? Extrapolating just these few options leads to problems.

How will Apple fill the niches that the market demands? Will they produce a series of iPhones (keyboard, non-keyboard, basic, hi-res, gaming edition, etc.)?

The only possible defence that Apple has from the coming Android onslaught is licensing the iPhone OS and using their current momentum to beat Android OS at its own game.

I predict that Apple will either announce multiple new iPhone models this year (beyond the simple capacity differences we have seen the previous 3 years) OR that Apple will announce the licensing of the iPhone OS to third parties (as well as continue with its own hardware development). The former would help Apple in the short term but it is the latter that is the only chance for Apple to maintain its momentum in the long-term.

Watching and discussing the mobile OS market is a most enjoyable hobby and I look forward to watching the story unfold over the coming years.


Chrome OS first impressions

So, Chrome OS has finally been revealed, at least in concept.

What we know

* Fast boot-up times (7 seconds at this point).
* Only a sub-set of hardware will be supported and it requires a solid-state drive.
* Trusted computing model. User has no permissions to change anything and all system modules are signed and verified meaning in theory, no viruses and no need for virus-checkers.
* The Operating system is the browser. You boot into a modified version of the Chrome OS browser. No other native applications are supported.
* Want an application, make it a web-app. This platform is strongly pushing HTML5.
* All data is stored 'on the cloud'. That means that if your life belongs inside Chrome OS, it doesn't matter which machine you use as all your files are on the Internet. Your computer is ... insert pause ... 'Stateless'.
* USB thumb drives are supported but hard-drives are not.

What we don't know

* Will all your earthly data be protected by a single cloud password (assuming you have a preference for the Google services)? Will Google choose to beef up their security before launching this? I do hope so.
* How will this device function with media stored on an external hard-drive or thumb-drive? The host hardware will easily be able to deal with all content SD/HD by the end of 2010 so how will the media playback work. All in-browser?
* Which hardware will run the OS and what price point will it weigh in at?

What I like

* Trusted computing is great. A platform where viruses and virus checkers are a thing of the past. I think this is the most appealing part of the entire platform.
* Fast Booting is fantastic.
* HTML5 applications are great. But that is not unique to Chrome OS.
* No local storage (other than boot flash) means that netbooks based on the Chrome OS specs will be another $50 cheaper. Cheaper is good.
* I like the idea of a dumbed down computer. More options invariably lead to more problems for an average user. So take away the big red buttons that will invariably lead to confusion or failure. Nice work.

What I don't like - Data Security

Google wants all data in the cloud. They want you to sell you the benefit of implicit and automatic data backup and redundancy and convenience in exchange for your trust.

Actually, I personally do trust Google, more than most companies. I trust Google to keep my data safe, and I trust them to run their intelligent algorithms at a high level to act as the clearing house between customer desires and the ability to match vendors with those desires. I trust in this because they know that their business is dead once users start viewing them as evil so they must make their best efforts to never be evil. I have no problem with that although I accept there are plenty of good arguments on the other side - but that is for another time.

My problem is that we are not ready for users storing all of their worldly information in the cloud until data on the cloud is safe from social engineering attacks. User names and passwords, no matter how strong the passwords, can be extracted from users in double digit percentiles. [1] [2]

I would personally love to store more information in the cloud if I trusted it. But I don't, and I don't trust my password. I don't like the fact that I need to embed my password in my phone in order to be able to check mail from my phone. My whole life is in my email account and the gatekeeper to this smoking gun is a single sequence of characters. No.

The web needs to fix the scourge of passwords via the option of using something akin to SecureID for users that request it. I would pay to use such a device with my Google services.

What I don't like - Lack of Applications

An operating system is a broker between software and the hardware. As hardware becomes more powerful and adds new features, the operating system must expose that hardware to the applications that sit on the platform so that those features can be utilized.

CPUs are hugely powerful compared to 10 years ago, even in the netbook segment of the market. They can outperform every smartphone available and even the weakest has hardware acceleration of 2d and 3d graphics not to mention a variety of network features that were unthinkable 10 years ago.

The browser simply is too thick a layer to act as liaison between web applications and the underlying hardware. Many features of PC hardware are just not exposed at all via HTML5. The V8 JavaScript Engine is a stellar piece of work. It translates an implicitly slow language (javascript) into a relatively fast runtime by dynamic generation of machine code from the original script. I understand why Google has been pushing so hard to improve JavaScript performance in the browser. BUT, the JavaScript is still in a hugely crippled sandbox, not a problem if the browser is not the OS, but a huge problem when the browser becomes your whole world.

You still need approx 10x more horsepower to run a piece of complex code in a browser as opposed to natively. Dynamically compiled javascript cannot hope to compete in performance terms with native machine code or compiled C code.

An application such as Skype requires access to audio-in, audio-out, bluetooth headsets and requires its own protocols for sending and receiving voice data packets that are optimized for its purpose (VoIP applications need fine-grained control over network packets and need priority over other network requests on the same computer). Chrome-OS requires that Skype be a web-application. Just for the sub-set of computers that will run Chrome-OS. The Skype VoIP algorithm when translated into Javascript is likely to run several times slower and the browser would not allow control of the audio-in, audio-out, bluetooth controllers and fine-grained network connectivity from within the JavaScript sandbox of a HTML page.

We all love browsers, but browsers are not the only applications that are required to run on a PC. Regular users require applications such as Skype, iTunes, video editors, photo editors, etc. These could be signed and run outside of the browser, but as presented, everything must be within the browser. This is a major flaw in the OS and although I can live without almost all of these on my netbook as opposed to my desktop, I cannot live without my VoIP clients on my netbook (as they are perfect for netbooks as already 'Stateless'. So, Skype better get re-engineering, and if this is the way the web is heading, then we better get a better virtual machine for browsers.

What I don't like - Too many tabs

Now that the browser is king, the application taskbar has now been replaced by the browser tab-list. At this point it seems a little cluttered and unergonomic. I wonder if there will be options for cleaning up the UI.

What next?

Google need to work on allowing some 'native' applications on the platform. HTML5 is great but it was not meant as sandbox for the complete replacement of desktop applications. It is far too crippled for that - rightly so in its own context. Wrongly so in the context of an OS.

Without at least VoIP applications I will not be using Chrome-OS for my secondary machine, and without an answer to weak password security exploits I will not be tempted to put my entire set of personal documents on the Internet.

So, those are my first impressions. I'll revisit this in a year.

Be seeing you.


Online Data Backup, the long wait for GDrive

Back in 2003, I thought I had a bright idea.

I had been taking ever increasing amounts of digital photos without hard-copies. Also - I had been storing more and more documents on my computer and I started to worry about 'the fire' scenario. EVEN IF - I backed up regularly, all of my most valuable digital documents and memories would disappear in an instant.

I also hated the process of performing a manual backup. It was tedious and time consuming and at the time, external 2.5 inch hard drives were too expensive, as were flash drives, so backups were performed to CDs or DVDs. I was paranoid about the quality of the media, so often I would double up the backup, then when I got some new files in, I had to remember the differences between the files.

Which led me to my idea. The idea was to transparently mirror one or more of my folders to a server on the Internet. All files would be transparently streamed in my unused upload bandwidth and encrypted for transport. The server would instantly distribute the data to multiple physical locations and the data would be safe if there was a simultaneous fire or disaster in n-1 of the locations. The software would be a simple install and invisible in normal use but transparent with what it is sending and receiving and which files are currently pending distribution.

The business model would be to charge a subscription fee for a yearly backup based on the amount of data stored.

The theory was that as more and more people started carrying digital cameras and digital video cameras, the amount of data to be backed up would increase exponentially. My pitch was "Digital Insurance". I was then, as I am now, sure that eventually the majority of users of the Internet would have one form of digital insurance or another. To not have would be akin to not having house insurance. To risk all of your irreplaceable memories to save a nominal yearly cost with zero complexity is simply not rational once the adoption hits the tipping point.

There was one problem, I didn't own a huge server farm and I couldn't find a way to make the idea work without a huge investment in capital which frankly I had no experience in collecting. The client and server software were relatively trivial to build but it was the infrastructure that was the sticking point. Eventually, I gave up the idea as I felt that one day someone would implement the exact same service for me (albeit without me becoming a massive multi-billionaire for virtue of having the idea).

At the time of giving up, I strongly felt that the best fit for this kind of service would be Google due to their infrastructure. Years passed and a few services have appeared offering online backup in a way that is very similar to my original idea. Carbonite appeared and there are others, but Google remains quiet. Carbonite is a strange service. It only backs up data on internal drives and will not backup from external USB drives. I store a lot of data on external USB drives so it immediately excludes me as a customer.

I heard rumours about something called GDrive a few years back and I was sure Google was going to announce their version of an online backup service. But no news. Nothing.

What brought this all back to me was that they made the announcement today that 20GB of storage on the Google service is now just $5 a year and 80GB is just $20 a year.

Google Storage Upgrade

Unfortunately, this is just a file container for pictures and emails, not a synchronized network/local drive.

The cost is finally in the ballpark of what an online backup system should be charging. If the infrastructure is finally available to store data in these volumes then GDrive cannot be far away. I suspect the software will treat the online copy of photos, documents as the master, and will allow users to stream files directly from the network drive from any computer with any computer being able to add files to the drive (given the right login credentials).

The service must negate the possibility of user-error when asking users to store all of their personal data in the cloud.

It is vitally/critically/of the paramount importance that customer not forget their password or lose their usb-thumbkey authentication as any password replacement policy implies that the photos are decryptable from the server side which should not be tolerated.

Key management is the hardest part of the entire service and it will be interesting to find out how Google intends to deal with this.

If the data can be decrypted on the serverside, without your key phrase/password/thumb-stick/whatever then that means that all your private documents and photos are readable to Google and possibly to others online. Only if your documents and photos are entirely scrambled on the serverside will users adopt the service. Security and key management are paramount.

Possibly, a copy of the key or password should be entrusted to a third party. If a thumb-key is required, then a backup of the key in a separate physical location is also required otherwise there is still fire-risk to the data as if the key is lost and if google does not have a copy of the key then you lose your physical copy and your online copy (as its scrambled). This is a real sticking point in my mind, and possibly one of the reasons this service is taking so long. Username and password authentication is too weak for this service, but this service is unique in that all the data on the server MUST be scrambled meaning that if a user forgets their password or security information, the user potentially loses everything which would hit the news and would hit profits.

To try to round off this ramble, online backup has been a long time coming but the technology is ready now. The pieces are in place and I look forward to being able to forget about backup and to be able to access my data from anywhere in a secure way.

Could GDrive finally be arriving soon? $20 a year for a backup of all my precious memories? Yes please.