Monday, 1 December 2014

Android Mobile Operating System (OS)

Android Versions
Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google. With a user interface based on direct manipulation, Android is designed primarily for touchscreen mobile devices such as smartphones and tablet computers, with specialized user interfaces for televisions (Android TV), cars (Android Auto), and wrist watches (Android Wear). The OS uses touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, and a virtual keyboard. Despite being primarily designed for touchscreen input, it also has been used in game consoles, digital cameras, regular PCs (e.g. the HP Slate 21) and other electronics.

Android is the most widely used mobile OS and, as of 2013, the highest selling OS overall. Android devices sell more than Windows, iOS, and Mac OS X devices combined,with sales in 2012, 2013 and 2014 close to the installed base of all PCs.As of July 2013 the Google Play store has had over 1 million Android apps published, and over 50 billion apps downloaded.A developer survey conducted in April–May 2013 found that 71% of mobile developers develop for Android.At Google I/O 2014, the company revealed that there were over 1 billion active monthly Android users, up from 538 million in June 2013.
Android's source code is released by Google under open source licenses, although most Android devices ultimately ship with a combination of open source and proprietary software.Initially developed by Android, Inc., which Google backed financially and later bought in 2005,Android was unveiled in 2007 along with the founding of the Open Handset Alliance—?a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.
Android is popular with technology companies which require a ready-made, low-cost and customizable operating system for high-tech devices. Android's open nature has encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community-driven projects, which add new features for advanced users or bring Android to devices which were officially released running other operating systems. The operating system's success has made it a target for patent litigation as part of the so-called "smartphone wars" between technology companies.

Firmware History and Development:

Android, Inc. was founded in Palo Alto, California 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".The early intentions of the company were to develop an advanced operating system for digital cameras, when it was realized that the market for the devices was not large enough, and diverted their efforts to producing a smartphone operating system to rival those of Symbian and Windows Mobile.Despite the 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.
Google acquired Android Inc. on August 17, 2005; key employees of Android Inc., including Rubin, Miner, and White, stayed at the company after the acquisition.Not much was known about Android Inc. at the time, 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. Google marketed the platform to handset makers and carriers on the promise of providing a flexible, upgradable system. Google had lined up a series of hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part.

Since April 2009, Android versions have been developed under a confectionery-themed code name and released in alphabetical order; the exceptions are versions 1.0 and 1.1 as they were not released under specific code names:

Alpha (1.0)
Beta (1.1)
Cupcake (1.5)
Donut (1.6)
Eclair (2.0–2.1)
Froyo (2.2–2.2.3)
Gingerbread (2.3–2.3.7)
Honeycomb (3.0–3.2.6)
Ice Cream Sandwich (4.0–4.0.4)
Jelly Bean (4.1–4.3.1)
KitKat (4.4–4.4.4)
Lollipop (5.0)

Pre-commercial release versions (2007–2008)

Alpha
There were at least two internal releases inside Google and the OHA before the Beta was released in November 2007. For the milestones in internal releases, names of fictional robots were chosen, with various releases code-named "Astro Boy", "Bender" and "R2-D2". Dan Morrill created some of the first mascot logos, but the current green Android logo was designed by Irina Blok.The project manager, Ryan Gibson, conceived of the confections naming scheme that has been used for the majority of the public releases, starting with Android 1.5.

Beta
The Beta was released on November 5, 2007, while the software development kit (SDK) was released on November 12, 2007. The November 5 date is popularly celebrated as Android's "birthday".Public beta versions of the SDK were released in the following order:

November 16, 2007: m3-rc22a
December 14, 2007: m3-rc37a
February 13, 2008: m5-rc14
March 3, 2008: m5-rc15
August 18, 2008: 0.9
September 23, 2008: 1.0-r1

Version history by API level

