Transcript
Page 1: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

What's New in Jelly Bean

Big Android BBQ 2012

Page 2: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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”

Page 3: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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

Page 4: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

Project Butter & Choreographer

● 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

06-29 23:11:17.796: I/Choreographer(691): Skipped 647 frames!The application may be doing too much work on its main thread.

Page 5: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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

Page 6: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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

Page 7: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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

Page 8: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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

Page 9: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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

Page 10: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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

Page 11: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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

Page 12: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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

Page 13: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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

Page 14: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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.

Page 15: What's New in Jelly Bean

Copyright © 2012CommonsWare, LLC

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


Top Related