Affiliate Disclosure
If you buy through our links, we may get a commission. Read our ethics policy.

Android docs reveal before iPhone, Google's plan was a Java button phone

Before and after versions of Google's internal "software functional requirements" documents released in the Apple vs Samsung trial this week show that prior to Apple's 2007 iPhone debut, Google's vision for Android was a simple button phone running Sun's Java.

It's well known that Google's original plan for Android shifted gears dramatically once Apple unveiled its own iPhone in early 2007. However, the documents exposed in court show how great that shift was and how little Google originally planned to disrupt the status quo in mobile phones.

Google acquired an existing Android project in 2005, which was essentially an offshoot of Danger, the Java platform powering TMobile's SideKick slider phone. Both Danger and Android were founded by former Apple employee Andy Rubin.

Andy Rubin

Android in 2006

Version 0.91 of the Google's project definition for Android, completed July 6, 2006, was not an open document. It is labeled "Google Proprietary" and "Highly Confidential."

The document outlined a product that "will at a minimum, support a keypad with the following keys: Numeric, Star, Pound, Send, End, Home Back, 2 Soft Keys, 5-way navigation (up down left right select)."

Beyond the required physical keyboard identical to Windows Mobile phones of the period, Google also noted that "touch screens will not be supported. The product was designed with the presence of discrete physical buttons as an assumption. However, there is nothing fundamental in the Product's architecture that prevents the support of touchscreens in the future."

Microsoft's definition of Windows Mobile Smartphone (a category including the Motorola Q and Samsung BlackJack) identically insisted on keypad buttons and by definition did not support touchscreens.

Google planned to essentially use existing reference designs for Windows Mobile Smartphone hardware and install Android as Sun's Java Mobile running on Linux. The 2006 definition flatly specifies "the Platform will be compatible with Java Platform, Micro Edition (Java ME)."

Android Java ME

In addition to Java applets, the system was also expected to run even simpler widgets, which it defined as "little application that reside in the Home Application. They are meant to be simple, graphic representations or interesting ideas. Examples include: current weather, stock quotes, sports scores."

The entire subject of how the web browser might work is simply populated with the placeholder "TK," used in documentation to indicate that portion was "to come" at some point in the future. However, it also included a section for WAP, also "TK," before Steve Jobs' unveiling that referred to WAP as the "baby Internet."

Other portions still "TK" in 2006 were multimedia frameworks, the handling of music and pictures, and any outline of how an Android phone might support email accounts, folders, attachments or rich text.

iPhone in 2007

When Jobs introduced the iPhone on stage six months later, he noted that Apple had been working on the product for two and half years, or about six months prior to Google's acquisition of the Android team (which already had a Java based product on the drawing board).

Jobs stated that, at the time, "the most advanced phones are called smartphones, so they say. And they typically combine a phone plus some e-mail capability, plus they say it's the Internet— it's sort of the baby Internet— into one device. And they all have these little plastic keyboards on them. And the problem is that they're not so smart and they're not so easy to use."

Jobs contrasted "regular cell phones," saying "they're not so smart, and they're not so easy to use. Smartphones are definitely a little smarter, but they actually are harder to use. They're really complicated. Just for the basic stuff people have a hard time figuring out how to use them. Well, we don't want to do either one of these things."

Instead, Jobs said, "what we want to do is make a leapfrog product that is way smarter than any mobile device has ever been, and super-easy to use. This is what iPhone is. So we're going to reinvent the phone."

button phones 2006

Job continued, "we're going to start with a revolutionary user interface. It is the result of years of research and development, and of course, it's an interplay of hardware and software. Now, why do we need a revolutionary user interface? Here's four smart phones, right: Motorola Q, the BlackBerry, Palm Treo, Nokia E62 — the usual suspects.

"And, what's wrong with their user interfaces? Well, the problem with them is really sort of in the bottom 40 there. It's this stuff right there. They all have these keyboards that are there whether or not you need them to be there. And they all have these control buttons that are fixed in plastic and are the same for every application.

