Showing posts with label Android. Show all posts
Showing posts with label Android. Show all posts

Android Market

After an application is designed, developed, tested, and signed, it is ready to be deployed into the Android Market.To use Google’s Android Market, a Google Checkout account needs to be created. It is used not only to pay for the initial developer fee of $25, but is also used for payment back to the developer for any charged apps. Public exposure to a developer’s creation is often exciting.Within hours of upload, the application can get hundreds of views, downloads, ratings, and reviews from around the world.A few considerations for publication of an app are provided here for reference.

End-User License Agreement
Any original content distributed in a tangible form is automatically copyrighted in most of the world under the Berne Convention. Still, it is common practice to add a copyright with a date of publication to the content, such as © 2010.The method for adding this symbol to an Android app is discussed in Chapter 4.

This can be taken one step further in an End User License Agreement (EULA), which is a contract between the developer (or company) and the customer (or end user) providing the developer a form of protection for publicly distributed software. Most EULAs contain sections such as “Grant of License,”“Copyright,” and “No Warranties.” It is common practice to add a EULA to an application, especially if it is offered for sale.The method for adding a EULA to an Android app is discussed in Chapter 9,“Data Storage Methods.”

Improving App Visibility
Users find applications in three different ways. Catering to these methods helps to increase visibility for an application.

The first way users see an app is by choosing to list the “Just in” apps. Choose a good descriptive name for the application and place it in an appropriate category, such as Games or Communication. Keep the description simple and to the point to get more views.The Games category is over laden with apps, so there are sub-categories. If the app is fun but has no score or goal, consider the Entertainment category. Even so, with over 10,000 applications uploaded to the Android Market each month, an uploaded application is pushed off the “Just in” list within a day or two.

The second way users see an app is by keyword search. Determine the essential keywords users might use and include those in either the title or description of the app. Some users might speak a different language, so including appropriate international keywords can help.

The third way users see an app is by choosing the “Top” apps.This is a combination of the highest rating and the most downloads.To get in this category takes time and effort with possible updates to fix bugs.This points to the last consideration for app visibility:

robustness. Ensure the app does not contain major bugs, does not waste excessive battery, and has a foolproof way to exit the application. Nothing turns off a potential customer more than seeing reviews that say,“This app uses all of my battery,” or,“I can’t uninstall this app.”

One side note to mention:Almost all interactions between the developer and users are done through the Android Market. Providing developer contact information or a supporting website is often superfluous, as people browsing the mobile market rarely use it.

Differentiating an App
Sometimes, the developer creates an application only to find a similar variant already in the Android Market.This should be treated as an opportunity rather than a discouragement. Differentiating the app simply through a better design, interface, or execution can quickly win over a user base. Basically, originality is nice, but it is not required.That being said, one must be careful to avoid using copyrighted material.

Charging for an App
Every time a new application or its update is uploaded to the Android Market, the developer must choose whether to provide it for free or charge for it. Following are the main options:
  • Provide the app for free. Everyone who can access the Android market can see and install the app.
  • Provide a free app, but include advertisements. In some cases, the developer negotiates sponsorship for an app. More often, the developer works with a third-party aggregator. Payouts are provided for clicked ads and less often for impressions (ad views). Figure 1.1 shows an example banner ad from AdMob. Such ads require the application have permission to access the Internet and the location of the device. Consider using coarse location instead of fine location to avoid deterring some potential customers from installing the app.
  • Provide the app for a charge. Google handles its charges, but takes 30 percent of the proceeds. Countries that are not set up for charges through Google Checkout cannot see or cannot install an app for charge. For these reasons, some developers turn to third-party app stores for distribution.
  • Post a free, limited version, but charge for a full version.This gives users the opportunity to try the app and if they like it, they will have less resistance to purchasing the full version. For some apps, this is a natural model (such as a game with ten free levels), but not all apps can be partitioned this way.
  • Sell virtual goods inside the app.This is an important way Facebook apps work, and it is catching on in the mobile world.
 Free applications tend to get a lot of views. Even the most obscure and odd applications seem to be downloaded and viewed by at least 1,000 people in the first month the application is on the Market.There are some developers who explicitly say,“This app is absolutely useless,” and yet, they get over 10,000 downloads and a four-star rating. Somewhat relevant free applications can get as many as 50,000 downloads, and extremely useful free applications have over 100,000 downloads. For most developers, such exposure is quite impressive.

