Android DNA
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.
That includes:
-
Device manufacturers
-
Network carriers
-
App developers
-
End users
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
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
-
Memory management
-
Process management
-
A network stack
-
A device driver model
BUT:
-
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
Framework Layer Details
Example of a Framework
Same OS from phone to tablet, to TV to custom
Media Framework
-
Audio
-
AAC LC/LTP, HE-AACv1 (AAC+), HE-AACv2, AMR-NB, AMR-WB, MP3, MIDI, RTTTL/RTX, Ogg, PCM/WAVE
-
Video
-
H.263, H.264, MPEG-4, VP8
-
Images
-
JPEG, GIF, PNG, BMP
Media Internals
Apps Layer
Apps Layer Details
Application Sandboxing
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.
Security Overview
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
Permissions
File System
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
-
Custom devices
-
Open platform
-
Large ecosystem
-
and disadvantages
-
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.
BUT
We know the future of innovation is on Android.
Thank you - You Guys Rock!
Thank you!
Aleksandar and Marko Gargenta + Marakana Team
@AGargenta
@MarkoGargenta
Slides & video of this presentation is available at Marakana.com
(c) Marakana.com
←
→
/
#