Android Overview for Panasonic
Marko Gargenta marakana.com
© 2011 About Marko Gargenta
Founder, Marakana.com. Developer first Android Bootcamp.
Instructor for 1,000s of developers on Android at Cisco, Qualcomm, Intel, DoD, etc.
Author of Learning Android published by O’Reilly. Now in Chinese and German as well.
Speaker at OSCON (3x), ACM, IEEE, SprintDevCon, AnDevCon. Co-Founder of SFAndroid.org
Co-Chair of Android Open conference: AndroidOpen.com
© 2011 Agenda
• Android Then & Now • The Stack • Android at Work • Android Security • Opera ng System Features • Enterprise Solu ons • Case Studies • Dangers, Opportuni es, Strengths • Pla orm Comparisons
This is your class! © 2011 ANDROID THEN & NOW
© 2011 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
© 2011 History
2005 Google buys Android, Inc. Work on Dalvik starts 2007 Open Handset Alliance announced Early So ware Development Kit 2008 HTC G1 Announced SDK 1.0 Released 2009 G2 + 20 other phones released Cupcake, Donut, Éclair 2010 Zillion devices FroYo, Gingerbread, JIT 2011 Games, Tablets, TVs
Future? Beyond phones
© 2011 Today 45%
40%
35%
30% Android 25% Blackberry Apple iOS 20% Windows Palm 15% Symbian
10%
5%
0% Qtr2 2009 Qtr3 2009 Qtr4 2009 Qtr1 2010 Qtr2 2010
Android grows to 36% of US (Big 4) Smartphone Share, surpassing RIM – and growth will continue to accelerate over time
© 2011 Android @Workplace
© 2011 Pla orm Versions Version API Level Nickname Android 1.0 1 Android Android 1.1 2 Android Android 1.5 3 Cupcake Android 1.6 4 Donut Android 2.0 5 Éclair Android 2.01 6 Éclair Android 2.1 7 Éclair Android 2.2 8 FroYo Android 2.3 9 Gingerbread Android 2.3.3 10 Gingerbread Android 3.x 11, 12, 13 Honeycomb Android 4.0 14 Ice cream
© 2011 Version Distribu on
Source: Android.com
© 2011 Historical Distribu on
Source: Android.com
© 2011 Add-Ons
SenseUI TouchWiz MotoBlur
© 2011 HTC Sense
Much improved UI. Completely new apps and widgets. Overall different feel: Tasks before Apps. A smart way of innovating on top of Android Open Source project. © 2011 Motorola Motoblur
New skin, new apps new widgets. All backed with an online service. Very social-centric.
© 2011 Samsung TouchWiz
More intuitive home screen, but real crown jewel is Swype.
© 2011 “With Google”
Devices that have “with Google” add-on feature a set of Google’s proprietary applications, such as Maps, Gmail, Gtalk, and many others.
OEMs and carriers typically enter into a licensing agreement with Google in order to distribute Google version of Android.
© 2011 Android Fragmenta on?
Android Compatibility Test Suite: Defines “Android Compatible” Prevents incompatible releases Provides self testing
Fragmentations lines include: - Versions of Android - Add-ons by OEMs/Carriers - Device capabilities
Best practices in app development eliminate these issues. CTS ensures compliance.
© 2011 Hardware Requirements • Must have a screen of any size. • Must have a so keyboard. Hardware keyword is op onal. • Must support touch screen input • Should have the following sensors: Accelerometer, Magnetometer, GPS, Gyroscope. • Should include WiFi, Bluetooth. Telephony op onal.
© 2011 Hardware Requirements (cont’d) • Should include Near Field Communica on. • Must have some network capability. • Should have rear-facing camera. Front camera is op onal. • Memory must be: 125MB+ (system), 150MB+ (user data), 1GB+ (storage) • Must implement USB port.
© 2011 FroYo: Speed with JIT
• New User Features – Updated Home, Camera, Gallery, Portable hotspot – Support for Exchange (security, remote wipe, calendars, auto-discovery, global addresses) • New Pla orm Technologies – Media (h p/progressive streaming) and Bluetooth • New Developer Services and APIs – Cloud to Device Messaging – Apps on SDCard, media framework, graphics, backup, device manager, UI frameworks
© 2011 Gingerbread: Gaming New User Features • Updated user interface • Power management, app control • Download manager for long downloads • Storage manager for private content on sdcard • Improved power management and app control • Mul ple camera support • Copy-paste features • Redesigned keyboard
© 2011 Gingerbread: Gaming New Developer Features • Performance improvements for gaming • Improved sensor support • Na ve ac vity support • Near-Field Communica on (NFC) • WebM/VP8 playback and AAC encoding • SIP VoIP support • Support for extra-large screen (WXGA++) • Ext4 instead of yaffs file system
© 2011 HONEYCOMB
© 2011 Honeycomb: Tablets • Honeycomb is Tablet-op mized Android • As-is will not be supported on mobile phones • Currently two separate paths for Android • Source code likely won’t be available • Will merge in ice cream
© 2011 ANDROID @WORK – A GOOGLE PERSPECTIVE
© 2011 Security • Protect against loss or the • Protect against intercep on • Employees are the weak link • Enforcement & crypto are key
© 2011 Device Management • Onboard the users • Set up security and usage policies • Suppor ng users • Keep tabs on deployed devices
© 2011 App Deployment & Management • Determine key mobile apps • Buy or Build • Distribute apps to devices • Manage updates • Set app usage policies
© 2011 More Enterprise Support
© 2011 THE MEANING OF OPEN
© 2011 Open Source Ini a ve
• Free redistribu on • Source code • Derived works • Integrity of author’s source code • No discrimina on against person or groups • No discrimina on against field of endeavor • Distribu on of license • License not specific to product • License must not restrict other so ware • License must be technology neutral
© 2011 Andy Rubin: Defini on of Open
© 2011 Meaning of Open, Jonathan Rosenberg
• Open Technology – Open standards – Open source • Open Informa on – Valuable to users – Transparent about informa on – Control: user is in control • Open systems win
http://googleblog.blogspot.com/2009/12/meaning-of-open.html © 2011 Open Android, according to Marko
Open means:! ⸰ Open Source! ⸰ Open Standards! ⸰ Community Leadership!
© 2011 OPEN SOURCE
© 2011 Open Source Licenses
http://opensource.org/licenses/ © 2011 Openness of The Stack
Open, Apache 2
Open, Apache 2
Open, various licenses Dalvik is open, Apache 2
Mostly proprietary or (L)GPL
© 2011 What about Honeycomb?
No source for Honeycomb. But this seems to be an exception.
“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
© 2011 Android and Linux
Android's kernel is separate fork of Linux Linux community rejected Google's changes Linux changes still point of contention
© 2011 OPEN STANDARDS
© 2011 Android and Open Standards
• Use open standards where possible • Leave slots where proprietary is be er • Create new standards where needed
© 2011 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
© 2011 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”.
© 2011 COMMUNITY LEADERSHIP
© 2011 Open Handset Alliance
From 34 to 80+ members
Includes OEMs, chip vendors, operators, software companies.
Still learning to work together.
© 2011 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.
© 2011 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
© 2011 Compa bility 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.
© 2011 WHAT DOES THIS MEAN TO YOU?
© 2011 As User
I can extensively customize the device.! I can make it “all about me”.! I can even change the flavor of Android.!
© 2011 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.!
© 2011 As Manufacturer
I may not get the latest code. I get a fully featured OS Nor know what’s coming out for free and can innovate at next. I may be months a higher level. behind competitors. Ugh!
© 2011 As Carrier
Users love Android!! Who exactly is to support it?! It’s an alternative to iPhone.! Can’t lock down the device – Got many OEMs and and my enterprise customers devices to choose from. what that!
© 2011 As Enterprise
Many productivity apps.! How do we lock it down?! Users have their own phones How do I create custom ROM?! already. Personals phones inside the company??
© 2011 Overall • Open Source: ★★★ • Most of code is open sourced, but not all • OEMs s ll 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
© 2011 ANDROID STACK
© 2011 The Stack
Applications
Home Contacts Phone Browser Other
Application Framework
Activity Window Content View Manager Manager Providers System
Package Telephony Resource Location Notiication Manager Manager Manager Manager Manager
Libraries Surface Media SQLite Android Runtime Manager Framework Core Libs OpenGL FreeType WebKit
Dalvik VM SGL SSL libc
Display Camera Linux Kernel Flash Binder Driver Driver Driver Driver
Keypad WiFi Audio Power Driver Driver Driver Mgmt © 2011 Linux Kernel
Android™ Stack Android runs on Linux. Applications
Home Contacts Phone Browser Other Linux provides: Hardware abstraction layer Memory management Application Framework Activity Window Content View Process management Manager Manager Providers System Networking Package Telephony Resource Location Notiication Manager Manager Manager Manager Manager
Users never see Linux sub system Libraries Surface Media SQLite Android Runtime Manager Framework The adb shell command opens Core Libs Linux shell OpenGL FreeType WebKit Dalvik VM SGL SSL libc
Display Camera Linux Kernel Flash Binder Driver Driver Driver Driver
Keypad WiFi Audio Power Driver Driver Driver Mgmt
© 2011 Na ve Libraries
Pieces borrowed from other Applications
open source projects: Home Contacts Phone Browser Other
Bionic, a super fast and small Application Framework license-friendly libc library optimized Activity Window Content View for Android Manager Manager Providers System
Package Telephony Resource Location Notiication Manager Manager Manager Manager Manager WebKit library for fast HTML rendering Libraries Surface Media SQLite Android Runtime Manager Framework OpenGL for graphics Core Libs OpenGL FreeType WebKit
Dalvik VM Media codecs offer support for SGL SSL libc major audio/video codecs
Display Camera Linux Kernel Flash Binder Driver Driver SQLite database Driver Driver Keypad WiFi Audio Power Driver Driver Driver Mgmt Much more… © 2011 Dalvik
Dalvik VM is Android implementation of Java VM
Dalvik is optimized for mobile devices: • Battery consumption • CPU capabilities
Key Dalvik differences: • Register-based vs stack-based VM • Dalvik runs .dex files • More efficient and compact implementation • Different set of Java libraries
© 2011 Applica on Framework
Applications The rich set of system services wrapped in an intuitive Java API. Home Contacts Phone Browser Other
This ecosystem that developers Application Framework
can easily tap into is what makes Activity Window Content View writing apps for Android easy. Manager Manager Providers System Package Telephony Resource Location Notiication Manager Manager Manager Manager Manager Location, web, telephony, WiFi, Bluetooth, notifications, media, Libraries Surface Media SQLite Android Runtime camera, just to name a few. Manager Framework Core Libs OpenGL FreeType WebKit
Dalvik VM SGL SSL libc
Display Camera Linux Kernel Flash Binder Driver Driver Driver Driver
Keypad WiFi Audio Power Driver Driver Driver Mgmt
© 2011 Applica ons
Dalvik Executable + Resources = APK Must be signed (but debug key is okay for development) Many markets with different policies
© 2011 App Distribu on • One of the markets • Side loading • Internal app directory
© 2011 Markets • Google Android Market • Amazon Android Market • Other emerging markets
© 2011 Side Loading
© 2011 Internal App Directory
© 2011 ANDROID SECURITY
© 2011 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
© 2011 Applica on 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.
© 2011 Permissions
A component that does something potentially dangerous can require callers to have permission to access it.
App that wants to use it must have user grant it permission.
Permissions are granted at install time. All or nothing. Forever.
© 2011 Some System Permissions
ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION ACCESS_NETWORK_STATE ACCESS_WIFI_STATE BATTERY_STATS BLUETOOTH CALL_PHONE CALL_PRIVILEGED CAMERA DEVICE_POWER GET_ACCOUNTS GET_TASKS INSTALL_PACKAGES INTERNET KILL_BACKGROUND_PROCESSES NFC READ_CALENDAR READ_CONTACTS RECEIVE_SMS RECORD_AUDIO WRITE_EXTERNAL_STORAGE WRITE_SETTINGS
© 2011 Social Engineering
Users are the weak link. Android Market: crowd-sourcing quality App permissions: instant gratification issue
© 2011 Rooting and Jail-breaking
Boot loader is the weak link. It loads the OS. Make sure OS version is authentic.
Hardware prevention trumps software options.
© 2011 Android and Linux Heritage
Security is outsourced to Linux. Linux has been hardened over the years.
© 2011 OPERATING SYSTEM FEATURES
© 2011 Supported Media Formats
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
RTSP and HTTP progressive streaming. HTTP live streaming coming soon. More native support in the works.
Native support available via Khronos OpenMax IL
© 2011 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.
© 2011 Cloud to Device Push
Big deal for many pull-based apps. Will make devices use less battery.
© 2011 Exchange Support
Wireless synchronization with Exchange. Supports Email, Calendar, Contacts. Administrators can set login policies and remotely wipe the data.
SSL Support Remote Wipe Wipe on incorrect password a empts A achments Enabled Max A achment Size Require Manual Sync When Roaming Allow HTML Email Max Email Age Filter Max Email Body Trunca on Size Max Email HTML Body Trunca on Size Device Password Enabled Alphanumeric Device Password Required Min Device Password Length Max Inac vity Time Device Lock Max Device Password Failed A empts Allow Simple Device Password Device Password Expira on SSL/Cert issues on Device Password History some devices © 2011 VPN Support
Support for VPN built-in: PPTP, L2TP, L2TP/IPSec PSK VPN, L2TP/IPsec CRT VPN
Still not Enterprise-Grade. “VPNs are dangerous because they can monitor all traffic”. Up to OEMs to work it out. Cisco and Motorola are.
Third Party VNP solutions: Cisco AnyConnect: Available on some devices already Juniper Junos Pulse: available today SonicWall VPN: available today Checkpoint, Nortel, etc. May require “rooted” device due to need to access system.
© 2011 Device Administra on
New in FroYo: Android Device Admin API.
Administrator can set: Enable passwords Set password quality Max failed logins Prompt for new password Remotely wipe device data Lock the device
App requests Device Admin permissions. If granted, admin policies apply. If not, app doesn’t work.
Policies could be hard-coded or dynamic.
Third-party enterprise solutions use this framework to build DM policies. © 2011 Enterprise Plumbing
Great plumbing.
But much is still missing.
© 2011 ENTERPRISE SOLUTIONS
© 2011 Three Laws of Mobility
© 2011 Sybase Afaria
Provides device management, OTA app distribution, access control on the client.
© 2011 Good for Enterprise
Web-based console. OTA app delivery. Roles and policies. Remote wipe. Encryption. Single app for email/calendar/contacts.
Good creates a sandbox inside its Android app where the corporate data is reasonably secure.
© 2011 Mobile Iron - Device management - Selective wipe - Access control - Certificate management - App management - Roaming monitoring
© 2011 App: AirWatch
Complete Mobile Device Management solution that includes:
• Over-the-Air Enrollment • Over-the-Air Configuration • Device and Data Security • Asset Management • Policy Enforcement • Cloud to Device Messaging (C2DM)
© 2011 App: MyLookout
Features include:
• Antivirus & Security • Find My Phone • Backup and Restore
© 2011 App: MyAn virusPro
Features include: • virus attacks • malware, spyware, Trojans, • dangerous apps, security risks • root bugs
© 2011 App: Norton Mobile Security
Beta application protects user’s personal data and privacy.
Features include: • remote locate • lock and wipe capabilities • Norton-strength anti-malware protection • call and SMS screening from unwanted callers.
© 2011 Enterprise Apps
© 2011 Best Market Biz Apps
© 2011 Best Market Finance/Banking Apps
© 2011 Best Market Produc vity Apps
© 2011 DANGERS, OPPORTUNITIES, STRENGTHS
© 2011 Open Handset Alliance
From 34 to 65+ members
Includes OEMs, chip vendors, operators, software companies.
Still learning to work together.
© 2011 Google’s Mo va on
Google makes money in advertising and wants a level playing field for the mobile market. Licensing revenue is secondary.
Google says: “Android money comes from mobile ads”
Additional revenue from Maps, Phone, Music, Shopping, Backup, and other services. © 2011 Castles and Moats
“In business, I look for economic castles protected by unbreachable ‘moats’” - Warren Buffet © 2011 Android Open Source Project
Philosophy: Pragmatic development Shared product Customizable platform
© 2011 Support
Android Open Source project provides: SDK, tools, samples, documentation
Google provides: Events, educational material, marketing
Carriers provide: Events, resources, APIs and developer programs
OEMs provide: Support for their platform Consulting and training services
© 2011 Android Versus Chrome OS
Android is designed for variety of devices, from phones to set-top boxes. Chrome OS is web-centric and designed for PCs with keyboards.
While there’s a lot of overlap, Google is hedging bets on the future of innovation. Overlap is good, but confusing.
Android has traction today, Chrome potential tomorrow.
© 2011 The Consumeriza on of IT
© 2011 Android Legal Issues
© 2011 PLATFORM COMPARISONS
© 2011 Android Versus iOS
Closed box vs. open platform: each carries long-term fundamental advantages. And dangers.
+ Walled garden with more curetted biz apps - Little choice for customization, built for consumers
© 2011 Android Versus BlackBerry
Change of guard: Enterprise is starting to favor Android. What could Blackberry Android play look like?
+ Got it right with wrong architecture. Got market share. - Slow to adapt. Loosing market share.
© 2011 Now Most Desirable
Nielsen: Consumer Desire For Android Grows, Unlike iOS And Blackberry
© 2011 Other Pla orms
Nokia Microsoft WebOS Brew Symbian
Who still matters and how (much).
© 2011 Compe ve Canvas
User Customiza on 5
OEM/Carrier Friendliness 4 User Apps
3
2
Enterprise Integra on 1 User Experience Android iPhone 0 BlackBerry JavaME BREW Symbian
Enterprise Security Developer Openess Windows Mobile Web Os
Developer Experience Developer Tools
© 2011 Thank you!
Marko Gargenta, Marakana.com [email protected] +1-415-647-7000
© 2011