Monday, 27 February 2012

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 Framework (C2DM) is also a part of Android Push Messaging service.

Multiple language support
Android supports multiple human languages. The number of languages more than doubled for the platform 2.3 Gingerbread.

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 a 95/100 on the Acid3 Test.

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 Mobile, and by the operating system in Android 3.0 (Honeycomb).
Additional hardware support
Android can use video/still cameras, touchscreens, GPS, accelerometers, gyroscopes, 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 does not support screenshot capture as of 2011. This is supported by manufacturer and third-party customizations. Screen Capture is available through a PC connection using the DDMS developer's tool.

Thursday, 23 February 2012

Architecture Diagram

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.

 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.\

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.
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. further integration being expected for Linux Kernel 3.4.

Version History

The Android beta was released on 5 November 2007, while the software developer's kit (SDK) was released on 12 November 2007.

V1.0
Android 1.0, the first commercial version of the software, was released on 23 September 2008.The first Android device, the HTC Dream (G1), incorporated the following Android 1.0 features.
  • Android Market application download and updates through the Market app.
  • Web browser to show, zoom and pan full HTML and XHTML web pages – multiple pages show as windows ("cards").
  • Camera support – however this version lacked the option to change the camera's resolution, white balance, quality, etc.
  • Folders allowing the grouping of a number of app icons into a single folder icon on the Home screen.
  • Access to web email servers, supporting POP3, IMAP4, and SMTP.
  • Gmail synchronization with the Gmail app.
  • Google Contacts synchronization with the People app.
  • Google Calendar synchronization with the Calendar app.
  • Google Maps with Latitude and Street View to view maps and satellite imagery, as well as find local business and obtain driving directions using GPS.
  • Google Sync, allowing management of over-the-air synchronization of Gmail, People, and Calendar.
  • Google Search, allowing users to search the Internet and phone apps, contacts, calendar, etc.
  • Google Talk instant messaging.
  • Instant messaging, text messaging, and MMS.
  • Media Player, enabling management, importing, and playback of media files – however, this version lacked video and stereo Bluetooth support.
  • Notifications appear in the Status bar, with options to set ringtone, LED or vibration alerts.
  • Voice Dialer allows dialing and placing of phone calls without typing a name or number.
  • Wallpaper allows the user to set the background image or photo behind the Home screen icons and widgets.
  • YouTube video player.
  • Other apps include: Alarm Clock, Calculator, Dialer (Phone), Home screen (launcher), Pictures (Gallery), and Settings.
  • Wi-Fi and Bluetooth support.

V1.1
On 9 February 2009, the Android 1.1 update was released, initially for the T-Mobile G1 only. The update resolved bugs, changed the API and added a number of other features.
  • Details and reviews available when a user searches for businesses on Maps.
  • Longer in-call screen timeout default when using the speakerphone, plus ability to show/hide dial pad.
  • Ability to save attachments in messages.
  • Support added for marquee in system layouts.
V1.5 Cupcake
On 30 April 2009, the Android 1.5 update, dubbed Cupcake, was released, based on Linux kernel 2.6.27. The update included several new features and UI amendments:
  • Support for third-party virtual keyboards with text prediction and user dictionary for custom words.
  • Support for Widgets - miniature application views that can be embedded in other applications (such as the Home screen) and receive periodic updates.
  • Video recording and playback in MPEG-4 and 3GP formats.
  • Auto-pairing and stereo support for Bluetooth added (A2DP and AVRCP profiles).
  • Copy and paste features added to web browser.
  • User pictures shown for Favorites in Contacts.
  • Specific date/time stamp shown for events in call log, and one-touch access to a contact card from call log event.
  • Animated screen transitions.
  • Ability to upload videos to YouTube.
  • Ability to upload photos to Picasa.

V1.6 Donut
On 15 September 2009, the Android 1.6 SDK – dubbed Donut – was released, based on Linux kernel 2.6.29. Included in the update were numerous new features:
  • Voice and text entry search enhanced to include bookmark history, contacts, and the web.
  • Ability for developers to include their content in search results.
  • Multi-lingual speech synthesis engine to allow any Android application to "speak" a string of text.
  • Easier searching and ability to view app screenshots in Android Market.
  • Gallery, camera and camcorder more fully integrated, with faster camera access.
  • Ability for users to select multiple photos for deletion.
  • Updated technology support for CDMA/EVDO, 802.1x, VPNs, and a text-to-speech engine.
  • Support for WVGA screen resolutions.
  • Speed improvements in searching and camera applications.
  • Expanded Gesture framework and new GestureBuilder development tool.
