SlideShare a Scribd company logo
Big Android BBQ 2012



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”

                      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
                      Copyright © 2012CommonsWare, LLC
Project Butter & Choreographer
06-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
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
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
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
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
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
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
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
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
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
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
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

More Related Content

PPTX
Kony plaform short
PDF
MobileBench Consortium 2013
PDF
Connect 2014 AD209 - Making Your Development Team More Productive With IBM Do...
PPTX
Mobility testing day_1_ppt
PPTX
Best cross platform app development frameworks for 2021
PDF
The Power of IBM SmartCloud for Social Business and XPages App Dev
PDF
IBM Social Business Toolkit SDK - Playground and Scenarios
PPTX
Kony one studio technical training
Kony plaform short
MobileBench Consortium 2013
Connect 2014 AD209 - Making Your Development Team More Productive With IBM Do...
Mobility testing day_1_ppt
Best cross platform app development frameworks for 2021
The Power of IBM SmartCloud for Social Business and XPages App Dev
IBM Social Business Toolkit SDK - Playground and Scenarios
Kony one studio technical training

What's hot (9)

PDF
IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...
PPTX
Desarrollo con AIR para Playbook
PDF
Kony Mobile App Mgmt
PDF
Bring Your Android Apps to BlackBerry 10 in minutes
ODP
Integrating Social XPage Applications into the Domino Enterprise using IBM SB...
PDF
IBM Connect 2014 - BP207 - Don’t Reinvent the Wheel - (Re)use Open Source Sof...
ODP
AD301: What's New in the IBM Social Business Toolkit
PDF
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
ODP
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...
Desarrollo con AIR para Playbook
Kony Mobile App Mgmt
Bring Your Android Apps to BlackBerry 10 in minutes
Integrating Social XPage Applications into the Domino Enterprise using IBM SB...
IBM Connect 2014 - BP207 - Don’t Reinvent the Wheel - (Re)use Open Source Sof...
AD301: What's New in the IBM Social Business Toolkit
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
Ad

Viewers also liked (8)

PDF
When Microwatts Are Precious: Battery Tips for Wearable Apps
PDF
Getting Android Developers for Your Wearables
PPTX
Android Training (Media)
PDF
Break Timer: Android-wear introduction and application case-study
PDF
Gradle and Your Android Wearable Projects
PDF
Material Theme
PDF
Android notification
PPTX
Android Training (Notifications)
When Microwatts Are Precious: Battery Tips for Wearable Apps
Getting Android Developers for Your Wearables
Android Training (Media)
Break Timer: Android-wear introduction and application case-study
Gradle and Your Android Wearable Projects
Material Theme
Android notification
Android Training (Notifications)
Ad

Similar to What's New in Jelly Bean (20)

PDF
Securing User Data with SQLCipher
PDF
App Integration (Revised and Updated)
PDF
IBM Messaging and Collaboration Roadmap - Notes and Domino update - December ...
PDF
Twelve Tasks Made Easier with IBM Domino XPages
ODP
What's New in IBM iNotes 9.0 Social Edition & IBM Notes Browser Plugin
PDF
X Means Y
PDF
Android Development: The 20,000-Foot View
PDF
App integration: Strategies and Tactics
PDF
What’s new for Developers in IBM Domino & Domino Designer 9.0.1
PDF
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
PPT
Building Multi-Channel Data-Aware Applications
PDF
What's new in designer
PDF
Integrate Android Apps and Web Apps
PDF
Android Security: Defending Your Users
PDF
Id111 - IBM Notes Browser Plug-in at Connect 2014
PDF
Ibm notes 9 social edition (external)
PDF
Backwards Compatibility: Strategies and Tactics
PDF
JVM Multitenancy (JavaOne 2012)
PDF
Developing XPages Applications
ODP
What's new in ibm i notes 9.0
Securing User Data with SQLCipher
App Integration (Revised and Updated)
IBM Messaging and Collaboration Roadmap - Notes and Domino update - December ...
Twelve Tasks Made Easier with IBM Domino XPages
What's New in IBM iNotes 9.0 Social Edition & IBM Notes Browser Plugin
X Means Y
Android Development: The 20,000-Foot View
App integration: Strategies and Tactics
What’s new for Developers in IBM Domino & Domino Designer 9.0.1
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
Building Multi-Channel Data-Aware Applications
What's new in designer
Integrate Android Apps and Web Apps
Android Security: Defending Your Users
Id111 - IBM Notes Browser Plug-in at Connect 2014
Ibm notes 9 social edition (external)
Backwards Compatibility: Strategies and Tactics
JVM Multitenancy (JavaOne 2012)
Developing XPages Applications
What's new in ibm i notes 9.0

More from CommonsWare (19)

PDF
The Action Bar: Front to Back
PDF
Secondary Screen Support Using DisplayManager
PDF
Mastering the Master Detail Pattern
PDF
Not Quite As Painful Threading
PDF
Maps V2... And You!
PDF
A Deep Dive Into ViewPager
PDF
Second-Screen Support in Android 4.2
PDF
From Android to the Mobile Web
PDF
The Wonderful World of Wearables
PDF
Beaming Data to Devices with NFC
PDF
Making Money at Mobile: 60 Business Models
PDF
AppsWorld Keynote
PDF
Rich Text Editing and Beyond
PDF
Android Hardware That's A Little Bit... Odd
PDF
Google TV For Fun
PDF
If I Were Starting Now
PDF
Tuning Android Applications (Part Deux)
PDF
Tuning Android Applications (Part One)
PDF
Android Library Projects
The Action Bar: Front to Back
Secondary Screen Support Using DisplayManager
Mastering the Master Detail Pattern
Not Quite As Painful Threading
Maps V2... And You!
A Deep Dive Into ViewPager
Second-Screen Support in Android 4.2
From Android to the Mobile Web
The Wonderful World of Wearables
Beaming Data to Devices with NFC
Making Money at Mobile: 60 Business Models
AppsWorld Keynote
Rich Text Editing and Beyond
Android Hardware That's A Little Bit... Odd
Google TV For Fun
If I Were Starting Now
Tuning Android Applications (Part Deux)
Tuning Android Applications (Part One)
Android Library Projects

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Modernizing your data center with Dell and AMD
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
cuic standard and advanced reporting.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Empathic Computing: Creating Shared Understanding
NewMind AI Weekly Chronicles - August'25 Week I
Per capita expenditure prediction using model stacking based on satellite ima...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Spectral efficient network and resource selection model in 5G networks
Unlocking AI with Model Context Protocol (MCP)
Reach Out and Touch Someone: Haptics and Empathic Computing
MYSQL Presentation for SQL database connectivity
Diabetes mellitus diagnosis method based random forest with bat algorithm
Modernizing your data center with Dell and AMD
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
cuic standard and advanced reporting.pdf
Machine learning based COVID-19 study performance prediction
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Advanced methodologies resolving dimensionality complications for autism neur...
The Rise and Fall of 3GPP – Time for a Sabbatical?
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Empathic Computing: Creating Shared Understanding

What's New in Jelly Bean

  • 1. Big Android BBQ 2012 What's New in Jelly Bean Copyright © 2012CommonsWare, LLC
  • 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. 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. Project Butter & Choreographer 06-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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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