Aleksandar and Marko Gargenta @Marakana
Vision for Android
Our goal is not just a single device. Our vision is a mobile platform that runs on many many different devices.
– Eric Schmidt
Design Philosophy: Why is Android put together the way it is?
Mobile platform that runs on many different devices needs to be friendly for the entire ecosystem.
Open Handset Alliance: Let’s do this together!
What is the Open Handset Alliance?
The Open Handset Alliance is a group of 84 technology and mobile companies who have come together to accelerate innovation in mobile and offer consumers a richer, less expensive, and better mobile experience. Together, the alliance has developed Android™, the first complete, open, and free mobile platform. The alliance is committed to commercially deploy handsets and services using the Android Platform.
Manufacturers need an OS they understand
Rock-solid OS, free or charge. Large ecosystem with lots of value in it.
Manufacturers want to customize it
Open-ness is important.
Developers want to make $$
Developers need a friendly platform with good tools
Carriers are looking for alternatives
Alternatives over iEpmire. Plus, options to brand it.
Carriers need great phones users will buy
Users must love it
Ability to fully customize the experience is a big plus.
Users want apps
Half a million apps, and counting…
Not All Open Source is Created Equal
Open source implies availability of source code, not the right to reuse it or modify it.
Open Source Licenses
Android Stack - The Big Picture
Android Stack - A Closer View
Linux Kernel Space
Android is based on a modified Linux kernel.
A permission-based security model
A network stack
A device driver model
No standard file system
No standard user-space libraries (e.g. glibc)
No standard config files (e.g. /etc/password, etc.)
No standard command-line utilities (e.g. /bin/cp)
Linux and Android: Getting cozier
Native Layer Overview
Native Layer Details
Dalvik Virtual Machine
Android applications execute in a Dalvik virtual machine (VM).
The Dalvik VM was custom designed for the Android environment; it is not based on the Java VM.
The Dalvik VM executes files in the Dalvik Executable (.dex) format.
Each application process hosts its own Dalvik VM, ensuring strict sandboxing of applications.
Android supports Java as the primary application development language.
The Android SDK includes the dx tool, which compiles Java bytecode to Dalvik bytecode.
The Android Development Tool (ADT) plugin to Eclipse is pre-configured to generate Dalvik bytecode from your Java source.
Framework Layer Details
Example of a Framework
Same OS from phone to tablet, to TV to custom
AAC LC/LTP, HE-AACv1 (AAC+), HE-AACv2, AMR-NB, AMR-WB, MP3, MIDI, RTTTL/RTX, Ogg, PCM/WAVE
H.263, H.264, MPEG-4, VP8
JPEG, GIF, PNG, BMP
Apps Layer Details
An application is an island on its own.
It contains any number of Activities, Services, Receivers and Providers.
It has its own file system, database, place to store native libraries.
No other app can access any of its data without prior permission.
No app can adversely impact other apps, user, or OS
Cannot read/write user’s private data
Cannot read other app’s data
Cannot perform network access
Cannot keep device awake, and so on
Each application is its own sandbox:
To share resources, apps need to request permissions
User must grant permissions at install time
Linux manages security:
Not up to Dalvik (Java) but outsourced to Linux
Native code (NDK) also adheres to sandboxing
The file system has three main mount points. One for system, one for the apps, and one for whatever.
Each app has its own sandbox easily accessible to it. No one else can access its data. The sandbox is in /data/data/com.marakana.yamba/
SDCard is expected to always be there. It’s a good place for large files, such as movies and music. Everyone can access it.
System partition is where the entire Android operating system is, customized by OEM or not.
Enterprise Features: More and more is baked in
Enterprise Support: Mostly just the plumbing
It’s up to the third parties to provide the complete solution.
VPN, or the lack of it
Pre ICS/4.0, Android supported L2TP, L2TP/IPSec PSK, L2TP/IPSec RSA, and PPTP VPNs
ICS/4.0 adds support for pure IPSec VPNs - for better compatibility with commonly deployed VPN endpoints/routers
Also new in ICS/4.0 is the new VPN API that enables SSL VPN clients to be deployed as apps
Android Markets: Oligopolies & Bazaars
Fragmentation: The dirty word?
CTS is a policing tool, but it also protects the consumer. And happy consumer means happy ecosystem.
Bear Hugging: Working with single OEM at a time
The Nexus Brand: Setting the bar for what’s possible
Nexus devices aren’t about $$ - it’s Google’s attempt to "set the bar for what’s possible"
Android wasn’t built to "change the dynamics of the industry"
The goal is for Android to be an ecosystem that enables phone manufacturers to build complete solutions
"I wasn’t trying to go and commoditize a bunch of people and make all their products look the same."
- Andy Rubin
Googorola: The next step in vertical integration
"We’re more like Apple than Microsoft"
- Andy Rubin
Android vs. Others: Long Term Advantages
Large ecosystem usually implies less of vertical integration → points of failure
How Android’s Doing So Far
Android is now activating more than 550,000 new devices each day worldwide.
Users downloaded more than 2.4 billion apps in Q3 2011 alone.
Feb 21, 2012: Andy Rubin: 850k Android activations a day, 300m total Google-sanctioned devices, 12m tablets, 450 thousand apps in Android Market
World-wide Market share
Q2 2009, 2.8%
Q4 2010, 33%
Q3 2011, 52.5%
800+ Android devices that have launched to date
The Predictions: Android is unique, and future’s lookin' good
What’s unique about Android DNA is that it is open.
Look for where that matters.
New unique devices: Cars, planes, Space rockets, Tractors
New unique uses: DoD, Public safety, Enterprise
Specialized verticals: Book readers, Point of Sale terminals, Billboards
What will happen next, we do not know.
We know the future of innovation is on Android.
Thank you - You Guys Rock!
Aleksandar and Marko Gargenta + Marakana Team
Slides & video of this presentation is available at Marakana.com