Android Fragmentation.co m The Open Android Device Knowledge Base
May 06, 2015
Android Fragmentation.com
The Open Android Device Knowledge Base
What is this all about?
• Android is a great platform. But its growing fragmentation destroys value for developers, consumers and carriers.
• This presentation introduces a community effort that enables developers to share knowledge about device specifics and address the problems before their apps hit the market– AndroidFragmentation.com– Open Source project android analyzer
Friendly Reminder
• Fragmentation isn‘t evil, it‘s the natural result of an open market place and diverse demand.
• No reason to get emotional about it (like many people do)!
• No reason to blame anyone. • No reason to deny its existance.
The Problem
Photo by Brantano Shoe City
The Problem
Theory:
The Problem
Theory: Practice:
The Problem
• The Android platform is fragmented• Different Android OS versions• Different form factors• Different UIs (and other OEM specifics)• Different device categories (mobiles, tablets,
cars…)• …
The Problem
• Android apps don’t run on all devices• Higher development cost for developers• Possible reach goes down
• Less “platform value” for end consumers• Less revenue for developers• Less selling points for carriers & OEMs
• Higher customer care expenditures
Fragmentation Examples• … our developer spent ~1hr on implementing a
progress animation in a home screen widget, and another ~4hrs porting it and making it consistent across Archos 5IT, Google Nexus One, HTC Hero and G1
• Blinkendroid project: Works fine on all phones except the Motorola Milestone. Some UDP related problem.
• DroidSpray: Problems with touch events on GL surface over camera view. Device specific re-ordering of views required …
Fragmentation Examples• Android platform API increments: basic APIs like
Bluetooth added continuously to the platform• API behavior inconsistency: bug #4961
(File.getCanonicalPath throws exception) introduced in 2.x, but the same method works in previous versions
• Screen size and resolution: apps should provide special layouts and drawables for different sizes/resolution combinations.
Fragmentation Examples• OEM specifics:
• receiving multicast messages over WiFi is disabled in the Linux kernel for most HTC devices, but is enabled on Archos 5IT
• Supported file types and formats: Droid can record raw .aac audio files, but most Android phones don’t support this file type, although they support the codec (based on specs)
• Devices come with different themes, which always eat a pixel here and there
Fragmentation Examples• Issue 4739: 2.0 SDK breaks older contact apps.
summary: 2.0 seems to require apps to set a newly defined field when adding a contact programmatically. thus, old apps that don't set it won't work properly
• …
What‘s your favorite example?
Facts andFigures
Android OS Lifeline
2008 2009 2010 2011
October ‘08:Android OSS Project,
v1.0 launch,G1 on sale
February ’09: v1.1
April ‘09: v1.5
September ‘09: v1.6
October ‘09: v2.0
December ‘09: v2.0.1
January ‘10: v2.1
May ‘10: v2.2
Q4 ‘10: v3.0
Device Launches per OEM
* Source: http://en.wikipedia.org/wiki/List_of_Android_devices
** Source: http://pdadb.net
Total: 194 Devices (as of July)
56
3420
18
15
98
76 4 4 4 3 3 3
OEMs with 1 Device LaunchOEMs with 2 Device LaunchesMotorolaHTCSamsungAcerDellHuaweiLGSony EricssonZTEFirstOneBluelans CommunicationEkenPhilips
37%
26%
24%
6%3% 2% 2%
Android 2.1
Android 1.5
Android 1.6
Android 2.2
Android 2.0
Android 2.0.1
Android 1.0/1.1
Device Distribution per OS Version
* Source: http://en.wikipedia.org/wiki/List_of_Android_devices
** Source: http://pdadb.net
17%
16%
14%11%
10%
5%
4%
4%
3%
3%3%
3% 1% 1% 1%1%1%1%1%1%
3.2"
2.8"
3.5"
3.7"
7"
3"
3.1"
5"
10.1"
2.6"
4"
4.3"
4.8"
3.8"
15.6"
2.7"
3.4"
3.6"
4.1"
8"
Device Distribution per Screen Size
* Source: http://en.wikipedia.org/wiki/List_of_Android_devices
** Source: http://pdadb.net
40%
24%
20%
6%3% 2% 1% 1%1%1%1%
WVGAHVGAQVGAWQVGAWSVGA360x4001366x768VGA360x480960x480SVGA
Device Distribution per Resolution
* Source: http://en.wikipedia.org/wiki/List_of_Android_devices
** Source: http://pdadb.net
Device Types and Markets
Mobile Phone
TVInternet Tablet
Telematics and NavigationSet-top Box
Highlights• Huge amount of devices launched: 194 models in 23
months• Active OS versions & APIs on the market: 6 (out of 8)• On average, new OS release announced every ~4
months• Over 8 screen resolutions on the market, excluding
orientation and resolution families• At least 20 different screen sizes, that affect the DPI• Variety of vertical markets with own specifics
Bottom Line
• Will fragmentation go away? No!• What can we do about it? Embrace it!• Let’s engage as a community and create a
knowledge base about this problem!
Solution?
AndroidFragmentation.com• Free hub for fragmentation knowledge• Purpose: discuss, learn, compare, share• Contents:
– Database with device- and firmware-specific information, APIs, hardware & software capabilities, etc. (coming soon)
– News Feed & Forum– Device search and comparison (coming soon)
• Database fed by a client app developed by the sister project Android Analyzer hosted on Google Code
AndroidFragmentation.com
AF.com
DeviceCapability
DB
WebServer
Analyzer
Website
Webservice
Tools
Enter AndroidFragmentation.com
Device Capability Database
Preview
Android Analyzer App• Open source client-side project on Google Code:
http://code.google.com/p/android-analyzer/• Collects data and sends to the server• Users can extend the report with their own findings• Will evolve as Android OS evolves• Will be published on the Market
!!! Everyone welcome to contribute !!!
Android Analyzer App
Android Analyzer: Plugins
Coming Soon• AndroidFragmentation.com Roadmap:
– Q3/2010: Forum, device database, reports, comparison, advanced search– Q4/2010: UI enhancements, web-based data edit and comments– Idea: Ecplise plugin for auto validation of APIs used in your project– Idea: Open APIs for access to device capability database
• Android Analyzer App Roadmap:– Q3/2010: analyzer core, pluggable architecture, data collection based on
available Android APIs, reporting to backend, user comments– Q4/2010: enhanced user interface and reporting on the device, fine-
grained data edit and comments– Q1/2011: advanced capability detection, auto-testing (e.g. media
formats), support for OEM-specific extensions
Your Feedback Needed!
• PLEASE tell us what you think!• Send us your suggestions about how to
improve the site and what services to offer!• Any feedback is very much appreciated!
Feedback can be sent through web site or to email address [email protected]