V2.0/2.1 Eclair
V2.0
On 26 October 2009, the Android 2.0 SDK – codenamed Eclair – was released, based on Linux kernel 2.6.29. Changes included:
  • Expanded Account sync, allowing users to add multiple accounts to a device for email- and contact-synchronization
  • Exchange email support, with combined inbox to browse email from multiple accounts in one page.
  • Bluetooth 2.1 support.
  • Ability to tap a Contacts photo and select to call, SMS, or email the person.
  • Ability to search all saved SMS and MMS messages, with delete oldest messages in a conversation automatically deleted when a defined limit is reached.
  • Numerous new camera features, including flash support, digital zoom, scene mode, white balance, color effect and macro focus.
  • Improved typing speed on virtual keyboard, with smarter dictionary that learns from word usage and includes contact names as suggestions.
  • Refreshed browser UI with bookmark thumbnails, double-tap zoom and support for HTML5.
  • Calendar agenda view enhanced, showing attending status for each invitee, and ability to invite new guests to events.
  • Optimized hardware speed and revamped UI.
  • Support for more screen sizes and resolutions, with better contrast ratio.
  • Improved Google Maps 3.1.2.
  • MotionEvent class enhanced to track multi-touch events.
  • Addition of live wallpapers, allowing the animation of home-screen background images to show movement.
V2.0.1
The Android 2.0.1 SDK was released on 3 December 2009. It was a minor platform release deployable to Android-powered handsets, including minor API changes, bug fixes and framework behavioral changes.

V2.1
The 2.1 SDK was released on 12 January 2010. It was a minor platform release deployable to Android-powered handsets, including minor amendments to the API and bug fixes.

V2.2
On 20 May 2010, the Android 2.2 (Froyo) SDK was released, based on Linux kernel 2.6.32. Its features include:
  • Speed, memory, and performance optimizations.
  • Additional application speed improvements, implemented through JIT compilation.
  • Integration of Chrome's V8 JavaScript engine into the Browser application.
  • Support for the Android Cloud to Device Messaging (C2DM) service, enabling push notifications.
  • Improved Microsoft Exchange support, including security policies, auto-discovery, GAL look-up, calendar synchronization and remote wipe.
  • Improved application launcher with shortcuts to Phone and Browser applications.
  • USB tethering and Wi-Fi hotspot functionality.
  • Added an option to disable data access over mobile network.
  • Updated Market application with batch and automatic update features.
  • Quick switching between multiple keyboard languages and their dictionaries.
  • Voice dialing and contact sharing over Bluetooth.
  • Support for Bluetooth-enabled car and desk docks.
  • Support for numeric and alphanumeric passwords.
  • Support for file upload fields in the Browser application.
  • Support for installing applications to the expandable memory.
  • Adobe Flash support.
  • Support for extra-high-PPI screens (320 ppi), such as 4" 720p
  • Gallery allows users to view picture stacks using a zoom gesture
V2.2.1
The Android 2.2.1 update was released on 18 January 2011, and included a number of bug fixes, security updates, and performance improvements.

V2.2.2
The Android 2.2.2 update was released on 22 January 2011, and fixed minor bugs, including SMS routing issues that affected the Nexus One.

V2.2.3The Android 2.2.3 update was released on 21 November 2011, and consisted of two security patches.

