Android 3.0 Honeycomb Full Preview Guide [DEVELOPER FEATURES]

January 30, 2011
1

Hello there and welcome to your full guide and preview of Google's new Android operating system version 3.0, also called Honyecomb, also known as Android's first tablet-centric OS. The first of two main points we'll be going through here are is New User Features. The second of two points is covered in a second post - New Developer Features. In this half of the introduction to the tablet OS we're going to assume you know a bit about developing for Android already. Hope you don't mind. Let's take a look at what you'll be dealing with in this fabulous new system.

NEW DEVELOPER FEATURES

Let's have a look at what's under the hood here, let's take a peek at what you as a developer will be working with. You who is responsible for making the apps, taking cracks at hacks, and adding to an already amazing system with your customizations. We'll be covering a new UI framework, 2D and 3D graphics, multicore processor architectures, rich multimedia and connectivity, enhancements for enterprise, and compatibility (for already existing apps.)

New User Interface Framework
As you may already know, Android 3.0 Honeycomb is built to work with larger devices, especially what they're calling tablets. The new UI framework you'll be working here is made to create tablet apps.

Activity Fragments
Beginning here in Android 3.0 Honeycomb, you'll be able to break Activities of your apps down into subcomponents called Fragments. These Fragments, once they're broken down, can be combined to create a greater and more rich interactive experience. For example, you'll be able to create a pane system similar to the home screens used as desktops in the main UI of Android. With these panes you'll be able to create an situation where users can interact with each pane independently -- multi-player games, anyone?

Fragments can be added and removed, replaced and animated inside an Activity dynamically, each of them being both reusable and modular. Because Fragments are modular, they can be made to run efficiently in both large and small screen environments (this leading us to believe that this sort of functionality will be available on Android 2.4, or a similar upgrade.)

Redesigned UI Widgets
As the screens this version of Android will be used on will be bigger, so too must the widgets be redesigned to work as well as they could be. Android 3.0 offers you an upgraded set of UI widgets that you can use to add brand new spectacular bits of contents to your applications. Each of these new UI widgets are made to be used in Honeycomb's new "holographic" UI theme. Amongst these are:
• 3D Stack (for tiny galleries, cycling through panels)
• Search Box (for searching with, silly)
• Date/Time Picker (for scheduling, countdowns)
• Number Picker (for similar such things)
• Calendar
• Popup Menu (extreme potential here)
• and More, we assume

Persistent Action Bar
At the top of the screen as often as you'd like it to be there (it can be hidden and disregarded if you've got no use for it,) is the Action Bar. This bar can give users quick access to widgets, status, contextual options, navigation, or whatever you'd like it to give them access to. Your application can make the Action Bar whatever you'd like it to be. Users will become familiar with the existence of the Action Bar on their home page, thusly they'll look for it in every app they bring up.

Richer Notifications
If you thought your notifications were rich before - you were wrong. So wrong! In Honeycomb, you'll be able to make notifications the center of the user's experience, showing them updates in real time (as always,) but as this is expanded upon in Honeycomb, so too should you utilize it in an expanded way. A new builder class will allow you to create notifications with
• large and small icons,
• a title,
• a priority flag,
• and all the properties already available in previous Android versions. These notifications build upon the expanded set of UI Widgets that will now be available as remote Views.

Multiselect / Clipboard / Drag-and-Drop
Multiselect mode can now be used to manage collections of items in lists or grids, the ability to select multiple items for an action now a reality. You may now also utilize a system-wide Clipboard to clip, copy, and paste information in and out of applications. Through the new DragEvent framework, you can now allow users to have an easier time managing and organizing files with drag-and-drop.

High Performance 2D and 3D Graphics
Animation Framework
This new feature is a platform that includes flexible animation framework that makes it easy for you to animate the properties of UI elements like
• Views,
• Widgets,
• Fragments,
• Drawables,
• or any arbitrary object. These animations can fade between states, add movement, loop an animated image or an already moving animation, change item colors, and more.

