Open Android

1,943 views

Published on

http://marakana.com/forums/android/general/375.html

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,943
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
71
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Open Android

  1. 1. Open  Android   What  it  means  to  be   open  and  why  you     would  care  Marko  Gargenta  marakana.com  
  2. 2. Slides,  Video,  etc.    http://mrkn.co/f/375
  3. 3. About  Marko  Gargenta  Developer of Android Bootcamp for Marakana.Instructor for 1,000s of developers on Android atQualcomm, 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.orgCo-Chair of Android Open conference: AndroidOpen.com
  4. 4. Agenda  •  Android  Then  &  Now  •  Android  Stack  •  The  Meaning  of  Open  •  Open  Source  •  Open  Standards  •  Community  Leadership  •  What  Does  This  Mean  to  You?  •  Summary  
  5. 5. ANDROID  THEN  &  NOW  
  6. 6. 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  
  7. 7. 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
  8. 8. ANDROID  STACK  
  9. 9. The  Stack   Applications Home Contacts Phone Browser Other Application FrameworkActivity Window Content ViewManager Manager Providers SystemPackage Telephony Resource Location NotiicationManager Manager Manager Manager Manager LibrariesSurface Media SQLite Android RuntimeManager Framework Core LibsOpenGL 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
  10. 10. Linux  Kernel   Android™ StackAndroid runs on top of Linux. Applications Home Contacts Phone Browser OtherLinux provides: Hardware abstraction layer Memory management Application Framework Process management Activity Manager Window Manager Content Providers View System Networking Package Telephony Resource Location Notiication Manager Manager Manager Manager ManagerKey reasons for Linux: Libraries It’s secure Surface Media Android Runtime SQLite It’s portable Manager Framework Core Libs It’s open source 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
  11. 11. NaZve  Libraries  Pieces borrowed from other Applicationsopen source projects: Home Contacts Phone Browser OtherBionic, a super fast and small Application Frameworklicense-friendly libc library optimized Activity Window Content View Manager Manager Providers Systemfor Android Package Telephony Resource Location Notiication Manager Manager Manager Manager ManagerHAL in userspace Libraries Surface Media SQLite Android Runtime Manager FrameworkWebKit library for fast HTML Core Libsrendering OpenGL FreeType WebKit Dalvik VM SGL SSL libcMedia codecs offer support formajor audio/video codecs Display Camera Linux Kernel Flash Binder Driver Driver Driver Driver Keypad WiFi Audio PowerSQLite database Driver Driver Driver MgmtMuch more…
  12. 12. Dalvik  Dalvik VM is Android implementation ofJava VMDalvik is optimized for mobile devices: •  Battery consumption •  CPU capabilitiesKey Dalvik differences: •  Register-based versus stack-based VM •  Dalvik runs .dex files •  More efficient and compact implementation •  Different set of Java libraries than JDK
  13. 13. ApplicaZon  Framework  The rich set of system serviceswrapped in an intuitive Java API.Location, web, telephony, WiFi,Bluetooth, notifications, media,camera, just to name a few.Application Framework makes iteasy to develop for Android.
  14. 14. ApplicaZons  Many apps…… as well asmarkets.
  15. 15. Android  and  Java   Based on Apache Harmony Java andDalvik VM, Android’s Java is as open as it gets. Although Oracle disagrees.
  16. 16. THE  MEANING  OF  OPEN  
  17. 17. 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  
  18. 18. Andy  Rubin:  DefiniZon  of  Open  
  19. 19. 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
  20. 20. Open  Android,  according  to  Marko   Open means:! ⸰  Open Source! ⸰  Open Standards! ⸰  Community Leadership!
  21. 21. OPEN  SOURCE  
  22. 22. Open  Source  Licenses   http://opensource.org/licenses/
  23. 23. Openness  of  The  Stack   Open, Apache 2 Open, Apache 2 Open, various licenses Dalvik is open, Apache 2 Mostly proprietary or (L)GPL
  24. 24. What  about  Honeycomb?   No source for Honeycomb. But this seems to be an exception.“Our approach remains unchanged: there are no lock-downs orrestrictions against customizing UIs. There are not, and neverhave been, any efforts to standardize the platform on any singlechipset architecture.…As soon as this work is completed, we’ll publish the code. Thistemporary delay does not represent a change in strategy. Weremain firmly committed to providing Android as an open sourceplatform across many device types.”- Andy Rubin
  25. 25. Android  and  Linux   Androids kernel is separate fork of LinuxLinux community rejected Googles changes Linux changes still point of contention
  26. 26. OPEN  STANDARDS  
  27. 27. Android  and  Open  Standards  •  Use  open  standards  where  possible  •  Leave  slots  where  proprietary  is  beaer  •  Create  new  standards  where  needed  
  28. 28. 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
  29. 29. Example:  VPN  Support  Support for VPN built-in: PPTP,L2TP, L2TP/IPSec PSK VPN,L2TP/IPsec CRT VPNBut missing key enterpriseVPNs, such as Cisco andJuniper.Solution via Raccoon“expansion slot”.
  30. 30. COMMUNITY  LEADERSHIP  
  31. 31. Open  Handset  Alliance  From 34 to 80+ membersIncludes OEMs, chip vendors,operators, software companies.Still learning to work together.
  32. 32. Private  Roadmap  Not a public roadmap.Community input is observed,but no promises are made.This represents a problem forOEMs planning future devicereleases.
  33. 33. Bear  Hugging  Favorite OEM for each release.For G1/Dev1, Nexus One: HTCFor Nexus S: SamsungFor Xoom: MotorolaDifferent terms for different OEMs?“We’re more like Apple thanMicrosoft” – Andy Rubin
  34. 34. CompaZbility  Test  Suite  Android Compatibility Test Suite:Defines “Android Compatible”Prevents incompatible releasesProvides self testingGood for users. Good for developers.For Google, a leverage over OEMs.But also a crystal ball into Android’s roadmap.
  35. 35. Google’s  MoZvaZon  Google makes money in advertising and wants a level playingfield for the mobile market. “Android money comes from mobile ads” - GoogleAdditional revenue (or leverage) from Market, Maps, Phone,Music, Backup, and other services.
  36. 36. Castles  and  Moats  “In business, I look for economic castles protected by unbreachable ‘moats’” - Warren Buffet
  37. 37. WHAT  DOES  THIS  MEAN  TO  YOU?  
  38. 38. As  User  I can extensively customize the device.!I can make it “all about me”.!I can even change the flavor of Android.!
  39. 39. As  Developer  My app will run on any Android device,regardless of manufacturer.!I can see ins and outs of the platform sourcecode and learn from studying the default apps.!My market is huge.!
  40. 40. As  Manufacturer   I may not get theI get a fully featured latest code. Nor knowOS for free and can what’s coming outinnovate at a higher next. I may belevel. months behind competitors. Ugh!
  41. 41. As  Carrier  Users love Android!! Who exactly is toIt’s an alternative to support it?!iPhone.! Can’t lock down theGot many OEMs device – and myand devices to choose enterprise customersfrom. what that!
  42. 42. As  Enterprise  Many productivity How do we lock itapps.! down?!Users have their own How do I create customphones already. ROM?! Personals phones inside the company??
  43. 43. 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  
  44. 44. 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/  
  45. 45. 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.Slides/video/etc: Marko Gargenta, Marakana.comhttp://mrkn.co/f/375 @MarkoGargenta marko@marakana.com +1-415-647-7000

×