You are on page 1of 22

ANDROID

History:Foundation:Android, Inc. was founded in Palo Alto, California, United States in October, 2003 by Andy Rubin (co-founder of Danger), Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at T-Mobile), and Chris White (headed design and interface development at WebTV) to develop, in Rubin's words "...smarter mobile devices that are more aware of its owner's location and preferences".Despite the obvious past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones.That same year, Rubin ran out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and refused a stake in the company. Design:Android consists of a kernel based on the Linux kernel, with middleware, libraries and APIs written in C and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-in-time compilation to run Dalvik dex-code (Dalvik Executable), which is usually translated from Java bytecode. Linux:Android's kernel is based on the Linux kernel and has further architecture changes by Google outside the typical Linux kernel development cycle. Android does not have a native X Window

System nor does it support the full set of standard GNU libraries, and this makes it difficult to port existing Linux applications or libraries to Android. Certain features that Google contributed back to the Linux kernel, notably a power management feature called wakelocks, were rejected by mainline kernel developers, partly because kernel maintainers felt that Google did not show any intent to maintain their own code. Even though Google announced in April 2010 that they would hire two employees to work with the Linux kernel community,Greg Kroah-Hartman, the current Linux kernel maintainer for the -stable branch, said in December 2010 that he was concerned that Google was no longer trying to get their code changes included in mainstream Linux. Some Google Android developers hinted that "the Android team was getting fed up with the process", because they were a small team and had more urgent work to do on Android. However, in September 2010 Linux kernel developer Rafael J. Wysocki added a patch that improved the mainline Linux wakeup events framework. He said that Android device drivers that use wakelocks can now be easily merged into mainline Linux, but that Android's opportunistic suspend features should not be included in the mainline kernel. In 2011 Linus Torvalds said that "eventually Android and Linux would come back to a common kernel, but it will probably not be for four to five years.". In December 2011 Greg Kroah-Hartman announced the start of the Android Mainlining Project, which aims to put some Android drivers, patches and features back into the Linux kernel, starting in Linux 3.3.

Features:-

Current features and specifications:Handset layouts:The platform is adaptable to larger, VGA, 2D graphics library, 3D graphics library based on OpenGL ES 2.0 specifications, and traditional smartphone layouts. Storage:SQLite, a lightweight relational database, is used for data storage purposes. Connectivity:Android supports connectivity technologies including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX. Messaging:SMS and MMS are available forms of messaging, including threaded text messaging and now Android Cloud To Device Messaging (C2DM) is also a part of Android Push Messaging service. Multiple language support:Android supports multiple languages. Web browser:The web browser available in Android is based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine. The browser scores 100/100 on the Acid3 test on Android 4.0, however it does have some rendering issues.

Java support:-

While most Android applications are written in Java, there is no Java Virtual Machine in the platform and Java byte code is not executed. Java classes are compiled into Dalvik executables and run on Dalvik, a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU. J2ME support can be provided via third-party applications.

Media support:Android supports the following audio/video/still media formats: WebM, H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, FLAC, WAV, JPEG, PNG, GIF, BMP. Streaming media support:RTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive download (HTML5 <video> tag). Adobe Flash Streaming (RTMP) and HTTP Dynamic Streaming are supported by the Flash plugin. Apple HTTP Live Streaming is supported by RealPlayer for Android, and by the operating system in Android 3.0 (Honeycomb). Additional hardware support:Android can use video/still cameras, touchscreens, GPS, accelerometers, gyroscopes, barometers, magnetometers, dedicated gaming controls, proximity and pressure sensors, thermometers, accelerated 2D bit blits (with hardware orientation, scaling, pixel format conversion) and accelerated 3D graphics.