"Well, every application wants a slightly different user interface, a slightly optimized set of buttons, just for it. And what happens if you think of a great idea six months from now? You can't run around and add a button to these things. They're already shipped. So what do you do? It doesn't work because the buttons and the controls can't change. They can't change for each application, and they can't change down the road if you think of another great idea you want to add to this product."We solved it in computers 20 years ago. We solved it with a bit-mapped screen that could display anything we want. - Steve Jobs"

"Well, how do you solve this? It turns out we have solved it. We solved it in computers 20 years ago. We solved it with a bit-mapped screen that could display anything we want. Put any user interface up. And a pointing device. We solved it with the mouse. We solved this problem. So how are we going to take this to a mobile device? What we're going to do is get rid of all these buttons and just make a giant screen.

"Now, how are we going to communicate this? We don't want to carry around a mouse, right? So what are we going to do? Oh, a stylus, right? We're going to use a stylus. No. Who wants a stylus. You have to get em and put em away, and you lose em. Yuck. Nobody wants a stylus. So let's not use a stylus. We're going to use the best pointing device in the world. We're going to use a pointing device that we're all born with — born with ten of them.

"We're going to use our fingers. We're going to touch this with our fingers. And we have invented a new technology called multi-touch, which is phenomenal. It works like magic. You don't need a stylus. It's far more accurate than any touch display that's ever been shipped. It ignores unintended touches, it's super-smart. You can do multi-finger gestures on it. And boy, have we patented it."

Android in 2007

Reacting to Jobs' demonstration, former Apple engineering lead and early Android team member Chris DeSalvo stated, "As a consumer I was blown away. I wanted one immediately. But as a Google engineer, I thought 'We're going to have to start over.'""What we had suddenly looked just so — nineties" - Android developer Chris DeSalvo

Fred Vogelstein, in Dogfight: How Apple and Google Went to War and Started a Revolution quoted DeSalvo as observing, "what we had suddenly looked just so — nineties. It's just one of those things that are obvious when you see it'."

Android's founder Rubin was similarly quoted as responding, "Holy crap, I guess we're not going to ship that phone," a reference to the BlackBerry-like Android phone prototype Google was gearing up to release. Instead, the company had to return to the drawing board and develop a new device with Windows Mobile hardware developer HTC, which became the HTC Dream, also branded as T-Mobile G1.

Android iPhone

But in order to ship Android as an iPhone copy rather than a BlackBerry copy, Google had to retool its entire definition of Android. As detailed in the post iPhone version of the Android planning document, version 99.3 and dated November 2007, that meant dumping compatibility with Sun's Java and building a Java-like runtime named Dalvik that Google could freely take in its own direction, much the same way that Microsoft had modified Java on Windows back in the late 1990s in order to wrest platform control from Sun.

Android iPhone

The change log of the planning document conveys the rapid change that occured in April, when suddenly there was a "major update." Among the changes were section 3.11.2 Touchscreen, which now read, "a touch screen for finger-based navigation— including multitouch capabilities— is required. Stylus-based navigation is not supported."

Android iPhone

Rubin didn't just look to Jobs's iPhone unveiling for inspiration on the entire new application architecture and user interface of Android; it also colored everything about how the platform would work, from rich email to "real" web browsing. The "TK" web browser section was replaced with "The Platform will include a fully featured web browser based on the WebKit Open Source Project."Rubin didn't just take Apple's phone, he also took the touchscreen iPod and the breakthrough Internet device.

Android could also now flesh out its "multimedia" section, now called "Media Player," which now read "the Product will support a Media Player capable of managing, importing and playing back content encoded in various forms," including specifications essentially identical to Apple's iPod app for iPhone.

Rubin didn't just take Apple's phone, he also took the touchscreen iPod and the breakthrough Internet device.

Android iPhone clone

Google announced Android as a project that same month, but the HTC Dream/G1 wasn't launched until October 2008, a year later. When it was released, Android still lacked support for touchscreen typing by finger. And while the phone shipped with hardware support for multitouch, its software was patched to remove support for the feature. In late 2009, Google released Android 2.0, adding software support for multitouch.

Without being directly sued by Apple, Google has since cautiously incorporated a series of other iPhone patented features into Android, including support for Slide to Unlock and Data Detectors.