V2.3.x Gingerbread
V2.3
On 6 December 2010, the Android 2.3 (Gingerbread) SDK was released, based on Linux kernel 2.6.35. Changes included:
  • Updated user interface design with increased simplicity and speed.
  • Support for extra-large screen sizes and resolutions (WXGA and higher).
  • Native support for SIP VoIP internet telephony.
  • Faster, more intuitive text input in virtual keyboard, with improved accuracy, better suggested text and voice input mode.
  • Enhanced copy/paste functionality, allowing users to select a word by press-hold, copy, and paste.
  • Support for Near Field Communication (NFC), allowing the user to read an NFC tag embedded in a poster, sticker, or advertisement.
  • New audio effects such as reverb, equalization, headphone virtualization, and bass boost.
  • New Download Manager, giving users easy access to any file downloaded from the browser, email, or another application.
  • Support for multiple cameras on the device, including a front-facing camera, if available.
  • Support for WebM/VP8 video playback, and AAC audio encoding.
  • Improved power management with a more active role in managing apps that are keeping the device awake for too long.
  • Enhanced support for native code development.
  • Switched from YAFFS to ext4 on newer devices.
  • Audio, graphical, and input enhancements for game developers.
  • Concurrent garbage collection for increased performance.
  • Native support for more sensors (such as gyroscopes and barometers).
V2.3.3
Released on 9 February 2011, Android 2.3.3 included several improvements and API fixes.

V2.3.4
Version 2.3.4 introduced support for voice or video chat using Google Talk.

V2.3.5
Released on 25 July 2011, Android 2.3.5 included a number of system enhancements:
  • Improved network performance for the Nexus S 4G, among other fixes and improvements.
  • Fixed Bluetooth bug on Samsung Galaxy S.
  • Improved Gmail application.
  • Shadow animations for list scrolling.
  • Camera software enhancements.
  • Improved battery efficiency.

V2.3.6
Released on 2 September 2011, this version fixed a voice search bug. The 2.3.6 update had the side-effect of impairing the Wi-Fi hotspot functionality of many Canadian Nexus S phones. Google acknowledged this problem and fixed it in late September.

V2.3.7
Android 2.3.7 introduced Google Wallet support for the Nexus S 4G.
 
V3.x Honeycomb
V3.0
On 22 February 2011, the Android 3.0 (Honeycomb) SDK – the first tablet-only Android update – was released, based on Linux kernel 2.6.36. The first device featuring this version, the Motorola Xoom tablet, was released on 24 February 2011. Changes included:
  • Optimized tablet support with a new virtual and “holographic” user interface.
  • Added System Bar, featuring quick access to notifications, status, and soft navigation buttons, available at the bottom of the screen.
  • Added Action Bar, giving access to contextual options, navigation, widgets, or other types of content at the top of the screen.
  • Simplified multitasking – tapping Recent Apps in the System Bar allows users to see snapshots of the tasks underway and quickly jump from one app to another.
  • Redesigned keyboard, making typing fast, efficient and accurate on larger screen sizes.
  • Simplified, more intuitive copy/paste interface.
  • Multiple browser tabs replacing browser windows, plus form auto-fill and a new “incognito” mode allowing anonymous browsing.
  • Quick access to camera exposure, focus, flash, zoom, front-facing camera, time-lapse, and more.
  • Ability to view albums and other collections in full-screen mode in Gallery, with easy access to thumbnails for other photos.
  • New two-pane Contacts UI and Fast Scroll to let users easily organize and locate contacts.
  • New two-pane Email UI to make viewing and organizing messages more efficient, allowing users to select one or more messages.
  • Support for video chat using Google Talk.
  • Hardware acceleration.
  • Support for multi-core processors.
  • Ability to encrypt all user data.

V3.1
The 3.1 SDK was released on 10 May 2011. Changes included:
  • UI refinements.
  • Connectivity for USB accessories.
  • Expanded Recent Apps list.
  • Resizable Home screen widgets.
  • Support for external keyboards and pointing devices.
  • Support for joysticks and gamepads.
  • Support for FLAC audio playback.
  • High-performance Wi-Fi lock, maintaining high-performance Wi-Fi connections when device screen is off.
  • Support for HTTP proxy for each connected Wi-Fi access point.

V3.2
The 3.2 SDK was released on 15 July 2011,  first appearing on Huawei's MediaPad tablet. Changes included:
  • Improved hardware support, including optimizations for a wider range of tablets.
  • Increased ability of apps to access files on the SD card, e.g. for synchronization.
  • Compatibility display mode for apps that have not been optimized for tablet screen resolutions.
  • New display support functions, giving developers more control over display appearance on different Android devices.