Mobile advertisement is still in its infancy and usually does not entice enough users to click the ad. For now, monetizing apps is best done by charging on the Market.As long as the app is useful for some people, has a clear description, and has a good selection of positive reviews, users purchase it. If an app is successful, it might make sense to raise the price of the app.

Managing Reviews and Updates
Most successful apps from independent developers come through a process of releasing a version and adapting to the user feedback. Users like to see a developer who is responsive. This leads to more people downloading an app, and as the number of downloads increases, it adds validity to the app.

In general, it seems about 1 in 200 people rate an application, and a small subset of those actually leaves a review. If someone takes the time to type a review, it is usually worth listening to it, especially if the review comments are constructive, such as “Doesn’t work on the HTC Hero,” or “Nice app, just wish it did so on and so forth.” Updates that respond to user comments are seen in a positive light by new potential customers. In any case, the reason for the update should be clearly highlighted. Most users get 10 to 20 notifications a day of applications that have updates. If they do not see a good reason to upgrade, they might not.

Alternatives to the Android Market
Other independent Android app stores exist.They might not have as convenient access to Android devices as the Google market does, but they provide other benefits for developers such as better app visibility, more places to charge for apps, and taking no portion of the proceeds from an app.Also, some Android manufacturers create customized app stores accessible from their devices. For example, getting app visibility onto Motorola Android phones in the China and Latin American markets can be done through the Motorola app market at http://developer.motorola.com/shop4apps

Software Features and API Level


The Android OS periodically rolls out new features, enhancements such as improved efficiency, and bug fixes.A main driver in OS improvement is the increased capability of hardware on new devices. In fact, major releases of the OS are generally coordinated with new hardware roll-outs (such as Eclair’s release with Droid).

Some legacy Android devices cannot support the new version requirements and are not updated with new OS releases.This leads to a user base with a variety of different possible experiences.The developer is left with the task of checking for device capability or at least warning devices of required features.This can be done through a check of a
single number: the API level.

The following summarizes the different OS releases and main features from a developer’s perspective:

Cupcake: Android OS 1.5, API level 3, Released April 30, 2009
  • Linux kernel 2.6.27.
  • Smart virtual (soft) keyboard, support for third-party keyboards.
  • AppWidget framework.
  • Live Folders.
  • Raw audio recording and playback.
  • Interactive MIDI playback engine.
  • Video recording APIs.
  • Stereo Bluetooth support.
  • Removed end-user root access (unless tethered to computer and using SDK).
  • Speech recognition via RecognizerIntent (cloud service).
  • Faster GPS location gathering (using AGPS).
 Donut: Android OS 1.6, API Level 4, Released September 15, 2009
  • Linux kernel 2.6.29.
  • Support for multiple screen sizes.
  • Gesture APIs.
  • Text-to-speech engine.
  • Integrate with the Quick Search Box using the SearchManager.
  • Virtual Private Network (VPN) support.
Eclair: Android OS 2.0, API Level 5, Released October 26, 2009
Android OS 2.0.1, API Level 6, Released December 3, 2009
Android OS 2.1, API Level 7, Released January 12, 2010
  • Sync adapter APIs to connect to any backend.
  • Embed Quick Contact accessible in applications.
  • Applications can control the Bluetooth connection to devices.
  • HTML5 support.
  • Microsoft Exchange support.
  • Multitouch is accessible through the MotionEvent class.
  • Animated wallpaper support.
 FroYo: Android OS 2.2, API Level 8, Released May 20, 2010
  • Linux kernel 2.6.32.
  • Just-In-Time compilation (JIT) enabled, leading to faster code execution.
  • Voice dialing using Bluetooth.
  • Car and desk dock themes.
  • Better definition of multitouch events.
  • Cloud-to-device APIs.
  • Applications can request to be installed on the SD memory card.
  • Wi-Fi tether support on select devices.
  • Thumbnail utility for videos and images.
  • Multiple language support on keyboard input.
  • Application error reporting for Market apps.
 Android is starting to mature in that releases are less frequent.Although possible, the over-the-air updates are logistically tricky and carriers prefer to avoid them. Hardware manufacturers also appreciate a level of stability, which does not mean the first flashed devices in stores need an immediate update.However, when a release is made, the level of additional features for developers remains high and worthwhile to utilize.

Software Development Kit

The Android SDK is comprised of the platform, tools, sample code, and documentation needed to develop Android applications. It is built as an add-on to the Java Development Kit and has an integrated plugin for the Eclipse Integrated Development Environment.

Installing and Upgrading
There are many places on the Internet that discuss detailed step-by-step instructions on how to install the Android SDK. For example, all the necessary links can be found on the Google website http://developer.android.com/sdk/.Therefore, the general procedure outlined here serves to emphasize the most common installation steps for reference.These steps should be done on a host computer used as the development environment.
  1. Install the Java Development Kit (for example, install JDK 6.0 for use with Android 2.1 or above; JDK 5.0 is the minimum version needed for any earlier version of Android). 
  2. Install Eclipse Classic (for example, version 3.5.2). In the case of Windows, this just needs to be unzipped in place and is ready to use. 
  3. Install the Android SDK starter package (for example, version r06). In the case of Windows, this just needs to be unzipped in place and is ready to use. 
  4. Start Eclipse and select Help Install New Software..., and then type https://dl-ssl.google.com/android/eclipse/ and install the Android DDMS and Android Development Tools. 
  5. In Eclipse, select Window Preferences... (on a Mac, select Eclipse Preferences) and select Android. Browse to the location where the SDK was unzipped and apply. 
  6. In Eclipse, select Window Android SDK and AVD Manager Available Packages, and then choose the necessary APIs to install (for example, Documentation for Android SDK,API 8; SDK Platform Android 2.2,API 8; Google APIs by Google Inc.; and Android API 8). 
  7. From the same Android SDK and AVD Manager menu, create an Android virtual device to run the emulator or install USB drivers to run applications on a pluggedin phone. 
  8. In Eclipse, select Run Run Configurations... and create a new run configuration to be used with each Android application (or similar for a Debug Configuration). Android JUnit tests can be configured here, too.
 Now, the environment should be configured to easily develop any Android application and run on the emulator or an actual Android device.To upgrade to a new version of the SDK, it is simply a matter of selecting Help Software Updates... in Eclipse and choosing the appropriate version.

Features of Android


The detailed features of Android and how to take advantage of them provide a main theme throughout this book. On a broader level, some key features of Android are major selling points and differentiators. It is good to be aware of these strong points of Android and utilize them as much as possible.

Multiprocess and App Widgets
The Android OS does not restrict the processor to a single application at a time.The system manages priorities of applications and threads within a single application.This has the benefit that background tasks can be run while a user engages the device in a foreground process. For example, while a user plays a game, a background process can check stock prices and trigger an alert as necessary.

App Widgets are mini applications that can be embedded in other applications (such as  the Home screen).They can process events, such as start a music stream or update the outside temperature, while other applications are running.

Multiprocessing has the benefit of a rich user experience.However, care must be taken to avoid power-hungry applications that drain the battery.These multiprocess features are discussed further in Chapter 3,“Threads, Services, Receivers, and Alerts.”

Touch, Gestures, and Multitouch
The touchscreen is an intuitive user interface for a hand-held device. If utilized well, it can transcend a need for detailed instructions. After a finger touches the screen, drags and flings are natural ways to interact with graphics. Multitouch provides a way to track more than one finger down at the same time.This is often used to zoom or rotate a view.

Some touch events are available transparently to the developer without the need to implement their detailed behaviors. Custom gestures can be defined as needed. It is important to try to maintain a consistent usage of touch events as compared to other applications.These touch events are discussed further in Chapter 5,“User Interface Events.”

Hard and Soft Keyboards
One feature on a pocket device that galvanizes users is whether it should have a physical (also called hard) keyboard or software (also called soft) keyboard.The tactile feedback and definite placement of keys provided by a hard keyboard tends to make typing much faster for some, whereas others prefer the sleek design and convenience offered by a software- only input device.With the large variety of Android devices available, either type can be found.A side effect for developers is the need to support both. One downside of a soft keyboard is a portion of the screen needs to be dedicated to the input.This needs to be considered and tested for any user interface (UI) layout.

Maintaining Forward Compatibility
New Android versions are generally additive and forward compatible at the API level. In fact, a device can be called an Android device only if it passes compatibly tests with the Android APIs. However, if an application makes changes to the underlying system, compatibility is not guaranteed.To ensure forward compatibility of an application when future

Android updates are installed on devices, follow these rules suggested by Google:
  • Do not use internal or unsupported APIs.
  • Do not directly manipulate settings without asking the user.A future release might constrain settings for security reasons. For instance, it used to be possible for an app to turn on GPS or data roaming by itself, but this is no longer allowed.
  • Do not go overboard with layouts.This is rare, but complicated layouts (more than 10 deep or 30 total) can cause crashes.
  • Do not make bad hardware assumptions. Not all Android devices have all possible supported hardware. Be sure to check for the hardware needed, and if it does not exist, handle the exception.
  • Ensure device orientations do not disrupt the application or result in unpredictable behavior. Screen orientation can be locked, as described in Chapter 2.