Hardware-Accelerated 2D Graphics
In Honeycomb you'll be working with a brand new hardware-accelerated OpenGL renderer that give your graphics operators and applications running in Android a performance boost - the acceleration you need to blast your apps off into outer space! Operations in
• Canvas,
• Paint,
• Xfermode,
• ColorFilter,
• Shader,
• and Camera are accelerated. You'll now be able to control how this hardware acceleration is applied at every single level. You'll be able to select where to enable it - in specific Activities, Views, or simply globally.

Renderscript 3D Graphics Engine
There's a brand new runtime 3D framework in town, and it's called Renderscript. This framework lends both the API for building 3D scenes and a platform-independent shader language for max performance. With Renderscript you'll be able to accelerate both data processing and graphics operations, this being the absolute best new way to create high-performance 3D graphics on this engine for all sorts of wild stuff Google hasn't even imagined.

Support for Multicore Processor Architectures
You didn't think they'd leave you with a system that'd only provide support for the ancient single-core devices we've been using so far, did you? No way, man, check it out: Android 3.0 is the very first version of the Android OS to provide real support for running on either single or multi-core processor architectures. To add symmetric multiprocessing in these two-or-more core environments, several changes in the Dalvik VM, Bionic library have been made, as well as changes elsewhere we don't even really know about yet. Optimizations made in this area will benefit all apps, even those that remain single-threaded.

Rich Multimedia and Connectivity
HTTP Live Streaming
Apps can take a M3U playlist URL and toss it unto the media framework for HTTP live streaming. This new media framework supports most live streaming on HTTP including adaptive bit rate.

Pluggable DRM Framework
Honeycomb gives you an extensible DRM framework that allows apps to manage protected content according to the mechanisms of DRMs that may be available on the device. For you developers, this framework API will be giving you a consistant, unified API that make it simple to manage protected content no matter the DRM engines that lie below.

Digital Media File Transfer
This new platform give you built-in support for MTP/PTP (Media Transfer Protocol/Picture Transfer Protocol) over USB, giving the users that sweet sounding ability to transfer any kind of media file between their device and a host computer. Imagine the possibilities.

Additional Connectivity Types
API support is now added for Bluetooth A2DP and HSP profiles allowing apps query Bluetooth profiles for audio state, connected devices, and etc, notifying then the user of what's going on. Apps may also now register to receive system broadcasts of pre-defined vendor-specific AT commands. Along these same lines, apps may now take advantage of the ability of the user to work with full keyboards connected with USB or Bluetooth, as Honeycomb supports just that.

Enhancements for Enterprise
Device administration application developers may now support new types of policies such as those for
• encrypted storage,
• password expiration,
• password history,
• and password complex characters required.

Compatibility with Existing Apps
Android 3.0 Honeycomb will be fully compatible with apps developed for smaller screens and earlier versions of the Android OS. No code changes will be required for apps to work with Honeycomb's new "holographic UI" by simply adding a single attribute to their manifest files. This attribute should take what would normally be activated by the menu key and replace it with the overflow menu in the new Action Bar. Of course, you may also take full advantage of the larger screens that'll be working with Honeycomb most often by creating dedicated layouts and assets that work specifically with Android 3.0

Wrap-Up
Again, this is only the beginning. We'll be at the full-blown Honeycomb special event in California this Wednesday and we'll be blasting every little pixel we're able to peek at straight through your screen into your eyeballs before the folks at Google even say it out loud. What you see above is bound to only be scraping the surface when it comes to what this brand new version of the Android operating system is capable of, especially since it was designed specifically with BIGGER devices in mind.

Also, take a peek at our post on the rest of the new features in Android 3.0 Honeycomb from the User side of the equation. Gain a deeper understanding of what you're looking at from the inside by having a peek from the outside.


Recent Stories