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, , , 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 • Operang System Features • Enterprise Soluons • Case Studies • Dangers, Opportunies, Strengths • Plaorm 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 buys Android, Inc. Work on starts 2007 announced Early Soware 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) Share, surpassing RIM – and growth will continue to accelerate over time

© 2011 Android @Workplace

© 2011 Plaorm 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 Distribuon

Source: Android.com

© 2011 Historical Distribuon

Source: Android.com

© 2011 Add-Ons

SenseUI TouchWiz

© 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 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, , 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 Fragmentaon?

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 oponal. • Must support touch screen input • Should have the following sensors: Accelerometer, Magnetometer, GPS, Gyroscope. • Should include WiFi, Bluetooth. Telephony oponal.

© 2011 Hardware Requirements (cont’d) • Should include Near Field Communicaon. • Must have some network capability. • Should have rear-facing camera. Front camera is oponal. • 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 Plaorm Technologies – Media (hp/progressive streaming) and Bluetooth • New Developer Services and – Cloud to Device Messaging – Apps on SDCard, media framework, graphics, backup, device manager, UI frameworks

© 2011 Gingerbread: Gaming New User Features • Updated • Power management, app control • Download manager for long downloads • Storage manager for private content on sdcard • Improved power management and app control • Mulple camera support • Copy-paste features • Redesigned keyboard

© 2011 Gingerbread: Gaming New Developer Features • Performance improvements for gaming • Improved sensor support • Nave acvity support • Near-Field Communicaon (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-opmized 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 intercepon • Employees are the weak link • Enforcement & crypto are key

© 2011 Device Management • Onboard the users • Set up security and usage policies • Supporng 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 Iniave

• Free redistribuon • Source code • Derived works • Integrity of author’s source code • No discriminaon against person or groups • No discriminaon against field of endeavor • Distribuon of license • License not specific to product • License must not restrict other soware • License must be technology neutral

© 2011 Andy Rubin: Definion of Open

© 2011 Meaning of Open, Jonathan Rosenberg

• Open Technology – Open standards – Open source • Open Informaon – Valuable to users – Transparent about informaon – 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 beer • 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, : HTC For : Samsung For Xoom: Motorola

Different terms for different OEMs?

“We’re more like Apple than Microsoft” – Andy Rubin

© 2011 Compability 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 sll keep drivers and extensions private

• Open Standards: ★★★★ • Whenever license permits, open standards are used

• Community Leadership: ★★ • Lack of public roadmap • No early 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 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 Nave 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 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 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 Applicaon 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 Applicaons

Dalvik Executable + Resources = APK Must be signed (but debug key is okay for development) Many markets with different policies

© 2011 App Distribuon • 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 Applicaon 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 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 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 aempts Aachments Enabled Max Aachment Size Require Manual Sync When Roaming Allow HTML Email Max Email Age Filter Max Email Body Truncaon Size Max Email HTML Body Truncaon Size Device Password Enabled Alphanumeric Device Password Required Min Device Password Length Max Inacvity Time Device Lock Max Device Password Failed Aempts Allow Simple Device Password Device Password Expiraon 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 Administraon

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: MyAnvirusPro

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 Producvity 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 Movaon

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 Consumerizaon 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 Plaorms

Nokia Microsoft WebOS Brew Symbian

Who still matters and how (much).

© 2011 Compeve Canvas

User Customizaon 5

OEM/Carrier Friendliness 4 User Apps

3

2

Enterprise Integraon 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