Note that backward compatibility is not guaranteed with Android. It is best to declare the minimum SDK version as described in Chapter 2, so the device can load the proper compatibility settings. Utilizing other new features on older targets is also discussed at various places throughout the book.

Sensors


Smartphones are becoming sensor hubs in a way, opening a rich experience for users. Other than the microphone that every phone has, the first additional sensor introduced on phones was the camera. Different phone cameras have varying capabilities, and this is an important factor for people in selecting a device.The same type of diversity is now seen with the additional sensors.

Most smartphones have at least three basic sensors: a three-axis accelerometer to measure gravity, a three-axis magnetometer to measure the ambient magnetic field, and a temperature sensor to measure the ambient temperature. For example, the HTC Dream (G1) contains the following sensors (which can be displayed using getSensorList()as described further in Chapter 7,“Hardware Interface”):
  1. AK8976A 3-axis Accelerometer
  2. AK8976A 3-axis Magnetic field sensor
  3. AK8976A Orientation sensor
  4. AK8976A Temperature sensor
The AK8976A is a single package from Asahi Kasei Microsystems (AKM) that combines a piezoresistive accelerometer, Hall-effect magnetometer, and temperature sensor. All provide 8-bit precision data.The orientation sensor is a virtual sensor that uses the accelerometer and magnetometer to determine the orientation.

For comparison, the Motorola Droid contains the following sensors:
  1. LIS331DLH 3-axis Accelerometer
  2. AK8973 3-axis Magnetic field sensor
  3. AK8973 Temperature sensor
  4. SFH7743 Proximity sensor
  5. Orientation sensor type
  6. LM3530 Light sensor
The LIS331DLH is a 12-bit capacitive accelerometer from ST Microelectronics. It provides much more accurate data and can sample up to 1kHz.The AK8973 is an AKM package with an 8-bit Hall-effect magnetometer and temperature sensor.

In addition, the Droid contains two more sensors.The SFH7743 is an Opto Semiconductor’s short-range proximity detector that turns the screen off when an object (such as the ear) is within about 40mm distance.The LM3530 is an LED driver with a programmable light sensor from National Semiconductor that detects ambient light and adjusts the screen backlight and LED flash appropriately.

One other example of sensors available on an Android device is the HTC EVO 4G, which has the following sensors:
  1. BMA150 3-axis Accelerometer
  2. AK8973 3-axis Magnetic field sensor
  3. AK8973 Orientation sensor
  4. CM3602 Proximity sensor
  5. CM3602 Light sensor
The BMA150 is a Bosch Sensortec 10-bit accelerometer which can sample up to 1.5kHz.The CM3602 is a Capella Microsystems, Inc., short distance proximity sensor and ambient light sensor combined into one.

Overall, it is important to understand each Android model has different underlying hardware.These differences can lead to varying performance and accuracy of the sensors.

User Input Methods


Touchscreens enable users to interact with the visual display.There are three types of touchscreen technology:
  • Resistive—Two resistive material layers sit on top of a glass screen.When a finger, stylus, or any object applies pressure, the two layers touch together and the location of the touch can be determined. Resistive touchscreens are cost-effective, but only 75 percent of the light shows through, and until recently,multitouch was not possible.
  • Capacitive—A charged material layer is overlaid on a glass screen.When a finger or any conductive object touches the layer, some charge is drawn off, changing the capacitance, which is measured to determine the location of the touch. Capacitive touchscreens allow as much as 90 percent of the light through, although accuracy can be less than resistive.
  • Surface Acoustic Wave—This uses a more advanced method that sends and receives ultrasonic waves.When a finger or any object touches the screen, the waves are absorbed.
The waves are measured to determine the location of the touch. It is the most durable solution, but more suitable for large-scale screens such as automatic bank tellers.

All Android devices use either resistive or capacitive touchscreen technology, and with a few early exceptions, all support multitouch. In addition, each Android device needs an alternative method to access the screen.This is through one of the following methods:
  • D-pad (directional pad)—An up-down-right-left type of joystick
  • Trackball—A rolling ball acting as a pointing device that is similar to a mouse
  • Trackpad—A special rectangular surface acting as a pointing device

The Dichotomy of Android


