open android
DESCRIPTION
http://marakana.com/forums/android/general/375.htmlTRANSCRIPT
![Page 1: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/1.jpg)
Marko Gargenta marakana.com
Open Android What it means to be open and why you
would care
![Page 2: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/2.jpg)
Slides, Video, etc.
http://mrkn.co/f/375
![Page 3: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/3.jpg)
About Marko Gargenta
Developer of Android Bootcamp for Marakana.
Instructor for 1,000s of developers on Android at Qualcomm, Cisco, Motorola, DoD and other great orgs.
Author of Learning Android published by O’Reilly.
Speaker at OSCON (3x), ACM, IEEE, SDC, AnDevCon.
Co-Founder of SFAndroid.org
Co-Chair of Android Open conference: AndroidOpen.com
![Page 4: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/4.jpg)
Agenda
• Android Then & Now • Android Stack • The Meaning of Open
• Open Source • Open Standards • Community Leadership
• What Does This Mean to You? • Summary
![Page 5: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/5.jpg)
ANDROID THEN & NOW
![Page 6: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/6.jpg)
History and Possible Future
2005 Google buys Android, Inc. Work on Dalvik starts
2007 Open Handset Alliance announced Early SoRware Development Kit
2008-‐2010 Android becomes the dominant mobile plaWorm
2011 Games, Tablets, TVs
Future? Beyond phones
![Page 7: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/7.jpg)
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
![Page 8: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/8.jpg)
ANDROID STACK
![Page 9: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/9.jpg)
The Stack
Linux Kernel
Libraries
Application Framework
Applications
Home Contacts Phone Browser Other
Activity Manager
Window Manager
ContentProviders
View System
PackageManager
TelephonyManager
Resource Manager
LocationManager
NotiicationManager
Surface Manager
OpenGL
SGL
Media Framework
FreeType
SSL
SQLite
WebKit
libc
Android Runtime
Core Libs
Dalvik VM
DisplayDriver
KeypadDriver
CameraDriver
WiFiDriver
FlashDriver
AudioDriver
BinderDriver
PowerMgmt
![Page 10: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/10.jpg)
Linux Kernel
Android runs on top of Linux.
Linux provides: Hardware abstraction layer Memory management Process management Networking
Key reasons for Linux: It’s secure It’s portable It’s open source
Linux Kernel
Libraries
Application Framework
Applications
Home Contacts Phone Browser Other
Activity Manager
Window Manager
ContentProviders
View System
PackageManager
TelephonyManager
Resource Manager
LocationManager
NotiicationManager
Surface Manager
OpenGL
SGL
Media Framework
FreeType
SSL
SQLite
WebKit
libc
Android Runtime
Core Libs
Dalvik VM
DisplayDriver
KeypadDriver
CameraDriver
WiFiDriver
FlashDriver
AudioDriver
BinderDriver
PowerMgmt
Android™ Stack
![Page 11: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/11.jpg)
NaZve Libraries
Pieces borrowed from other open source projects:
Bionic, a super fast and small license-friendly libc library optimized for Android
HAL in userspace
WebKit library for fast HTML rendering
Media codecs offer support for major audio/video codecs
SQLite database
Much more…
Linux Kernel
Libraries
Application Framework
Applications
Home Contacts Phone Browser Other
Activity Manager
Window Manager
ContentProviders
View System
PackageManager
TelephonyManager
Resource Manager
LocationManager
NotiicationManager
Surface Manager
OpenGL
SGL
Media Framework
FreeType
SSL
SQLite
WebKit
libc
Android Runtime
Core Libs
Dalvik VM
DisplayDriver
KeypadDriver
CameraDriver
WiFiDriver
FlashDriver
AudioDriver
BinderDriver
PowerMgmt
![Page 12: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/12.jpg)
Dalvik
Dalvik VM is Android implementation of Java VM
Dalvik is optimized for mobile devices: • Battery consumption • CPU capabilities
Key Dalvik differences: • Register-based versus stack-based VM • Dalvik runs .dex files • More efficient and compact implementation • Different set of Java libraries than JDK
![Page 13: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/13.jpg)
ApplicaZon Framework
The rich set of system services wrapped in an intuitive Java API.
Location, web, telephony, WiFi, Bluetooth, notifications, media, camera, just to name a few.
Application Framework makes it easy to develop for Android.
![Page 14: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/14.jpg)
ApplicaZons Many apps…
… as well as markets.
![Page 15: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/15.jpg)
Android and Java
Based on Apache Harmony Java and Dalvik VM, Android’s Java is as open as it
gets. Although Oracle disagrees.
![Page 16: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/16.jpg)
THE MEANING OF OPEN
![Page 17: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/17.jpg)
Open Source IniZaZve • Free redistribuZon • Source code • Derived works • Integrity of author’s source code • No discriminaZon against person or groups • No discriminaZon against field of endeavor • DistribuZon of license • License not specific to product • License must not restrict other soRware • License must be technology neutral
![Page 18: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/18.jpg)
Andy Rubin: DefiniZon of Open
![Page 19: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/19.jpg)
Meaning of Open, Jonathan Rosenberg
• Open Technology – Open standards – Open source
• Open InformaZon – Valuable to users – Transparent about informaZon
– Control: user is in control • Open systems win
http://googleblog.blogspot.com/2009/12/meaning-of-open.html
![Page 20: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/20.jpg)
Open Android, according to Marko
Open means:!
⸰ Open Source!
⸰ Open Standards!
⸰ Community Leadership!
![Page 21: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/21.jpg)
OPEN SOURCE
![Page 22: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/22.jpg)
Open Source Licenses
http://opensource.org/licenses/
![Page 23: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/23.jpg)
Openness of The Stack
Open, Apache 2
Open, Apache 2
Open, various licenses Dalvik is open, Apache 2
Mostly proprietary or (L)GPL
![Page 24: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/24.jpg)
What about Honeycomb?
“Our approach remains unchanged: there are no lock-downs or restrictions against customizing UIs. There are not, and never have been, any efforts to standardize the platform on any single chipset architecture. … As soon as this work is completed, we’ll publish the code. This temporary delay does not represent a change in strategy. We remain firmly committed to providing Android as an open source platform across many device types.”
- Andy Rubin
No source for Honeycomb. But this seems to be an exception.
![Page 25: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/25.jpg)
Android and Linux
Android's kernel is separate fork of Linux Linux community rejected Google's changes
Linux changes still point of contention
![Page 26: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/26.jpg)
OPEN STANDARDS
![Page 27: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/27.jpg)
Android and Open Standards
• Use open standards where possible • Leave slots where proprietary is beaer • Create new standards where needed
![Page 28: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/28.jpg)
Example: Media Support
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
Image JPEG, GIF, PNG, BMP
Missing many codecs and native support.
Expansion available via Khronos OpenMax IL
![Page 29: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/29.jpg)
Example: VPN Support
Support for VPN built-in: PPTP, L2TP, L2TP/IPSec PSK VPN, L2TP/IPsec CRT VPN
But missing key enterprise VPNs, such as Cisco and Juniper.
Solution via Raccoon “expansion slot”.
![Page 30: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/30.jpg)
COMMUNITY LEADERSHIP
![Page 31: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/31.jpg)
Open Handset Alliance
From 34 to 80+ members
Includes OEMs, chip vendors, operators, software companies.
Still learning to work together.
![Page 32: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/32.jpg)
Private Roadmap
Not a public roadmap. Community input is observed, but no promises are made.
This represents a problem for OEMs planning future device releases.
![Page 33: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/33.jpg)
Bear Hugging
Favorite OEM for each release.
For G1/Dev1, Nexus One: HTC For Nexus S: Samsung For Xoom: Motorola
Different terms for different OEMs?
“We’re more like Apple than Microsoft” – Andy Rubin
![Page 34: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/34.jpg)
CompaZbility Test Suite
Android Compatibility Test Suite:
Defines “Android Compatible” Prevents incompatible releases Provides self testing
Good for users. Good for developers. For Google, a leverage over OEMs. But also a crystal ball into Android’s roadmap.
![Page 35: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/35.jpg)
Google’s MoZvaZon Google makes money in advertising and wants a level playing field for the mobile market.
“Android money comes from mobile ads” - Google
Additional revenue (or leverage) from Market, Maps, Phone, Music, Backup, and other services.
![Page 36: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/36.jpg)
Castles and Moats
“In business, I look for economic castles protected by unbreachable ‘moats’” - Warren Buffet
![Page 37: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/37.jpg)
WHAT DOES THIS MEAN TO YOU?
![Page 38: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/38.jpg)
As User
I can extensively customize the device.!I can make it “all about me”.!I can even change the flavor of Android.!
![Page 39: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/39.jpg)
As Developer
My app will run on any Android device, regardless of manufacturer.!I can see ins and outs of the platform source code and learn from studying the default apps.!My market is huge.!
![Page 40: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/40.jpg)
As Manufacturer
I get a fully featured OS for free and can innovate at a higher level.
I may not get the latest code. Nor know what’s coming out next. I may be months behind competitors. Ugh!
![Page 41: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/41.jpg)
As Carrier Users love Android!!It’s an alternative to iPhone.!Got many OEMs and devices to choose from.
Who exactly is to support it?!Can’t lock down the device – and my enterprise customers what that!
![Page 42: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/42.jpg)
As Enterprise Many productivity apps.!Users have their own phones already.
How do we lock it down?!How do I create custom ROM?!Personals phones inside the company??
![Page 43: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/43.jpg)
Overall • Open Source: ★★★
• Most of code is open sourced, but not all
• OEMs sZll keep drivers and extensions private
• Open Standards: ★★★★ • Whenever license permits, open standards are used
• Community Leadership: ★★ • Lack of public roadmap • No early access to code for all
![Page 44: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/44.jpg)
References & AaribuZons • The meaning of open by Jonathan Rosenberg, Senior VP, Product Management, Google
hap://googleblog.blogspot.com/2009/12/meaning-‐of-‐open.html
• Android May Be The Greatest Legal DestrucZon Of Wealth In History by Bill Gurley, Benchmark Capital hap://www.cadabrapress.com/?p=3904
• Warren Buffea on castles and moats hap://37signals.com/svn/posts/333-‐warren-‐buffea-‐on-‐castles-‐and-‐moats
• The Freight Train That Is Android by Bill Gurley, Benchmark Capital hap://abovethecrowd.com/2011/03/24/freight-‐train-‐that-‐is-‐android/
• Less Than Free by Bill Gurley, Benchmark Capital hap://bit.ly/pgyubk
• Is Android Open? by Scoa Gilbertson, Wired hap://www.wired.com/epicenter/2010/10/is-‐android-‐open/
• The Open Source DefiniZon hap://www.opensource.org/docs/osd
• How "Open" is Android Really? hap://www.tequilabomb.com/shotglass/2010/05/07/how-‐open-‐is-‐android-‐really/
• Open Source Licenses hap://digiZzor.com/2011/05/04/free-‐soRware-‐licenses/
• Android (operaZng system) at Wikipedia hap://en.wikipedia.org/wiki/Android_(operaZng_system)
• How Google controls Android: digging deep into the Skyhook filings hap://thisismynext.com/2011/05/12/google-‐android-‐skyhook-‐lawsuit-‐motorola-‐samsung/
![Page 45: Open Android](https://reader036.vdocument.in/reader036/viewer/2022081400/555ac7a1d8b42ab1128b515e/html5/thumbnails/45.jpg)
Summary Big parts of Android stack are open, but not everything is for a developer wanting to release new version of Android OS an an actual device.
Android is not a typical open source project due to lack of community leadership.
Marko Gargenta, Marakana.com @MarkoGargenta [email protected] +1-415-647-7000
Slides/video/etc: http://mrkn.co/f/375