Android 3.0, aka “Honeycomb,” took center stage at Wednesday’s AnDevCon keynote address, and LinuxInsider joined about 200 Android developers in a small room at the Marriott Hotel in San Mateo, Calif., to listen in.
Presenters Chet Haase and Romain Guy of Google explained some things about the Honeycomb operating system and demoed some of its features using a Motorola Xoom tablet while trading quips.
They also discussed the fragmentation of Android and pointed out the recently introduced Fragments feature Google put out to deal with that issue.
Some Tidbits About Honeycomb
While Honeycomb is optimized for tablets, it has general improvements for users in the interface as well as its interaction with applications, Haase said. The OS also lets developers write more powerful apps, he added.
The home screen in Honeycomb is different from that of previous versions of Android, Guy pointed out.
“The user interface is simpler; gives you more room to put widgets, better ways to customize the home screen,” Guy elaborated. “The keyboard is a big improvement; it’s as big as you get on a small laptop, and the logic behind the keyboard was improved.”
Text selection, a feature included in Android 2.3, has been improved in Honeycomb, Haase said. Also, there’s a system bar that’s omnipresent at the bottom of the screen.
One of the biggest changes in the Android platform is the inclusion of the Fragments feature. This lets app devs adapt their apps to different form factors, Haase said.
“Fragments are a way of bundling up user interface functionality and lifecycle capabilities so you can insert and customize them in your UIs as appropriate in different situations,” Haase said, referring the audience to a blog post on the topic.
“Wouldn’t it be nice to have something that lets you develop applications that let you add different views without too much coding?” Haase asked.
Honeycomb includes many new and revamped applications, Haase said. One is a books app that uses Renderscript technology. Honeycomb also includes new widgets, Haase added.
“We’ve not only built new widgets, but we’ve also added new APIs so you guys can create the same types of widgets,” Guy said. Groupon is among the users of the new APIs, Guy stated.
The widgets are stacked, which makes for easy casual browsing, Romain remarked, demonstrating this on the Xoom.
Google has “made a lot of improvements to the browser” in Honeycomb, Guy said. One is a two-pane user interface for Gmail. Another is a new Gtalk application that lets users switch from the front camera on a Xoom to the rear camera without having to turn the device around manually.
Yet another new application is the music player.
“I didn’t use the default music player on Android before, but I use the one on Honeycomb now,” Guy said.
Honeycomb also has a system bar that sits at the bottom of the screen permanently. Appdevs shouldn’t try to get rid of the system bar, Guy warned.
“Because it’s at the bottom, people try to get rid of it, they want access to the entire screen for their application,” Guy declared. “You can’t. It has to be on the screen all the time because we need to give the user a way to always get out of their apps because we don’t have a back button.”
Appdevs should instead use the “LightsOut” mode in Honeycomb, Guy suggested. This essentially dims down buttons and icons on the screen, Guy suggested.
Dealing With Fragmentation
Google has essentially taken a hands-off approach to Android.
It doesn’t enforce adherence to application updates, for instance, so devices with different versions of the operating system are in use. Further, device makers are free to superimpose their own custom UIs on top of the Android UI. Motorola, HTC and Samsung are among the device manufacturers who have already done so.
That hands-off policy has been one of Android’s major selling points.
“I like Android — it’s open, you can tweak it, and there are so many options,” Mike Wolfson, a senior software engineer attending the keynote speech, told LinuxInsider. “I don’t like closed platforms.”
However, that very openness means there are lots of Android devices running different versions of the operating system, and that has given rise to fears of fragmentation. Google’s Fragments feature aims to solve this problem.
“There’s a lot of talk about fragmentation,” Haase stated. “Fragments lets you adapt to different form factors.”
Appdevs essentially embed Fragments into different versions of Android to provide features and functionalities those versions may not have.
A Fragment represents a behavior or a portion of user interface in an so-called activity, which is a single focused thing a user can do. A Fragment has its own lifecycle, receives its own input events, and can be added or removed while the activity is running.
A Fragment must always be embedded in an activity. Developers can combine multiple fragments in a single activity to build a multi-pane UI and reuse a Fragment in multiple activities.
Although the Fragment feature was restricted to Android 3.0 when it was announced Feb. 3, it has now been ported to earlier releases.
“As of this week, most of the Fragment functionality has been backported to releases from [Android] 1.6 on so you can program using Fragments as far back as 1.6,” Haase said.