Android has some interesting dichotomies. Knowing about them upfront is useful not only in understanding what Android is, but what it is not.

Android is an embedded OS that relies on the Linux kernel for core system services, but it is not embedded Linux. For example, standard Linux utilities such as X-windows and GNU C libraries are not supported.Writing applications for Android utilizes the Java framework, but it is not Java. Standard Java libraries such as Swing are not supported. Other libraries such as Timer are not preferred; they have been replaced by

Android’s own libraries, which are optimized for usage in a resource-constrained, embedded environment.

The Android OS is open source, which means developers can view and use any of the system source code, including the radio stack.This source code is one of the first resources for seeing examples of Android code in action, and it helps clarify the usage when documentation is lacking.This also means developers can utilize the system in the same way as any core application and can swap out system components for their own components. However,Android devices do contain some proprietary software that is inaccessible to developers (such as Global Positioning System (GPS) navigation).

A final dichotomy of Android OS is that Google is also backing Chrome OS.Android OS is built for embedded platforms, and Chrome OS is built for cloud-based platforms. However, which is the best choice for embedded devices that live in the cloud? Netbooks, which fill the gap between smart phones and laptop computers, could presumably go either way (and they have).Android has started to utilize the cloud more. Does that mean Chrome OS’s days are numbered? Google also backs a web-based market, so Chrome OS enjoys the same developer leverage that Android currently has.This points to a convergence that might have been in the cards all along.

The Evolution of Android


Google, seeing a large growth of Internet use and search in mobile devices, acquired Android, Inc., in 2005 to focus its development on a mobile device platform. Apple introduced the iPhone in 2007 with some ground-breaking ideas including multitouch and an open market for applications.Android was quickly adapted to include these features and to offer definite distinctions, such as more control for developers and multitasking. In addition,Android incorporates enterprise requirements, such as exchange support, remote wipe, and Virtual Private Network (VPN) support, to go after the enterprise market that Research In Motion has developed and held so well with its Blackberry models.

Device diversity and quick adaptation have helped Android grow its user base, but it comes with potential challenges for developers.Applications need to support multiple screen sizes, resolution ratios, keyboards, hardware sensors, OS versions, wireless data rates, and system configurations. Each can lead to different and unpredictable behavior, but testing applications across all environments is an impossible task.

Android has therefore been constructed to ensure as uniform an experience across platforms as possible. By abstracting the hardware differences,Android OS tries to insulate applications from device-specific modifications while providing the flexibility to tune aspects as needed. Future-proofing of applications to the introduction of new hardware platforms and OS updates is also a consideration.This mostly works as long as the developer is well aware of this systematic approach.The generic Application Programming Interfaces (API) that Android offers and how to ensure device and OS compatibility are main threads discussed throughout this book.

Still, as with any embedded platform, extensive testing of applications is required. Google provides assistance to third-party developers in many forms as Android Development Tool (ADT) plugins for Eclipse (also as standalone tools) including real-time logging capabilities, a realistic emulator that runs native ARM code, and in-field error reports from users to developers of Android Market applications.

Android type of processor type and the Technology

Compared with other mobile OS, Android has a lot of options for the CPU that can run it. Although most of the CPU architecture that uses the Android mobile phone is the ARM, but also some other CPU architectures to support Android, such as MIPS and Power Architecture. Here are some plural CPUs found in gadgets that use Android

1. Qualcomm SnapdragonBesides being used for mobile phones, Qualcomm Snapdragon can also be used for the Tablet PC. Most of these have adopted the CPU Snapdragon ARM architecture ARM 6 above, so it is compatible to run Flash based applications. Snapdragon uses a GPU (graphics card) is integrated named Adreno, which uses ATI's technology (formerly called Imageon). In fact, in the year 2011, the Qualcomm Snapdragon is already planning to release a dual core technology. Some phones are mengguanakan Snapdragon include Dell Streak and Sony Ericsson Xperia X10.

2. Texas Instruments OMAPOMAP (Open Multimedia Application Platform) is known in the world's first smartphone because it was used as the mastermind of a series of Nokia, including Nokia N series (N90, N91, N95). OMAP third generation, are already using ARM 7 and ARM Cortex 8, so it can also be used to run Flash. OMAP uses Power VR GPU, which is not integrated into the chip. Power VR itself is one of the best GPU for mobile phones, which are also used Samsung for its Galaxy S. Some gadgets that use the OMAP include Motorola Milestone 2 and Motorola Droid.

