Google’s annual developer conference kicked off this morning, with a keynote highlighting new tools, APIs, and a dedicated Android IDE based on JetBrains IntelliJ. Many of the new APIs were aimed at making Android-based geolocation applications easier to write.
Developers applauded the new Android Studio IDE as each feature was shown. This IDE is based on the community edition of JetBrains IntelliJ, but it has many additions focused specifically on the Android platform.
During a demonstration in the keynote, Google showed Android Studio’s capabilities, such as the automatic previewing of strings that may be stored outside of the application. Android Studio also includes automated previews of icons and colors in the margins of the IDE itself.
Developers will also be able to preview their Android applications while they’re developing in the Android Studio using the live rendering capabilities. Using a number of drop-down menus, developers using Android Studio can open a panel that shows what their application will look like on any given phone. Multiple phone display sizes can be previewed at once, and the presentation layer language (Japanese or Russian) can be changed quickly as well.
All of these real-time rendering features allow developers to quickly iterate their applications. The demonstration showed how developers can change font sizes and text strings within the IDE, while quickly seeing these changes across multiple device resolutions and languages.
New things in the store
The Google Play Store also gained a number of new features, including a tablet-specific application category. The Google Play Store’s Developer Console received five new features: App Translation Services, Optimization Tips, Referral Tracking, Revenue Graphs, and Beta Testing & Staged Releases.
Optimization, Referral Tracking and Revenue Graphs are all focused on helping existing applications understand and navigate the Google Play Store. Optimization Tips, for example, will suggest ways to increase app visibility in the store. Sample tips included “Release a tablet version of the app” and “You have a lot of Russian users but no Russian version of the application.”
Developers looking to translate their applications will now be able to purchase such services from within their Developer Console, thanks to the new App Translation Services, which connect developers to on-demand translation companies.
Finally, the new Beta Testing & Staged Release capabilities will allow the use of the service for the testing stage of development. Developers will be able to designate testers and distribute early releases to them via the Play Store.
APIs for Google Maps and more
Google Play services, a series of services managed by Google aimed at Android application developers, added a number of APIs to its arsenal. And, since last year’s Google I/O introduced Google Cloud Messaging (GCM), this year’s conference saw its expansion and inclusion in the Google Play services offerings.
GCM is a service designed to allow developers to easily load in data to Android user phones, using Google’s infrastructure to deliver said data. GCM will now be able to both send and receive data with the addition of upstream sending. GCM will also allow developers to synchronize notifications so that when a notification is sent to both phone and tablet, the dismissal of the notification on one device will also dismiss it on the other.
The Google Maps API available in Google Play services was supplemented with three new geolocation APIs: the Fused Location Provider, Geofencing, and Activity Recognition.
The Fused Location Provider allows Android devices to determine geographic location faster and more accurately. This is accomplished by combining information from the cellular antennae, GPS and device state, thus offering faster location resolution and requiring less battery power.
Activity Recognition allows Android devices to determine just what the user is doing, be it walking, driving or riding a bike. The new API uses accelerometers and GPS to gather this information, and gives it to developers to integrate into their application data streams.
Finally, Geofencing was the most popular new addition to the Maps API, judging by the applause from the audience. Geofencing allows developers to lay out up to 100 fenced-off locations on Google Maps. Whenever a user enters one of these locations, application actions can be triggered programmatically.
Google Play Store will also now allow Google+ sign-in to be spread across multiple access vectors. This means a user looking to install an Android app can sign into a website using a Google+ ID, and install the app to his or her device from the website login page. Thus, new users coming to TheFancy.com could make a new account using their Google+ ID and install the Fancy Android application at the same time, without ever touching their Android device.
Something for the rest
Game developers are also getting a host of new APIs for Android, addressing leaderboards, achievements, saving progress data into the cloud, and multiplayer connection making.
Google also demonstrated the speed gains it won through optimizing Chrome on Android. The company touted a 50% increase in JavaScript performance on Android Chrome. In the last two months alone, Google claimed to have achieved a 2.5x increase in JavaScript performance using a new technique for compiling JavaScript to assembly language.
Google also introduced WebP, a JPEG substitute that can also contain animations, thus allowing it to be pitched as a substitute for animated GIFs. Video continues to get the same treatment through Google’s VP9 codec, which the company is pushing as an open-source, royalty-free replacement for H.264. The company also claimed that VP9 is capable of compressing video to half the size of an H.264 encoded file.
As for Go (the programming language Google developed internally as an alternative to C++ in highly concurrent programs), version 1.1 was released shortly before the conference kicked off. Go 1.1 is primarily an optimization and performance enhancement release. It includes optimizations in the compiler and linker, garbage collector, goroutine scheduler, map implementation, and parts of the standard library.