What's New in Jelly Bean


Published on

from the Big Android BBQ 2012

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

What's New in Jelly Bean

  1. 1. Big Android BBQ 2012Whats New in Jelly Bean Copyright © 2012CommonsWare, LLC
  2. 2. Project Butter● UI Updates @ 60 frames/second● Objective: smoother UI updates – Especially animations● Transparent to developers – No code changes to “opt into” Butter effects● Google I/O 2012: “For Butter or Worse” Copyright © 2012CommonsWare, LLC
  3. 3. Project Butter Ramifications● Only ~16ms Per Frame – Your code on the main application thread – Framework code – Other interruptions (e.g., background process)● Net: Get Off the Main Application Thread! – Anything taking more than a few milliseconds needs to move to background thread or be executed incrementally Copyright © 2012CommonsWare, LLC
  4. 4. Project Butter & Choreographer06-29 23:11:17.796: I/Choreographer(691): Skipped 647 frames!The application may be doing too much work on its main thread.● Information Message in LogCat – “Skipped N frames” * 16ms = amount of time you took on main application thread – The more frames skipped, the more likely it is the user will notice ● UI frozen and not responsive ● Animation/scrolling hiccups Copyright © 2012CommonsWare, LLC
  5. 5. Expandable Notifications● Alternative Visual Representation – Taller, room for more text or image – Optional action buttons● When Appears – When at top of drawer – User expansion via two-finger swipe gesture Copyright © 2012CommonsWare, LLC
  6. 6. Expandable Notifications● Styles – BigTextStyle: larger amount of prose – BigListStyle: subject lines, news headlines, etc. – BigPictureStyle: shared photos, etc.● Actions – Up to three – Immediate operations with fewer clicks Copyright © 2012CommonsWare, LLC
  7. 7. Expandable Notifications● Creating Them – Use Notification.Builder or NotificationCompat.Builder – Create regular Notification – Wrap in a “big” style Notification ● Wrapper “inherits” values from wrapped one (e.g., timestamp) ● Android uses one or the other based upon circumstances Copyright © 2012CommonsWare, LLC
  8. 8. READ_LOGS Regression● Before – No API for reading LogCat contents – SDK apps could hold READ_LOGS and use undocumented means instead● Now – No API for reading LogCat contents – Only firmware apps can hold READ_LOGS – Default: can only read own messages Copyright © 2012CommonsWare, LLC
  9. 9. READ_LOGS Regression● Effects – Cannot report system error messages via ACRA and kin – Limits native IDEs (AIDE, etc.), as they cannot show messages from apps they create● Reasons – Privacy: too much crap getting logged – Security: reduce blocking attacks Copyright © 2012CommonsWare, LLC
  10. 10. READ_EXTERNAL_STORAGE● New Permission – Required if you are reading from external storage and do not already hold WRITE_EXTERNAL_STORAGE● Not Enforced By Default – Jelly Bean: enabled in Developer Options – K+: possibly enabled by default Copyright © 2012CommonsWare, LLC
  11. 11. READ_EXTERNAL_STORAGE● Reason: Privacy – Addressing the “any app has access to our photos” complaint● Warning: No Grandfathering – No indication that apps with low targetSdkVersion will be granted this permission by default – Users can toggle this on now Copyright © 2012CommonsWare, LLC
  12. 12. Other Notable Changes● Full Bi-Directional Text Support (no, really, honest, we got it this time!) – Also custom keymaps, to surface other characters more easily● Fully-Resizable App Widgets – And your code gets to find out, too! – Also get GridLayout and ViewStub support● Improved Accessibility Copyright © 2012CommonsWare, LLC
  13. 13. Other Notable Changes● Android Beam – Bulk content transfer, kicked off by NFC, completed by Bluetooth● Google Cloud Messaging – Permanent replacement for Labs C2DM – Various improvements, still free Copyright © 2012CommonsWare, LLC
  14. 14. Other Notable Changes● More Changes for Task Navigation● More Options for Lights Out/Full Screen● Service Discovery (WiFi, WiFi Direct)● Audio Improvements (e.g., codec enumeration)● Better WebView● Etc. Copyright © 2012CommonsWare, LLC
  15. 15. Jelly Bean/API Level 16 Uptake● Presently: 1.8% (as of October 1, 2012)● Short-Term Growth – Upgrades from manufacturers – Gingerbread contract expirations – Holiday season sales● Predictions – 10% by February 1, 2013 – 25% by June 1, 2013 Copyright © 2012CommonsWare, LLC