3. Samsung HummingbirdHummingbird is a processor jointly developed by Samsung and Intrinsity, a company in April 2010 and was acquired by Apple. This powerful 1GHz processor and are using the ARM architecture 8. Hummingbird GPU also uses Power VR, which already supports OpenGL ES 1.1/2.0 rendering technology. Power VR itself is touted as one of the best GPU for Android phones, so if you want a gadget Android with great specs and a powerful GPU, the Galaxy S is using this Hummingbird is one of the best options.

4. Nvidia TegraTegra can be regarded as a serious rival of Snapdragon because it uses a 1 GHz dual core processor. Tegra is also already using ARM 7 architecture that also can be used to run Flash. This CPU uses Nvidia GPU developed by itself, Ultra Low Voltage (ULV) GeForce, and also ready to be a contender Adreno which uses technology from Ati. Some gadgets are already using this Tegra, among others, Motorola Atrix, LG Optimus 2X, Motorola Droid Bionic, and some local tablet PC as Zyrex One Pad. Tegra has now entered the era of quad-core (four cores) through Tegra 3 series that has begun to be installed on the tablet and the latest Asus Smartphone HTC Transformer Prime Edge.

Android Jelly Bean

Android Jelly Bean is a new OS to be released by Google.inc in the near future. With the concept of naming and characteristics similar to Android products previously, the Jelly Bean here interpreted as a dessert or commonly called a Jelly desrt contain peanuts that have a sweet taste. 

On Android Jelly Bean will replace the previous features Android was released by the ICS, such as the one feature that will make the Game Charge Android OS Android Jelly Bean be specific to the user's game.
Features of the Android Jelly Bean are:
 
1. Full Chrome Browser Google Chrome browser features are visualized exactly the same as the existing browser on the PC. 

2. File Manager Features to organize the data in memory in mobile applications. This feature will be a default feature of this OS. 

3. Virtual Keyboard Development of a virtual keyboard feature before the turn of the access changes the character of the letters to the symbol by pressing the button longer. 

4. Power Efficiency 
Battery saver feature that has become the default OS as well. 

5. Faster OS This feature of course, the performance improvement of the speed of the previous OS, serperti loading rate or the severity of running applications and the like, That's a bit short review about the new features that will be brought by the latest Android OS Jelly Bean. May be useful

Android

Android is a Linux-based operating system for mobile phones such as smart phones and tablet computers. Android provides an open platform for developers to create their own applications for use by a variety of mobile devices. Initially, Google Inc. buy Android Inc., newcomers who make software for mobile phones. Then to develop Android, formed the Open Handset Alliance, a consortium of 34 companies for hardware, software, and telecommunications, including Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, and Nvidia.

At the inaugural release of Android, 5 November 2007, with the Android Open Handset Alliance said it supported the development of open standards on mobile devices. On the other hand, Google released the Android code under the Apache license, a license is open standard software and mobile devices.


In this world there are two types of distributors operating system Android. The first fully supported by Google or Google Mail Services (GMS) and the second is a completely free distribution without the direct support of Google's otherwise known as the Open Handset Distribution (OHD).


History

Cooperation with the Android Inc..On July 2000, Google Inc. in cooperation with Android., A company located in Palo Alto, California United States. The founders of Android Inc.. working at Google, including Andy Rubin, Rich Miner, Nick Sears, and Chris White. At that time many consider the functions of Android Inc.. just as the software on mobile phones. Since then rumors that Google was about to enter the mobile phone market. In the Google company, Rubin led the team in charge of developing a program of mobile devices supported by Linux kernel. This shows an indication that Google is preparing for a competition in the mobile phone market.2007-2008: initial product


Around September 2007 a study reported that Google filed a patent application of a cell phone (Google finally introduced the Nexus One, one of the GSM smart phone that uses Android operating system. This mobile phone manufactured by HTC Corporation and is available on the market on January 5, 2010) .


On December 9, 2008, announced the new members who joined in the work program Android ARM Holdings, Atheros Communications, manufactured by Asustek Computer Inc., Garmin Ltd., Softbank, Sony Ericsson, Toshiba Corp. and Vodafone Group Plc. As the formation of the Open Handset Alliance, OHA announced their first product, Android, mobile devices (mobile) which is a modified Linux kernel 2.6. Since Android release has been carried out various reforms in the form of bug fixes and new feature additions.


The first phones using the Android operating system is the HTC Dream, was released on October 22, 2008. At the end of 2009 is estimated at least in this world there are 18 types of mobile phones that use Android.