Multi-touch:-

Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. The feature was originally disabled at the kernel level (possibly to avoid infringing Apple's patents on touch-screen technology at the time). Google has since released an update for the Nexus One and the Motorola Droid which enables multi-touch natively. Bluetooth:Supports A2DP, AVRCP, sending files (OPP), accessing the phone book (PBAP), voice dialing and sending contacts between phones. Keyboard, mouse and joystick (HID) support is available in Android 3.1+, and in earlier versions through manufacturer customizations and third-party applications. Video calling: Android does not support native video calling, but some handsets have a customized version of the operating system that supports it, either via the UMTS network (like the Samsung Galaxy S) or over IP. Video calling through Google Talk is available in Android 2.3.4 and later. Gingerbread allows Nexus S to place Internet calls with a SIP account. This allows for enhanced VoIP dialing to other SIP accounts and even phone numbers. Skype 2.1 offers video calling in Android 2.3, including front camera support. Multitasking:Multitasking of applications is available. Voice based features:Google search through voice has been available since initial release.Voice actions for calling, texting, navigation, etc. are supported on Android 2.2 onwards.

Tethering:-

Android supports tethering, which allows a phone to be used as a wireless/wired Wi-Fi hotspot. Before Android 2.2 this was supported by third-party applications or manufacturer customizations. Screen capture:Android supports capturing a screenshot by pressing the power and volume-down buttons at the same time. Before Android 4.0 screenshots were available through manufacturer and third-party customizations, or by using a PC connection (DDMS developer's tool). Uses:While Google has their own line of Android smartphones, the Google Nexus series(fig below), the open and customizable nature of the Android operating system allows it to be used on most electronics, including but not limited to: smartphones, laptops, netbooks, smartbooks, tablet computers, E-book readers, TVs (Google TV), wristwatches, headphones, Car CD and DVD players, digital cameras, Portable media players and other devices. The main hardware platform for Android is the ARM architecture. There is support for x86 from the Android x86 project, and Google TV uses a special x86 version of Android.The first commercially available phone to run Android was the HTC Dream, released on 22 October 2008. In early 2010 Google collaborated with HTC to launch its flagship Android device, the Nexus One. This was followed later in 2010 with the Samsung-made Nexus S and in 2011 with the Galaxy Nexus. iOS and Android 2.3.3 'Gingerbread' may be set up to dual boot on a jailbroken iPhone or iPod Touch with the help of OpeniBoot and iDroid.The Novo 7, manufactured by the Chinese company Ainol Electronics, was the world's first Android 4.0 Ice Cream Sandwich tablet.

Usage share:Usage share of the different versions, by January 3, 2012. Version:Distribution 4.0.x Ice Cream Sandwich 3.x.x Honeycomb 2.3.x Gingerbread 2.2 Froyo 2.1 Eclair 1.6 Donut 1.5 Cupcake API level 14-15 11-13 9-10 8 7 4 3 % 0.6% 3.3% 55.5% 30.4% 8.5% 1.1% 0.6%

There were two more internal releases, called "Astro" and "Bender". The code names are in alphabetical order, and were allegedly changed from robots to desserts to avoid trademark issues. There were two more internal releases, called "Astro" and "Bender". The code names are in alphabetical order, and were

allegedly changed from robots to desserts to avoid trademark issues.

Android Architecture:The following diagram shows the major components of the Android operating system. Each section is described in more detail below:-

Applications:Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language. Application Framework:By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services,set alarms, add notifications to the status bar, and much, much more. Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user. Underlying all applications is a set of services and systems, including: A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files A Notification Manager that enables all applications to display custom alerts in the status bar An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack,

Libraries:Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below: System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linuxbased devices Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view SGL - the underlying 2D graphics engine 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer FreeType - bitmap and vector font rendering SQLite - a powerful and lightweight relational database engine available to all applications Android Runtime:Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint.

The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management. Linux Kernel:Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

iPhone OS4 vs Android 2.2 vs Windows Phone 7 The Inevitable Comparison

Top 10 Awesome Android Features that the iPhone Doesnt Have:We love both Android and iOS, but the open nature of Android just means it can do things others just can't. Here are our favorite Android apps and features that you won't find on its Apple-clad brethren. We didn't hold anything back in this list: rooting, jailbreaking, editing system files are all fair game. If there was some way to do it on the iPhone, we left it out. So, while there are a lot of great things about Android that don't come out of the box on the iPhone like free turn-by-turn navigation or pull-down notifications there are still ways to get those features on the iPhone. So here's our list of the ten features you just can't get, no way, no how, on a jailbroken or non-jailbroken device. 1. Alternate Keyboards:From text predictors like Swiftkey to the innovative like Swype and the downright adventurous like 8pen, you have a lot of different keyboard choices on Android. Typing on a tiny phone

keyboard isn't anyone's idea of fun, so it's great that Android provides so many options to make it as painless for people as possible, and super easy to install. The iPhone has other keyboards, but they're usually separate apps that require you to import text to another programit's just the kind of systemlevel functionality that's hard to get around. 2. Automation:One of the most powerful, useful Android apps around is Tasker, the automation program that lets you turn your phone into a superphone. You can turn settings on and off for certain applications, by location, time of day, and pretty much any other condition you can think of. With the right commands in place, Tasker can access the deepest and darkest settings on your phone, which is something you just can't do on other platforms. Be sure to also check out our second list of Tasker setups, three handy Tasker profiles from our readers, and how to roll your own "Find my iPhone" for Android. Similar apps like the battery-saving JuiceDefender would also fall into this category. 3. Custom Home Launchers:While iPhone users can customize their home screen quite a bit if they've jailbroken, they don't allow the kind of customization that you can get on Android with custom home launchers. Third party launchers can add all sorts of extra features to the home screens of your device, like gestures, different kinds of shortucts, and even low-level settings that can help speed up an older phone. Whether you're using the super-fast LauncherPro or the insanely customizable ADWLauncher, third-party launchers add a ton of configuration to your device. 4. Widgets:Sure, they take up a bit of space, but there's no substitute for the convenience of having a big weather widget right on your home screen, or a music widget to show you the currently playing

track. Even more useful are the to-do list widgets, that take an "in your face" approach to productivity, which is not only effective but necessary from people, as they don't require you to actually look for your to-do listthey're always reminding you of what you need to do. If you've jailbroken, you can get widget-like apps for the iPhone, but you can only put them on your lock screennot the actual home screens that you're always swiping through. 5. Removable Storage and Battery:It isn't part of the Android software, necessarily, but Android's open nature allows for quite a few hardware advantages too namely the ability to take out, swap, and upgrade your battery and SD card. If you find that you've maxed out the storage on your iPhone, you're pretty much out of luck, whereas with an Android phone you can pop in a new SD card and have gigabytes more storage to play with. Similarly, you can swap out a spare battery for longer trips or even get an extended battery that'll help your phone go longer without charging. 6. Wireless App Installation:Browsing for and discovering new apps should be fun, not challenge to make it through a tiny app store with your sanity intact. The App Store and Cydia App Store aren't exactly fun to browse on your phone, but you either have to download apps on your phone or plug it into iTunes to sync them all over. With the new Android Market, or with third-party sites like AppBrain, you can find a cool app, hit the install button, and it'll be on your phone the next time you pick it up. It doesn't get much more convenient than that. 7. Custom ROMs:While there are a lot of third-party apps that give you advanced features on Android, one of the coolest parts about the entire OS being open source is that people can take it, tweak it all over,

and install their version instead of the one that comes with your phone. Whether it's the feature-filled CyanogenMod or the interface-overhauling MIUI ROM, there's little limit to how much you can tweak your Android experience. As with launchers, these give you a lot of system-level tweaks that you just wouldn't be able to get this easily on other platformsand it puts them easily within users' reach. Whether it's tweaks that speed up your phone or features like FM radio, custom ROMs are without a doubt one of the biggest advantages to Android's openness around. 8. Controlling Your Phone From Your Computer:This one's a little more out there, but we've featured quite a few apps that let you actually control your Android phone from your PCwhether you just want to send texts from Chrome or access any of its other functions right from a web browser. Yes, you can VNC into your iPhone, but it's not the same as using a separate app that accesses its baser functions. 9. Flash:Say what you want about Flash, but it's everywhere you go, and when you're forced to view the web without it, you realize how much you actually rely on it day-to-day. Whether its accessing fully Flash web sites, watching Flash videos, or playing games like the ones on Kongregate, having Flash installed on your phone and tablet let you access a lot of things you otherwise couldn't have. We may grimace when we hear its name, but it's too prevalent to go without. It just feels like you don't have the whole web at your fingertips. 10. True App Integration:Google Voice may finally be available for the iPhone, but the experience will never be the same as it is on Android. Other iPhone apps always direct you to the default dialer and visual voicemail apps, so even if you want to use Google Voice full time, you have to manually navigate it to yourself. On

Android, apps like Google Voice integrate directly with the operating systemif you want to make calls with Google Voice, every call you make from the phone's dialer goes through Google Voice. When you click on a phone number in your browser or in Google Maps, it goes through Google Voice instead of sending you to the wrong dialer. True app integration like this makes using custom phone, SMS, voicemail, and even browser apps absolutely seamless on Android, which is something you won't find on the more locked-down iPhone platform. Android Advantages Over Simbian:There are a lot of benefits that an Android phone. This mobile platform offers a variety of amenities for its users. That's exactly what you get with the Motorola Defy.Here you get to know more about these benefits. Here are the advantages: Mobile Operating System Efficiency:There are a lot of mobile platforms that turn out to be inefficient. You are not optimized to manage the phone's functions. This can be frustrating. There is a lot of time when the phone freezes you. There is a lot of time when applications will not work. This is not the case with the Defy. You are sure to be a smoother and richer mobile experiences with the Android 2.1 operating system.

Fast Web Browsing:Slow mobile browsing can be frustrating. There are a lot of phone models that offer inadequate browsing capabilities. You are too slow. Web pages load slowly or not load. Finally, they come with little or no Flash support. With these problems it is not worthwhile to search on these phones lack. This is not the case with the Motorola Defy. The Android platform coupled

with Flash support, you will only enjoy lightning-fast internet surfing. The pages are loaded instantly streaming will be seamless, and each site on the World Wide Web is within reach. App-compatibility:If you have visited the Android Market, you must have been with the thousands of applications available for free download overwhelmed. Unfortunately, not all of these mobile applications are compatible with all mobile phones. Even if you find the appHave you always wanted, there is no guarantee that it on your mobile. This is not the case with the Motorola Defy. Since the phone runs on an Android operating system, most if not all apps can be run on the Android Market on your phone. Compatibility will not be a problem.

As you can see, there are so many benefits that an Android phone. When it comes to efficiency, something that will never be efficient. While surfing comes to mind, it will offer you only the best browsing experience, the technology has. When it comes to compatibility, you can make the most of the applications on the Android Market. This is how you enjoy the advantage of Android with the Motorola Defy. iPhone vs. Android: a Study in Contrasts:Apple's iPhone OS and Google's Android OS have a great deal in common; both are Linux-based operating systems for smartphones that have been put together by companies best known for their accomplishments in the PC space. But there are some dramatic differences that make these mobile platforms almost as different as they can be. The iPhone's operating system is completely closed. It is being developed by Apple and for Apple. The only smartphones that will ever run it are made by this one company.

Android, on the other hand, is open. It being developed primarily by Google, but with the help of a collection of companies. Many of the members of this group, the Open Handset Alliance, will release smartphones based on Android, including HTC, Samsung, and Motorola. There are advantages and disadvantages to both systems, and the competition between the two is going to shape the smartphone market for years to come.

iPhone: Closed System Before Apple came along, the poster child for closed operating systems was BlackBerry. RIM has built a very, very successful company by developing a proprietary operating system to run only on its smartphones, and Apple is following in its footsteps. The biggest advantage of this is it lets the developers target the OS for a specific group of devices. Apple's engineers know exactly what the hardware running their OS is going to be, and can tweak the OS to make it run as efficiently on that hardware as possible. In addition, because there's just one company making BlackBerries, iPhones, etc. these operating systems and associated software are targeted to fulfill that company's goals for their products. The developers don't have to try to meet the disparate needs of a variety of companies. The disadvantage of a completely closed platform is that limited input can lead to limited devices. For example, Apple prefers built-in memory to memory card slots. If you want a

smartphone with a memory card slot, an iPhone isn't an option for you. Period. Android: Open System Google and its partners are creating a completely open operating system. It will even be open source, so anyone who would like to can take a look at the source code. The real strength of this system is it allows a huge amount of people and companies to collaborate on this OS. Any company who wants to make a smartphone based on Android can do so without paying a licensing fee, and can modify the software in any way to make it suit its specific needs. The drawback of this arrangement is it can waste huge amounts of time. The OHA members are either going to have to spend a great deal of time hammering out their differences to make an OS that meets all their needs, or each one is going to have to spend time and resources modifying the generic version to suit themselves. Even in the best circumstances, the default version of this operating system is going to have to be fairly generic, as it will have been developed by companies who plan to use it on a wide range of smartphones, with different screen sizes, input methods, processors, RAM, etc. There's the danger that by trying to be everything to everyone, Android won't be very good at anything. Of course, companies will be able to modify the generic version to suit their specific needs, but if they have to spend months tinkering with Android, there's not much time savings over

starting from scratch. And if all the versions of Android are very different from each other, the OHA loses much of the advantages of it being a cohesive platform. Between the Two Extremes I'm using the iPhone and Android to discuss two extremes. Most smartphone companies fall somewhere in between. That's where I put all the mobile operating systems that are open to licensing. These aren't open-source operating systems, but they are developed in collaboration between the licensor (Microsoft, Symbian Limited, Access) and the the licensees (Nokia, Samsung, HTC, Motorola, etc.) The licensor is responsible for the development of the OS, but the licensees have a great deal of influence on what's in it. This is a compromise which, like all such, has every disadvantage of both options. That's why many companies are moving to one extreme or the other. Palm, Inc. is following Apple's lead and is in the process of creating a proprietary Linux-based operating system for its consumer-oriented smartphones. Generally called either Palm OS II or Nova , this will debut next year. Palm is still going to be a Windows Mobile licensee at the same time, though. Nokia and the whole group of companies that use the Symbian OS are going the opposite direction by taking Google and the OHA's path. Their operating system -- and the S60 and UIQ user interfaces for it -- are going completely open. The Symbian OS will be open to development by anyone, and every company who wants to make a smartphone running it can do so without charge.There you have it, two polar opposites each trying to accomplish the same thing: make a successful smartphone

operating system. It's going to be interesting to see how these very different strategies play out in the coming years.

You might also like