Inside Ice Cream Sandwich: unannounced features and APIs
We mentioned last night that the Google/Samsung announcement felt like it was missing some things. The products and improvements shown all looked great, but we just knew that there would be more to it than what made it into that original announcement. We were right.
Not only will ICS support USB devices as was first shown off with Android 3.1, but there are new APIs for handling keyboard, mouse, and stylus input. The new APIs allow for auto-detection of what type of input is being used (finger, stylus, etc), and adapt as necessary. Developers will also be able to access dictionary and spell-check features with these other forms of input, which should be a big boost even for users with QWERTY sliders, because until now there hadn't been any auto-correct options for sliders. But, the best part is there is a new "hover" event available. This has been a big issue especially with Flash-based web apps, where many are designed for use with a mouse, but on Android there had been no way to deal with any hover interactions. Unfortunately, it seems as though this hover event will only be available when using a mouse or other device that "drive[s] an on-screen cursor".
Android Beam isn't the only new wireless option available in ICS. The biggest addition is in WiFi Direct, which will allow Android devices to connect through an ad hoc peer-to-peer wireless connection. So, for ultra-close range, you'll have NFC to initiate transfers, at mid-ranges there is Bluetooth, and for longer range connections (and higher speeds) there is now WiFi Direct. This could allow users to transfer larger amounts of data over longer ranges, but there's a good chance that this protocol will become part of the backbone of Google's planned Android@Home project.
This seems like much more of a power-user feature, but that's exactly what our audience likes to hear. There is a new feature in Ice Cream Sandwich allowing users to completely disable apps, even those baked-in to Android. This means you can restrict an app from using any resources or even showing up in the launcher. This can be used on stock Android apps like Messaging, if you use Google Voice primarily, but even better it can be used on carrier and manufacturer bloatware.
In the announcement of Android 4.0 Ice Cream Sandwich last night, Google showed off some of the more consumer-focused features like the improved UI, and UI consistency, the vastly improved camera app, social aggregation in the People app, Face Unlock (not technically showed off, but still), a better real-time voice input engine, a data usage monitor and more. Google also made small remarks here and there that there were some powerful new APIs behind a lot of these features, and that there was more that wasn't being shown off. We're getting information now about the various new features that will be available in Ice Cream Sandwich that weren't announced last night.
There are a lot of features that aren't exactly new to Android, but are new to Android phones. These are features that were in Honeycomb that will now be making the transition to handsets, because unlike previous phone versions of Android, ICS was built on Honeycomb then had phone support added in, rather than the other way around. The Honeycomb features that will be noticeable to the average user were mostly shown off in last night's announcement. These include: resizeable/scrollable widgets, multi-select on items, drag and drop (like with highlighted text), richer notifications, and a centralized clipboard. There are also a ton of under-the-hood improvements from Honeycomb that come along like: Android Open Accessory support meaning you can plug in any USB device like a game controller, mouse or keyboard. There will also be hardware acceleration for 2D graphics, 3D renderscript graphics, HTTP live streaming, and a number of enterprise features, including: encryption for all the data on your device.
New APIs and services
We dug through the Android 4.0 SDK development highlights to let you know what else will be available. There are a ton of new tools for developers, so we'll try to stick with the big additions. One of the biggest being hardware acceleration. If an app is written for API level 14 (ICS), hardware acceleration is turned-on by default, which means we can expect smoother performance in apps (once they are written for ICS of course. That may not happen until Android 5.5 comes out though.)
Full data encryption isn't the only thing that enterprise users can look forward to on ICS handsets. Google has also added tools so applications can now create Virtual Private Networks (VPN). There is also a new device policy option so applications can restrict access to the camera, as well as APIs for managing keychains.
On the more fun side of things (aka things that non-enterprise users care about), there are a ton of new APIs. Google already mentioned a bit on the social APIs which allow data to be aggregated in the People app including profile data, and posts to various networks like Twitter, Facebook and LinkedIn. But, the options there are deeper and will even allow you to add connections to certain social networks through a new Invite Intent.
ICS also includes improvements which should allow developers to more easily implement text-to-speech in apps.
We've talked about the new camera app, but Google is actually making many of the photo editing options available to any developer. Many of the new editing options are being done through OpenGL, so developers will be able to add functionality in apps to fix red-eye, convert an image to grayscale, adjust brightness, adjust saturation, rotate an image, apply a fisheye effect, and more.
Another great feature is the new remote control client, which will allow you to control media player playback from a remote client. This could mean more interaction between Android devices and traditional PCs, but the direct effect for mobile users will be that developers will be able to add media player controls, playback info and album art to the Android lockscreen. This is a great new feature, and one that makes us wonder if the rumors that the Cyanogen team has been working with Google on ICS may be true.
Bluetooth has also gotten a boost in ICS, and now supports Health Profile devices. This opens the door for devices like heart-rate monitors, blood meters, thermometers, and scales.
Update: New sensor support
It turns out we missed some pretty cool new sensor options that are available in ICS. Of course, we know that Android already supports a slew of sensors including: accelerometer, gyroscope, barometer/altimeter, compass, light sensor, and proximity. Well, Android 4.0 has improved the latency and output for the gyroscope in regards to gravity, rotation, and linear acceleration. This should greatly improve gyroscope accuracy.
Additionally, Google has added support for two new sensor types: temperature and humidity. Each of these would allow your Android device to get readings from the surrounding air for ambient temperature (in degrees Celsius) and humidity (in percent). Once these sensors start hitting devices, we could start seeing some amazing new data for weather maps, which could crowd source hyperlocal temperature, humidity, and barometric pressure readings. Unfortunately, that won't exactly be enough to let you predict the weather. We talked to a meteorologist, and he said the two most important factors are temperature and wind readings. Still, it'll be pretty cool to have hyperlocal temperature and humidity ratings, while the barometer will still likely just be used as an altimeter.
Not all the additions are coming through additions to the SDK. There are also some improvements in ICS that didn't make the announcement last night, but are part of the stock OS. There have been more UI improvements that weren't mentioned like a redesign to the Downloads Manager and the Settings menu, but possibly the biggest new option of them all is disabling apps.
It's unclear right now whether this will be an option that carriers and manufacturers will be able to disable, much like they have in the past with tethering, WiFi hotspots, and sideloading apps, but this could be a huge win for users who hate bloat, but don't want to or don't have the confidence to root their device. This is another feature that makes us think it may be more likely that the Cyanogen team has been working with Google, but we'll have to see how it works.
We'll be bringing you more features as they become available, but as you can see Ice Cream Sandwich is more than just a UI overhaul. This is a major OS release with a ton of new features for both users and developers.
source: Android Developers