Android 1.0 (API level 1)
Android 1.1 (API level 2)
Android 1.5 Cupcake (API level 3)
Android 1.6 Donut (API level 4)
Android 2.0 Eclair (API level 5)
Android 2.0.1 Eclair (API level 6)
Android 2.1 Eclair (API level 7)
Android 2.2–2.2.3 Froyo (API level 8)
Android 2.3–2.3.2 Gingerbread (API level 9)
Android 2.3.3–2.3.7 Gingerbread (API level 10)
Android 3.0 Honeycomb (API level 11)
Android 3.1 Honeycomb (API level 12)
Android 3.2 Honeycomb (API level 13)
Android 4.0–4.0.2 Ice Cream Sandwich (API level 14)
Android 4.0.3–4.0.4 Ice Cream Sandwich (API level 15)
Android 4.1 Jelly Bean (API level 16)
Android 4.2 Jelly Bean (API level 17)
Android 4.3 Jelly Bean (API level 18)
Android 4.4 KitKat (API level 19)
Android 4.4 KitKat with wearable extensions (API level 20
Android 5.0 Lollipop (API level 21)

Android 5.0 "Lollipop" was unveiled under the codename "Android L" on June 25, 2014 during Google I/O, and became available as official over-the-air (OTA) updates on November 12, 2014 for select devices that run distributions of Android serviced by Google, including Nexus and Google Play edition devices. Its source code was made available on November 3, 2014.
Lollipop brings a redesigned user interface built around a responsive design language referred to as "material design". Other changes include improvements to the notifications, which can be accessed from the lockscreen and displayed within applications as top-of-the-screen banners. Google also made internal changes to the platform, with the Android Runtime (ART) officially replacing Dalvik for improved application performance, and with changes intended to improve and optimize battery usage, known internally as Project Volta.

Sunday, 30 November 2014

CyanogenMod: Open Source Operating System (OS)


Cyanogen Inc. Logo
CyanogenMod  is an open source operating system for smartphones and tablet computers, based on the Android mobile platform. It is developed as free and open source software based on the official releases of Android by Google, with added original and third-party code. Initially, CyanogenMod releases were provided on a nightly, milestone, and "stable version" schedule; as of CyanogenMod 11 M6, the "stable" label will no longer be used, having been supplanted by "milestone" M-builds that are part of the CyanogenMod's rolling release development model.
CyanogenMod offers features and options not found in the official firmware distributed by mobile device vendors. Features supported by CyanogenMod include native theming support,FLAC audio codec support, a large Access Point Name list, an OpenVPN client, Privacy Guard – a per-application permission management app, support for tethering over common interfaces, CPU overclocking and other performance enhancements, soft buttons and other "tablet tweaks", toggles in the notification pull-down (such as Wi-Fi, Bluetooth and GPS), as well as other interface enhancements. CyanogenMod does not contain spyware or bloatware, according to its developers.CyanogenMod is also stated to increase performance and reliability compared with official firmware releases.

Firmware History and Development

CyanogenMod 7
CyanogenMod 7 firmware is based on Android 2.3 Gingerbread with additional custom code contributed by the CyanogenMod Team. The custom portions of CyanogenMod are primarily written by Cyanogen (Steve Kondik) but include contributions from the xda-developers community (such as an improved launcher tray, dialer, and browser) and code from established open source projects (such as BusyBox in the shell).
CyanogenMod 7 development began when Google released Android 2.3's source code.On 15 February 2011, the first release candidates of CyanogenMod 7 were rolled out on several of the supported devices.The fourth release candidate was released on 30 March 2011 and brought increased support for the Nook Color and similar devices as well as many bug fixes.On 11 April 2011, the public version of CyanogenMod 7.0 was released, based on Android 2.3.3.CyanogenMod 7.1 was released on 10 October 2011, based on Android 2.3.4.The latest stable version, CyanogenMod 7.2 was released on 16 June 2012, based on Android 2.3.7,bringing a predictive phone dialer, lock-screen updates, ICS animation backports and many bug fixes.

CyanogenMod 8
CyanogenMod version 8 was planned to be based on Android 3.x Honeycomb. However, no source code for Honeycomb was provided by Google until it appeared in the tree history of the Android 4.0 Ice Cream Sandwich source release. Since Honeycomb was superseded by Ice Cream Sandwich, the release schedule advanced from CyanogenMod 7 directly to CyanogenMod 9.

CyanogenMod 9
CyanogenMod 9 is based on Google's Android 4.0 Ice Cream Sandwich.Steve Kondik and his team have announced that they had begun work on the new release after Google released the source code of Android 4.0.1.Development on this release took longer than with previous releases due to the significance of the changes between Android 2.3 "Gingerbread" and 4.0 "Ice Cream Sandwich", and the team took this opportunity to clarify their vision for the ROM and rethink any modifications which were no longer necessary due to improvements within Android.
By the last days of November 2011, some alpha versions had been distributed, in particular for the Samsung mobile phones Nexus S and Galaxy S. On 9 August 2012, after various betas and release candidates, CyanogenMod released the finished version of CyanogenMod 9.Given that the next version of Android, 4.1 "Jelly Bean", had already been released by that point, development moved swiftly on to CyanogenMod 10. On 29 August 2012, CyanogenMod released a minor update, version 9.1.0, bringing bugfixes and an app called SimplyTapp for NFC payments.
On 4 April 2012, during development, CyanogenMod unveiled "Cid", the new CyanogenMod mascot, which replaced the previous mascot, Andy the skateboarding "bugdroid".Designed by user Ciao, Cid (C.I.D.) is an abbreviation of "Cyanogenmod ID".

CyanogenMod 10
In early July 2012, the CyanogenMod team announced, via its Google+ account, that CyanogenMod 10 would be based on Android 4.1 Jelly Bean.Nightly builds of CyanogenMod 10 were made available for many devices supported by CyanogenMod 9.Starting with the September 2012 M1 build, the CyanogenMod team began monthly "M-series" releases. At the beginning of each month, a soft freeze of the CyanogenMod codebase is put into effect; once the team deems a build stable enough for daily use, it is released under the milestone or "M" series.
On November 13, 2012, final stable builds were released for several devices.

CyanogenMod 10.1
CyanogenMod 10.1 is based on Android 4.2 Jelly Bean.Nightly versions are currently being released for an array of devices, along with M Snapshots (Monthly Snapshots) which are being released for select devices.
On June 24, 2013, the CyanogenMod 10.1.0 codebase (based on Android version 4.2.2) was moved to "stable" status, with a majority of currently-supported devices receiving stable builds on the same day.CyanogenMod's developers have indicated that they will continue the Monthly Snapshot schedule to incorporate new features until the next Cyanogenmod release. Unfortunately, many devices utilizing Samsung Exynos and Nvidia Tegra 2 SoC's were not part of the initial release.

CyanogenMod 10.2
The first nightly release of CyanogenMod 10.2, which is based on Android 4.3 Jelly Bean, began rolling out for a selected number of devices on 14 August 2013.It brings in some new enhancements to the system, such as Bluetooth Low Energy and OpenGL ES 3.0 support, a renewed Phone app, 4K resolution support as well as many security and stability improvements.

CyanogenMod 11
On 6 November 2013 the CyanogenMod team started pushing the code of CyanogenMod 11, based on Android 4.4 KitKat, to GitHub.The first nightly release of CyanogenMod 11.0 began rolling out for a selected number of devices on 5 December 2013.Since then, M-builds have been released every month for supported devices, offering a more stable experience than nightlies. With build M6 it was clarified that CyanogenMod would no longer be releasing final builds specially tagged "stable", but instead would utilize the rolling release model with M-builds representing a stable channel.

CyanogenMod 12
CM12 is based on Android 5.0 "Lollipop". On 14 November 2014, the CyanogenMod team announced that they will enable CM12 nightlies by the end of November 2014, or in early December 2014.

How to test the load time of your page

How to test the load time of your page, analyze it and find bottlenecks.

Go here:
Speed Test (Pingdom Website Speed Test)

How to take a Nexus 5 Screenshot

  • Go to the screen that you wish to capture .
  • Take the screenshot by pressing and holding at the same time Power button and Volume Down button.
  • Release the buttons only when the screenshot frame appears and the photo is saved.
To view the screenshot you simply need to drag down the Notification panel and tap on it.
Open the image and then use the ‘share’ button in order to send it to other party or upload it to your Drive Cloud storage.

Note:-
The screenshot is saved in Gallery.
This button combination works with all Google Nexus 5 stock and custom ROMs.

How to Hide Your IP Address

Use this free proxy to hide your identity and location (IP address) from hackers and snoopers online, encrypt your internet traffic, conceal your internet history from colleagues and others, and access some blocked content at home and abroad.

How to Add a YouTube Subscribe Button to Your Site

There are three button designs you can choose from for your site. From left to right in the image above, you have the basic "default" button, the full layout that includes your YouTube channel's name and avatar image, and the same image but on a dark background.

Decide which design will suit your site best, then head to the YouTube Developer Tools page to grab the code required.

The Code


To generate the code you need to add a button to your site, simply head to the "Configure a button" section and fill in your channel's name. You then need to click on the two drop-down menus to decide the layout (button design) and theme (dark background or default.)

The code will automatically generate in the box to the right. If you copy and paste it to your site, you should end up with a live, embedded, click-able button like this:





Terms and Conditions
Finally, YouTube has stipulated some terms and conditions for using the shiny new buttons. You must show all of the button clearly, you can't incentivize clicking the subscribe button (i.e.,offering prizes) and you can't use the button to track user data.

Check out the YouTube Developer Tools page for the full rundown.

Mobile Operating System (OS)

A mobile operating system, also referred to as mobile OS, is an operating system that operates a smartphone, tablet, PDA, or other mobile device. Modern mobile operating systems combine the features of a personal computer operating system with other features, including a touchscreen, cellular, Bluetooth, Wi-Fi, GPS mobile navigation, camera, video camera, speech recognition, voice recorder, music player, near field communication and infrared blaster.

Mobile devices with mobile communications capabilities (e.g. smartphones) contain two mobile operating systems - the main user-facing software platform is supplemented by a second low-level proprietary real-time operating system which operates the radio and other hardware. Research has shown that these low-level systems may contain a range of security vulnerabilities permitting malicious base stations to gain high levels of control over the mobile device.

History:
  • Mobile operating system milestones mirror the development of mobile phones and smartphones:
  • 1973 1993 Mobile phones use embedded systems to control operation.
  • 1995 The first smartphone, the IBM Simon, has a touchscreen, email and PDA features.
  • 1996 Palm Pilot 1000 personal digital assistant is introduced with the Palm OS mobile operating system.
  • 1996 First Windows CE Handheld PC devices are introduced.
  • 1999 Nokia S40 OS is officially introduced along with the Nokia 7110
  • 2000 Symbian becomes the first modern mobile OS on a smartphone with the launch of the Ericsson R380.
  • 2001 The Kyocera 6035 is the first smartphone with Palm OS.
  • 2002 Microsoft's first Windows CE (Pocket PC) smartphones are introduced.
  • 2002 BlackBerry releases its first smartphone.
  • 2005 Nokia introduces Maemo OS on the first internet tablet N770.
  • 2007 Apple iPhone with iOS is introduced as an iPhone, "mobile phone" and "internet communicator."
  • 2007 Open Handset Alliance (OHA) formed by Google, HTC, Sony, Dell, Intel, Motorola, Samsung, LG, etc.
  • 2008 OHA releases Android 1.0 with the HTC Dream (T-Mobile G1) as the first Android phone.
  • 2009 Palm introduces webOS with the Palm Pre. By 2012 webOS devices were no longer sold.
  • 2009 Samsung announces the Bada OS with the introduction of the Samsung S8500.
  • 2010 Windows Phone OS phones are released but are not compatible with the previous Windows Mobile OS.
  • 2011 MeeGo the first mobile Linux, combining Maemo and Moblin, is introduced with the Nokia N9, a collaboration of Nokia, Intel and Linux Foundation.
  • 2011 In September 2011 Samsung, Intel and the Linux Foundation announced that their efforts will shift from Bada, MeeGo to Tizen during 2011 and 2012.
  • 2011 In October 2011 the Mer project was announced, centered around an ultra-portable Linux + HTML5/QML/JavaScript Core for building products with, derived from the MeeGo codebase.
  • 2012 Mozilla announced in July 2012 that the project previously known as "Boot to Gecko" was now Firefox OS and had several handset OEMs on board.
  • 2013 Canonical announced Ubuntu Touch, a version of the Linux distribution expressly designed for smartphones. The OS is built on the Android Linux kernel, using Android drivers, but does not use any of the Java-like code of Android.
  • 2013 BlackBerry released their new operating system for smartphones and tablets, BlackBerry 10.
  • 2013 Google release latest version of Android Kitkat.
  • 2014 Microsoft release Windows Phone 8.1 in February 2014.
  • 2014 Apple release iOS 8 in September 2014.
  • 2014 BlackBerry release BlackBerry 10.3 in September 2014.
  • 2014 Google release Android Lollipop in November 2014.

Android:
Android (based on the Linux Kernel) is from Google Inc.. It has the largest installed base worldwide on smartphones. Most of Android is free and open source,but a large amount of software on Android devices (such as Play Store, Google Search, Google Play Services, Google Music, and so on) are proprietary and licensed.Android's releases prior to 2.0 (1.0, 1.5, 1.6) were used exclusively on mobile phones. Android 2.x releases were mostly used for mobile phones but also some tablets. Android 3.0 was a tablet-oriented release and does not officially run on mobile phones. The current Android version is 4.4 Android's releases are nicknamed after sweets or dessert items like Cupcake (1.5), Donut (1.6), Eclair (2.0), Frozen Yogurt ("Froyo") (2.2), Ginger Bread (2.3), Honeycomb (3.0), Ice Cream Sandwich (4.0), Jelly Bean (4.1), (4.2), (4.3) Kit Kat (4.4), and Lollipop (5.0). Most major mobile service providers carry an Android device. Since HTC Dream was introduced, there has been an explosion in the number of devices that carry Android OS. From second quarter of 2009 to the second quarter of 2010, Android's worldwide market share rose 850% from 1.8% to 17.2%. On November 15, 2011, Android reached 52.5% of the global smartphone market share.On September 2014 Android's global market share rose to 85%.

iOS:
iOS is from Apple Inc.. It has second largest installed base worldwide on smartphones behind Android. It is closed source and proprietary and built on open source Darwin core OS. The Apple iPhone, iPod Touch, iPad and second-generation Apple TV all use an operating system called iOS, which is derived from Mac OS X. Native third party applications were not officially supported until the release of iOS 2.0 on July 11, 2008. Before this, "jailbreaking" allowed third party applications to be installed, and this method is still available. Currently all iOS devices are developed by Apple and manufactured by Foxconn or another of Apple's partners. As of September 2014, iOS global market share was 11%.

Windows Phone:
Windows Phone is from Microsoft. It is closed source and proprietary. It has third largest installed base on smartphones behind Android and iOS. On February 15, 2010, Microsoft unveiled its next-generation mobile OS, Windows Phone. The new mobile OS includes a completely new over-hauled UI inspired by Microsoft's "Metro Design Language". It includes full integration of Microsoft services such as OneDrive and Office, Xbox Music, Xbox Video, Xbox Live games and Bing, but also integrates with many other non-Microsoft services such as Facebook and Google accounts. Windows Phone devices are made primarily by Nokia, along with HTC, Samsung. As of September 2014, Windows Phone market share was 3%.

Blackberry:
BlackBerry 10 (based on the QNX OS) is from BlackBerry. As a smart phone OS, it is closed source and proprietary. It is used mostly by Government employees. BlackBerry 10 is the next generation platform for BlackBerry smartphones and tablets. All phones and tablets are manufactured by Blackberry itself. Once one of the dominant platforms in the world, it's global market share has been reduced to less than 1% in late 2014.

Firefox OS:
Firefox OS is from Mozilla. It is open source and uses Mozilla Public License. According to Ars Technica, "Mozilla says that B2G is motivated by a desire to demonstrate that the standards-based open Web has the potential to be a competitive alternative to the existing single-vendor application development stacks offered by the dominant mobile operating systems."

Sailfish OS:
Sailfish OS is from Jolla. It is partly open source and adopts GPL (core and middleware), however the user interface is closed source. After Nokia failed in 2011 with the MeeGo project most of the MeeGo team have left Nokia, and established Jolla as a company to use MeeGo and MER business opportunities. In 2012 Linux Sailfish OS based on MeeGo and using MER core distribution has been launched for public use. The first device, Jolla (mobile phone) was unveiled on 20 May 2013.

Tizen:
Tizen is hosted by the Linux Foundation and support from the Tizen Association, guided by a Technical Steering Group composed of Intel and Samsung. Tizen is an operating system for devices including smartphones, tablets, in-vehicle infotainment (IVI) devices, and smart TVs. It is an open source system that aims to offer a consistent user experience across devices. Tizen's main components are the Linux kernel and the WebKit runtime. According to Intel, Tizen “combines the best of LiMo and MeeGo." HTML5apps are emphasized, with MeeGo encouraging its members to transition to Tizen, stating that the "future belongs to HTML5-based applications, outside of a relatively small percentage of apps, and we are firmly convinced that our investment needs to shift toward HTML5." Tizen will be targeted at a variety of platforms such as handsets, tablets, smart TVs and in-vehicle entertainment.On May 17, 2013, Tizen released version 2.1, code-named Nectarine.

Ubuntu Touch OS:
Ubuntu Touch OS is from Canonical Ltd.. It is open source and uses the GPL license.


Discontinued software platforms:

Symbian:
the Symbian platform was developed by Nokia for certain models of smartphones. It is proprietary software. The operating system was discontinued in 2012, although a slimmed down version for basic phones was still developed until July 2014. Microsoft officially shelved the platform in favor of Windows Phone after the acquisition of Nokia.

Windows Mobile:

Windows Mobile was from Microsoft. It was closed source and proprietary. The Windows CE operating system and Windows Mobile middleware are widely spread in Asia. The two improved variants of this operating system, Windows Mobile 6 Professional (for touch screen devices) and Windows Mobile 6 Standard, were unveiled in February 2007. It was criticized for having a user interface which is not optimized for touch input by fingers; instead, it is more usable with a stylus. However, unlike iOS, it supports both touch screen and physical keyboard configurations. Windows Mobile's market share sharply declined to just 5% in Q2 of 2010.Microsoft phased out the Windows Mobile OS to focus on Windows Phone.

Palm OS:
Palm OS/Garnet OS was from Access Co. It is closed source and proprietary. webOS was introduced by Palm in January 2009 as the successor to Palm OS with Web 2.0 technologies, open architecture and multitasking capabilities.

webOS:
webOS was from LG, although some parts are open source. webOS is a proprietary mobile operating system running on the Linux kernel, initially developed by Palm, which launched with the Palm Pre. After being acquired by HP, two phones (the Veer and the Pre 3) and a tablet (the TouchPad) running webOS were introduced in 2011. On August 18, 2011, HP announced that webOS hardware was to be discontinued but would continue to support and update webOS software and develop the webOS ecosystem. HP released webOS as open source under the name Open webOS, and plans to update it with additional features. On February 25, 2013 HP announced the sale of WebOS to LG Electronics, who planned to use the operating system for its "smart" or Internet-connected TVs. However HP retained patents underlying WebOS as well as cloud-based services such as the App Catalog.

Maemo:

Maemo was a platform developed by Nokia for smartphones and Internet tablets. It is open source and GPL, based on Debian GNU/Linux and draws much of its GUI, frameworks and libraries from the GNOME project. It uses the Matchbox window manager and the GTK-based Hildon as its GUI and application framework.

MeeGo:
MeeGo was from non-profit organization The Linux Foundation. It is open source and GPL. At the 2010 Mobile World Congress in Barcelona, Nokia and Intel both unveiled 'MeeGo', a mobile operating system that combined Moblin and Maemo to create an open-sourced experience for users across all devices. In 2011 Nokia announced that it would no longer pursue MeeGo in favor of Windows Phone. Nokia announced the Nokia N9 on June 21, 2011 at the Nokia Connection event in Singapore. LG announced its support for the platform.

LiMo:
LiMo was from the LiMo Foundation. LiMo Foundation launched LiMo 4 on February 14, 2011. LiMo 4 delivers middleware and application functionality, including a flexible user interface, extended widget libraries, 3D window effects, advanced multimedia, social networking and location-based service frameworks, sensor frameworks, multi-tasking and multi-touch capabilities. In addition, support for scalable screen resolution and consistent APIs means that the platform can deliver a consistent user experience across multiple device types and form factors.