V3.2.1The Android 3.2.1 update was released on 20 September 2011, and included a number of amendments:
  • Bug fixes and minor security, stability and Wi-Fi improvements.
  • Update to Android Market with automatic updates and easier-to-read Terms and Condition text.
  • Update to Google Books.
  • Improved Adobe Flash support in browser.
  • Improved Chinese handwriting prediction.
V3.2.2The 3.2.2 update was released on 30 August 2011, and included bug fixes and other minor improvements for the Motorola Xoom 4G.

V4.X Ice Cream Sandwich
Android 4.0 – codenamed Ice Cream Sandwich, and based on Linux kernel 3.0.1 – was previewed at the May 2011 Google I/O event,  and officially launched at the Galaxy Nexus and Ice Cream Sandwich release event on 19 October 2011.

V4.0.1
The SDK for Android 4.0.1 was publicly released on 19 October 2011. Google's Gabe Cohen stated that Android 4.0 was "theoretically compatible" with any Android 2.3.x device in production at that time. The source code for Android 4.0 became available on 14 November 2011, three days before the Galaxy Nexus was released. New features included:
  • Enhanced speed and performance.
  • Virtual buttons in the UI, in place of capacitive or physical buttons.
  • Separation of widgets in a new tab, listed in a similar manner to apps.
  • Easier-to-create folders, with a drag-and-drop style.
  • A customizable launcher.
  • Improved visual voicemail with the ability to speed up or slow down voicemail messages.
  • Pinch-to-zoom functionality in the calendar.
  • Offline search, a two-line preview, and new action bar at the bottom of the Gmail app.
  • Ability to swipe left or right to switch between Gmail conversations.
  • Integrated screenshot capture (accomplished by holding down the Power and Volume-Down buttons).
  • Improved error correction on the keyboard.
  • Ability to access apps directly from lock screen (similar to HTC Sense 3.x).
  • Improved copy and paste functionality.
  • Better voice integration and continuous, real-time speech to text dictation.
  • Face Unlock, a feature that allows users to unlock handsets using facial recognition software.
  • New tabbed web browser, allowing up to 16 tabs.
  • Automatic syncing of browser with users' Chrome bookmarks.
  • A new typeface family for the UI, Roboto.
  • Data Usage section in settings that lets users set warnings when they approach a certain usage limit, and disable data use when the limit is exceeded.
  • Ability to shut down apps that are using data in the background.
  • Improved camera app with zero shutter lag, time lapse settings, panorama mode, and the ability to zoom while recording.
  • Built-in photo editor.
  • New gallery layout, organized by location and person.
  • Refreshed "People" app with social network integration, status updates and hi-res images.
  • Android Beam, a near-field communication feature allowing the rapid short-range exchange of web bookmarks, contact info, directions, YouTube videos and other data.
  • Hardware acceleration of the UI.
  • Resizeable widgets – already part of Android 3.1 for tablets, but new for cellphones.
  • Wi-Fi Direct.
  • 1080p video recording for stock Android devices.

V4.0.2
The Android 4.0.2 update was released on 28 November 2011, and fixed minor bugs on the Verizon Galaxy Nexus, the US launch of which was later delayed until December 2011.
 
V4.0.3The Android 4.0.3 update was first released on 16 December 2011. It included a number of bug fixes and optimizations, and offered improvements to graphics, databases, spell-checking and Bluetooth functionality, along with new APIs for developers, including a social stream API in the Contacts provider. Other features included Calendar provider enhancements, new camera apps enhancing video stabilization and QVGA resolution, and accessibility refinements such as improved content access for screen readers.

V4.0.4
The Android 4.0.4 update was leaked on 4 February 2012. The update has yet to be formally released, but appears to include various performance and stability updates, as well as enhanced radio firmware.

 

Thursday, 16 February 2012

Android

Android is a Linux-based operating system for mobile devices such as smartphones and tablet computers. It is developed by the Open Handset Alliance led by Google.

History
Android 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)
Nick Sears (once VP at T-Mobile)
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"


Acquisition By Google
Google acquired Android Inc. on August 17, 2005, making Android Inc. Key employees of Android Inc., including Andy Rubin, Rich Miner and Chris White, stayed at the company after the acquisition. Not much was known about Android Inc. at the time of the acquisition, but many assumed that Google was planning to enter the mobile phone market with this move.

At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel.