04 Aug 2015

feedAndroid Community

Samsung quietly releases Galaxy S4 Mini Plus, now available

It's been Samsung's way to present to the market a smaller, more compact, and budget-friendly version of their flagships when they come out. It's a testament to the popularity of … Continue reading

04 Aug 2015 11:20pm GMT

Helvetica 1 Mondaine smartwatch now listed for pre-order

The era of smartwatches has finally begun. Development may be a bit slow but this year, we've seen more and more companies joining the bandwagon. It's not just phone makers … Continue reading

04 Aug 2015 10:40pm GMT

Aim, bend, and shoot to save the Earth in Fruit Attacks

Aim, Bend, Shoot. Watching the trailer of this game, I am reminded of Angry Birds Stella POP. Fruit Attacks is a similar puzzle game that requires you to just shoot … Continue reading

04 Aug 2015 10:00pm GMT

feedAndroid News, Rumours, and Updates

Pebble Time review: Keeping a smartwatch simple and reliable

Pebble's original smartwatch took an out-of-the-way approach to the wearable category. Instead of offering tons of high-end features, it was a smartwatch that was only active when you needed it and actually had good battery life, something not many other smartwatches can say. Now we have the follow-up to that successful smartwatch - the Pebble […]


Come comment on this article: Pebble Time review: Keeping a smartwatch simple and reliable

Visit TalkAndroid for Android news, Android guides, and much more!

04 Aug 2015 9:29pm GMT

feedAndroid Community

Kodak Moments app lets you do edit, share, and print directly 

Kodak may not be the photography powerhouse that it was before, but they have been able to transform and rebrand themselves in this digital world, while still trying to maintain … Continue reading

04 Aug 2015 9:20pm GMT

feedAndroid News, Rumours, and Updates

Looking for something new to spice up your home screen? Check out Zoopreme Widgets by Erik Blue

Spicing up your homescreen to your liking has always been one of Androids selling points. The sky, along with your imagination, is always the limit when it comes to decorating your Android device. Thankfully, we have plenty of talented and artistic developers out there that create beautiful widgets and skins for our devices. A new Zooper […]


Come comment on this article: Looking for something new to spice up your home screen? Check out Zoopreme Widgets by Erik Blue

Visit TalkAndroid for Android news, Android guides, and much more!

04 Aug 2015 9:06pm GMT

feedAndroid Community

Sony Xperia Z5, Z5 Compact image leaked, hints at fingerprint scanner

We don't really depend on tipsters like @ViziLeaks but admit or not, some leaked images and rumors turn out to be true especially if they come from well-known and prolific … Continue reading

04 Aug 2015 8:40pm GMT

Turing Liquid metal-frame Android phone now ready for pre-order

Last month, we showed you the first Liquid metal-frame Android phone in the world. Officially called as the Turing Phone, this smartphone by Turing Robotic Industries (TRI) will be released … Continue reading

04 Aug 2015 8:00pm GMT

feedAndroid News, Rumours, and Updates

‘Cozmo Run’ is a new free arcade game that’s really addicting

Cozmo Run is an arcade game where users will try and survive along a narrow path. The object of the game is to tap the screen to turn and avoid falling off a path that goes in all kinds of directions. As the player gets further into Cozmo Run, obstacles get in the way and […]


Come comment on this article: 'Cozmo Run' is a new free arcade game that's really addicting

Visit TalkAndroid for Android news, Android guides, and much more!

04 Aug 2015 7:52pm GMT

feedAndroid Community

‘Clandestine: Anomaly’ is an augmented reality tower defense game

Tower defense games as a genre has but all been played out on the mobile platform. Blame it on the perfect union of a touch screen device and a game … Continue reading

04 Aug 2015 7:20pm GMT

Moto X Pure Edition (2015) gets several new options on Moto Maker

One reason why Motorola is selling a lot of phones today is the fact that you can build your own Moto phone. The Moto Maker website has proven to be … Continue reading

04 Aug 2015 6:40pm GMT

feedAndroid News, Rumours, and Updates

Portable battery bank market expected to be worth nearly $18 billion by 2020

Portable battery packs are extremely popular accessories, especially as smartphones have brighter, higher resolution screens with smaller batteries. Most phones don't make it through a full days worth of usage, and not everyone is around a wall plug to keep their device charged up, so that's where battery banks come in handy. It's a growing […]


Come comment on this article: Portable battery bank market expected to be worth nearly $18 billion by 2020

Visit TalkAndroid for Android news, Android guides, and much more!

04 Aug 2015 6:39pm GMT

feedAndroid Community

Parrot to sell Android Auto head unit to car makers instead of consumers

Parrot was determined to bring Android Auto to everyone with the release of the RNB6 car infotainment system. Officially introduced at the CES 2015 earlier this year, the Parrot RNB6 … Continue reading

04 Aug 2015 6:00pm GMT

feedAndroid News, Rumours, and Updates

HTC angers users with Fantastic Four push notification ad

Users on Reddit are quite upset at HTC for pushing a Fantastic Four movie ad into their notifications. Ads are something everyone hates, but are sometimes required to cut upfront cost. That is why you would never expect to see them in a device you just paid over $500 for. HTC has not had a […]


Come comment on this article: HTC angers users with Fantastic Four push notification ad

Visit TalkAndroid for Android news, Android guides, and much more!

04 Aug 2015 5:57pm GMT

T-Mobile overtakes Sprint as 3rd largest U.S. carrier

It's official - T-Mobile has passed by Sprint to move up a rung on the ladder to the top of the U.S. wireless carrier rankings. With 58.9 million subscribers, T-Mobile has officially become the third largest carrier in the U.S. This was determined after Sprint released their latest earnings report showing they had 57 million […]


Come comment on this article: T-Mobile overtakes Sprint as 3rd largest U.S. carrier

Visit TalkAndroid for Android news, Android guides, and much more!

04 Aug 2015 5:49pm GMT

Samsung’s Galaxy Note 5 leaked ahead of New York City event again

Online Android publication Droid-Life has been able to get its hands-on exclusive photos of the Galaxy Note 5 ahead of Samsung's press conference in New York City next week. Leaks like these are commonplace ahead of a big event, but they tend to leave little surprise among tech enthusiasts during the official unveiling. Droid-Life notes […]


Come comment on this article: Samsung's Galaxy Note 5 leaked ahead of New York City event again

Visit TalkAndroid for Android news, Android guides, and much more!

04 Aug 2015 5:35pm GMT

feedAndroid Community

Explore a strange world with Barmark, now on Android

Not all games are meant to have specific goals or can be used to be competitive by gathering points or you play to avoid certain death from monsters or enemies. … Continue reading

04 Aug 2015 5:20pm GMT

feedAndroid News, Rumours, and Updates

[TA Deals] Save 89% on this Android development bundle

Learning something new as complex as Android development is time-consuming and costly (or at least it seems that way). Also, finding the right tools to get started isn't exactly easy. That's where the Supreme Android Coding & Design Bundle on Talk Android Deals comes in. This bundle, which is highly accessible and affordable, packs three […]


Come comment on this article: [TA Deals] Save 89% on this Android development bundle

Visit TalkAndroid for Android news, Android guides, and much more!

04 Aug 2015 4:45pm GMT

feedAndroid Community

It’s a Warhammer kind of Humble Bundle for you

A new Humble Bundle is out, and it's directed at all of you Warhammer fans out there. By this time, you all know what the guys at Humble Bundle are … Continue reading

04 Aug 2015 4:40pm GMT

feedAndroid News, Rumours, and Updates

Dating app Luxy rejects over 40,000 applications for being “poor or ugly”

Dating app Luxy has kicked out 40,000 new applicants for being either "poor or ugly." The app has received much scrutiny for only wanting wealthy and attractive individuals on its service, mainly because some feel it is extremely shallow. It's essentially an exclusive matchmaking club for the wealthy and attractive, which can seem shallow, but it has been quite […]


Come comment on this article: Dating app Luxy rejects over 40,000 applications for being "poor or ugly"

Visit TalkAndroid for Android news, Android guides, and much more!

04 Aug 2015 4:12pm GMT

feedAndroid Community

Explore the next space frontier with Cosmonautica, now on Android 

They say that in a few years or decades, space will be the next frontier that earthlings like us will be able to explore. But until then, we'd have to … Continue reading

04 Aug 2015 4:00pm GMT

feedAndroid News, Rumours, and Updates

Software engineering “hacks” OnePlus invite system twice

Jake Cooper posted to Medium, outlining how he "hacked" the OnePlus reservation system. This hack hasn't gotten him an invite, however, it has bumped his reservation down enough where he should see an invite much sooner than anyone else. OnePlus' invite system has been a controversial topic, mainly due to the frustration of not immediately being able to […]


Come comment on this article: Software engineering "hacks" OnePlus invite system twice

Visit TalkAndroid for Android news, Android guides, and much more!

04 Aug 2015 3:53pm GMT

feedAndroid Community

Third-gen 16GB model of Moto G quickly sold out

The Moto G 3rd gen was officially unveiled last week together with the Moto X Play and Moto X Style. While we were surprised that Motorola revealed a pair of … Continue reading

04 Aug 2015 3:20pm GMT

Firefox OS-based Matchstick out of Kickstarter soon, project being cancelled

Believe it or not, not all crowdfunded projects turn out to be successful. A few have already failed (so unfortunately), leaving not only the developers but also the backers heartbroken. … Continue reading

04 Aug 2015 2:40pm GMT

Get online privacy for life with TigerVPN Lite [DEALS]

Last week we've seen a few scary Android vulnerabilities, but sometimes even the very act of browsing the Internet can be very scary already. From hackers to the NSA, you're … Continue reading

04 Aug 2015 2:00pm GMT

Tag, password protect your photos with Focus gallery app

While Google Photos was adjudged to be one of the, if not the best cloud photo organizers available in the market, that won't stop developers from coming up with apps … Continue reading

04 Aug 2015 1:20pm GMT

30 Jul 2015

feedAndroid Developers Blog

Get your hands on Android Studio 1.3

Posted by Jamal Eason, Product Manager, Android

Previewed earlier this summer at Google I/O, Android Studio 1.3 is now available on the stable release channel. We appreciated the early feedback from those developers on our canary and beta channels to help ship a great product.

Android Studio 1.3 is our biggest feature release for the year so far, which includes a new memory profiler, improved testing support, and full editing and debugging support for C++. Let's take a closer look.

New Features in Android Studio 1.3

Performance & Testing Tools

Code and SDK Management

Time to Update

An important thing to remember is that an update to Android Studio does not require you to change your Android app projects. With updating, you get the latest features but still have control of which build tools and app dependency versions you want to use for your Android app.

For current developers on Android Studio, you can check for updates from the navigation menu. For new users, you can learn more about Android Studio on the product overview page or download the stable version from the Android Studio download site.

We are excited to launch this set of features in Android Studio and we are hard at work developing the next set of tools to make develop Android development easier on Android Studio. As always we welcome feedback on how we can help you. Connect with the Android developer tools team on Google+.

Join the discussion on

+Android Developers

30 Jul 2015 9:03pm GMT

Iterate faster on Google Play with improved beta testing

Posted by Ellie Powers, Product Manager, Google Play

Today, Google Play is making it easier for you to manage beta tests and get your users to join them. Since we launched beta testing two years ago, developers have told us that it's become a critical part of their workflow in testing ideas, gathering rapid feedback, and improving their apps. In fact, we've found that 80 percent of developers with popular apps routinely run beta tests as part of their workflow.

Improvements to managing a beta test in the Developer Console

Currently, the Google Play Developer Console lets developers release early versions of their app to selected users as an alpha or beta test before pushing updates to full production. The select user group downloads the app on Google Play as normal, but can't review or rate it on the store. This gives you time to address bugs and other issues without negatively impacting your app listing.

Based on your feedback, we're launching new features to more effectively manage your beta tests, and enable users to join with one click.

How developers are finding success with beta testing

Beta testing is one of the fast iteration features of Google Play and Android that help drive success for developers like Wooga, the creators of hit games Diamond Dash, Jelly Splash, and Agent Alice. Find out more about how Wooga iterates on Android first from Sebastian Kriese, Head of Partnerships, and Pal Tamas Feher, Head of Engineering.


Kabam is a global leader in AAA quality mobile games developed in partnership with Hollywood studios for such franchises such as Fast & Furious, Marvel, Star Wars and The Hobbit. Beta testing helps Kabam engineers perfect the gameplay for Android devices before launch. "The ability to receive pointed feedback and rapidly reiterate via alpha/beta testing on Google Play has been extremely beneficial to our worldwide launches," said Kabam VP Rob Oshima.

Matt Small, Co-Founder of Vector Unit recently told us how they've been using beta testing extensively to improve Beach Buggy Racing and uncover issues they may not have found otherwise. You can read Matt's blog post about beta testing on Google Play on Gamasutra to hear about their experience. We've picked a few of Matt's tips and shared them below:

  1. Limit more sensitive builds to a closed beta where you invite individual testers via email addresses. Once glaring problems are ironed out, publish your app to an open beta to gather feedback from a wider audience before going to production.
  2. Set expectations early. Let users know about the risks of beta testing (e.g. the software may not be stable) and tell them what you're looking for in their feedback.
  3. Encourage critical feedback. Thank people when their criticisms are thoughtful and clearly explained and try to steer less-helpful feedback in a more productive direction.
  4. Respond quickly. The more people see actual responses from the game developer, the more encouraged they are to participate.
  5. Enable Google Play game services. To let testers access features like Achievements and Leaderboards before they are published, go into the Google Play game services testing panel and enable them.

We hope this update to beta testing makes it easier for you to test your app and gather valuable feedback and that these tips help you conduct successful tests. Visit the Developer Console Help Center to find out more about setting up beta testing for your app.

Join the discussion on

+Android Developers

30 Jul 2015 4:10pm GMT

29 Jul 2015

feedAndroid Developers Blog

Auto Backup for Apps made simple

Posted by Wojtek Kaliciński, Developer Advocate, Android

Auto Backup for Apps makes seamless app data backup and restore possible with zero lines of application code. This feature will be available on Android devices running the upcoming M release. All you need to do to enable it for your app is update the targetSdkVersion to 23. You can test it now on the M Developer Preview, where we've enabled Auto Backup for all apps regardless of targetSdkVersion.

Auto Backup for Apps is provided by Google to both users and developers at no charge. Even better, the backup data stored in Google Drive does not count against the user's quota. Please note that data transferred may still incur charges from the user's cellular / internet provider.


What is Auto-Backup for Apps?

By default, for users that have opted in to backup, all of the data files of an app are automatically copied out to a user's Drive. That includes databases, shared preferences and other content in the application's private directory, up to a limit of 25 megabytes per app. Any data residing in the locations denoted by Context.getCacheDir(), Context.getCodeCacheDir() and Context.getNoBackupFilesDir() is excluded from backup. As for files on external storage, only those in Context.getExternalFilesDir() are backed up.

How to control what is backed up

You can customize what app data is available for backup by creating a backup configuration file in the res/xml folder and referencing it in your app's manifest:


<application
        android:fullBackupContent="@xml/mybackupscheme">

In the configuration file, specify <include/> or <exclude/> rules that you need to fine tune the behavior of the default backup agent. Please refer to a detailed explanation of the rules syntax available in the documentation.

What to exclude from backup

You may not want to have certain app data eligible for backup. For such data, please use one of the mechanisms above. For example:

With such a diverse landscape of apps, it's important that developers consider how to maximise the benefits to the user of automatic backups. The goal is to reduce the friction of setting up a new device, which in most cases means transferring over user preferences and locally saved content.

For example, if you have the user's account stored in shared preferences such that it can be restored on install, they won't have to even think about which account they used to sign in with previously - they can submit their password and get going!

If you support a variety of log-ins (Google Sign-In and other providers, username/password), it's simple to keep track of which log-in method was used previously so the user doesn't have to.

Transitioning from key/value backups

If you have previously implemented the legacy, key/value backup by subclassing BackupAgent and setting it in your Manifest (android:backupAgent), you're just one step away from transitioning to full-data backups. Simply add the android:fullBackupOnly="true" attribute on <application/>. This is ignored on pre-M versions of Android, meaning onBackup/onRestore will still be called, while on M+ devices it lets the system know you wish to use full-data backups while still providing your own BackupAgent.

You can use the same approach even if you're not using key/value backups, but want to do any custom processing in onCreate(), onFullBackup() or be notified when a restore operation happens in onRestoreFinished(). Just remember to call super.onFullBackup() if you want to retain the system implementation of XML include/exclude rules handling.

What is the backup/restore lifecycle?

The data restore happens as part of the package installation, before the user has a chance to launch your app. Backup runs at most once a day, when your device is charging and connected to Wi-Fi. If your app exceeds the data limit (currently set at 25 MB), no more backups will take place and the last saved snapshot will be used for subsequent restores. Your app's process is killed after a full backup happens and before a restore if you invoke it manually through the bmgr command (more about that below).

Test your apps now

Before you begin testing Auto Backup, make sure you have the latest M Developer Preview on your device or emulator. After you've installed your APK, use the adb shell command to access the bmgr tool.

Bmgr is a tool you can use to interact with the Backup Manager:

If you forget to invoke bmgr run, you might see errors in Logcat when trying the fullbackup and restore commands. If you are still having problems, make sure you have Backup enabled and a Google account set up in system Settings -> Backup & reset.

Learn more

You can find a sample application that shows how to use Auto Backup on our GitHub. The full documentation is available on developer.android.com

Join the Android M Developer Preview Community on Google+ for more information on Android M features and remember to report any bugs you find with Auto Backup in the bug tracker.

Join the discussion on

+Android Developers

29 Jul 2015 7:00pm GMT

28 Jul 2015

feedAndroid Developers Blog

[New eBook] Download The No-nonsense Guide to App Growth

Originally posted on the AdMob Blog.

What's the secret to rapid growth for your app?

Play Store or App Store optimization? A sophisticated paid advertising strategy? A viral social media campaign?

While all of these strategies could help you grow your user base, the foundation for rapid growth is much more basic and fundamental-you need an engaging app.

This handbook will walk you through practical ways to increase your app's user engagement to help you eventually transition to growth. You'll learn how to:

Download a free copy here.

For more tips on app monetization, be sure to stay connected on all things AdMob by following our Twitter and Google+ pages.

Posted by Raj Ajrawat, Product Specialist, AdMob

Join the discussion on

+Android Developers

28 Jul 2015 4:58pm GMT

14 Jul 2015

feedAndroid Developers Blog

Lighting the way with BLE beacons

Originally posted on the Google Developers blog.

Posted by Chandu Thota, Engineering Director and Matthew Kulick, Product Manager

Just like lighthouses have helped sailors navigate the world for thousands of years, electronic beacons can be used to provide precise location and contextual cues within apps to help you navigate the world. For instance, a beacon can label a bus stop so your phone knows to have your ticket ready, or a museum app can provide background on the exhibit you're standing in front of. Today, we're beginning to roll out a new set of features to help developers build apps using this technology. This includes a new open format for Bluetooth low energy (BLE) beacons to communicate with people's devices, a way for you to add this meaningful data to your apps and to Google services, as well as a way to manage your fleet of beacons efficiently.

Eddystone: an open BLE beacon format

Working closely with partners in the BLE beacon industry, we've learned a lot about the needs and the limitations of existing beacon technology. So we set out to build a new class of beacons that addresses real-life use-cases, cross-platform support, and security.

At the core of what it means to be a BLE beacon is the frame format-i.e., a language-that a beacon sends out into the world. Today, we're expanding the range of use cases for beacon technology by publishing a new and open format for BLE beacons that anyone can use: Eddystone. Eddystone is robust and extensible: It supports multiple frame types for different use cases, and it supports versioning to make introducing new functionality easier. It's cross-platform, capable of supporting Android, iOS or any platform that supports BLE beacons. And it's available on GitHub under the open-source Apache v2.0 license, for everyone to use and help improve.

By design, a beacon is meant to be discoverable by any nearby Bluetooth Smart device, via its identifier which is a public signal. At the same time, privacy and security are really important, so we built in a feature called Ephemeral Identifiers (EIDs) which change frequently, and allow only authorized clients to decode them. EIDs will enable you to securely do things like find your luggage once you get off the plane or find your lost keys. We'll publish the technical specs of this design soon.


Eddystone for developers: Better context for your apps

Eddystone offers two key developer benefits: better semantic context and precise location. To support these, we're launching two new APIs. The Nearby API for Android and iOS makes it easier for apps to find and communicate with nearby devices and beacons, such as a specific bus stop or a particular art exhibit in a museum, providing better context. And the Proximity Beacon API lets developers associate semantic location (i.e., a place associated with a lat/long) and related data with beacons, stored in the cloud. This API will also be used in existing location APIs, such as the next version of the Places API.

Eddystone for beacon manufacturers: Single hardware for multiple platforms

Eddystone's extensible frame formats allow hardware manufacturers to support multiple mobile platforms and application scenarios with a single piece of hardware. An existing BLE beacon can be made Eddystone compliant with a simple firmware update. At the core, we built Eddystone as an open and extensible protocol that's also interoperable, so we'll also introduce an Eddystone certification process in the near future by closely working with hardware manufacturing partners. We already have a number of partners that have built Eddystone-compliant beacons.

Eddystone for businesses: Secure and manage your beacon fleet with ease

As businesses move from validating their beacon-assisted apps to deploying beacons at scale in places like stadiums and transit stations, hardware installation and maintenance can be challenging: which beacons are working, broken, missing or displaced? So starting today, beacons that implement Eddystone's telemetry frame (Eddystone-TLM) in combination with the Proximity Beacon API's diagnostic endpoint can help deployers monitor their beacons' battery health and displacement-common logistical challenges with low-cost beacon hardware.

Eddystone for Google products: New, improved user experiences

We're also starting to improve Google's own products and services with beacons. Google Maps launched beacon-based transit notifications in Portland earlier this year, to help people get faster access to real-time transit schedules for specific stations. And soon, Google Now will also be able to use this contextual information to help prioritize the most relevant cards, like showing you menu items when you're inside a restaurant.

We want to make beacons useful even when a mobile app is not available; to that end, the Physical Web project will be using Eddystone beacons that broadcast URLs to help people interact with their surroundings.

Beacons are an important way to deliver better experiences for users of your apps, whether you choose to use Eddystone with your own products and services or as part of a broader Google solution like the Places API or Nearby API. The ecosystem of app developers and beacon manufacturers is important in pushing these technologies forward and the best ideas won't come from just one company, so we encourage you to get some Eddystone-supported beacons today from our partners and begin building!

Join the discussion on

+Android Developers

14 Jul 2015 3:39pm GMT

Connect With the World Around You Through Nearby APIs

Originally posted on the Google Developers blog.

Posted by Akshay Kannan, Product Manager

Mobile phones have made it easy to communicate with anyone, whether they're right next to you or on the other side of the world. The great irony, however, is that those interactions can often feel really awkward when you're sitting right next to someone.

Today, it takes several steps -- whether it's exchanging contact information, scanning a QR code, or pairing via bluetooth -- to get a simple piece of information to someone right next to you. Ideally, you should be able to just turn to them and do so, the same way you do in the real world.

This is why we built Nearby. Nearby provides a proximity API, Nearby Messages, for iOS and Android devices to discover and communicate with each other, as well as with beacons.

Nearby uses a combination of Bluetooth, Wi-Fi, and inaudible sound (using the device's speaker and microphone) to establish proximity. We've incorporated Nearby technology into several products, including Chromecast Guest Mode, Nearby Players in Google Play Games, and Google Tone.

With the latest release of Google Play services 7.8, the Nearby Messages API becomes available to all developers across iOS and Android devices (Gingerbread and higher). Nearby doesn't use or require a Google Account. The first time an app calls Nearby, users get a permission dialog to grant that app access.

A few of our partners have built creative experiences to show what's possible with Nearby.

Edjing Pro uses Nearby to let DJs publish their tracklist to people around them. The audience can vote on tracks that they like, and their votes are updated in realtime.

Trello uses Nearby to simplify sharing. Share a Trello board to the people around you with a tap of a button.

Pocket Casts uses Nearby to let you find and compare podcasts with people around you. Open the Nearby tab in Pocket Casts to view a list of podcasts that people around you have, as well as podcasts that you have in common with others.

Trulia uses Nearby to simplify the house hunting process. Create a board and use Nearby to make it easy for the people around you to join it.

To learn more, visit developers.google.com/nearby.

Join the discussion on

+Android Developers

14 Jul 2015 3:34pm GMT

09 Jul 2015

feedAndroid Developers Blog

M Developer Preview Gets Its First Update

By Jamal Eason, Product Manager, Android

Earlier this summer at Google I/O, we launched the M Developer Preview. The developer preview is an early access opportunity to test and optimize your apps for the next release of Android. Today we are releasing an update to the M Developer Preview that includes fixes and updates based on your feedback.

What's New

The Developer Preview 2 update includes the up to date M release platform code, and near-final APIs for you to validate your app. To provide more testing support, we have refined the Nexus system images and emulator system images with the Android platform updates. In addition to platform updates, the system images also include Google Play services 7.6.

How to Get the Update

If you are already running the M developer preview launched at Google I/O (Build #MPZ44Q) on a supported Nexus device (e.g. Nexus 5, Nexus 6, Nexus 9, or Nexus Player), the update can be delivered to your device via an over-the-air update. We expect all devices currently on the developer preview to receive the update over the next few days. We also posted a new version of the preview system image on the developer preview website. (To view the preview website in a language other than English, select the appropriate language from the language selector at the bottom of the page).

For those developers using the emulator, you can update your M preview system images via the SDK Manager in Android Studio.

What are the Major Changes?

We have addressed many issues brought up during the first phase of the developer preview. Check out the release notes for a detailed list of changes in this update. Some of the highlights to the update include:

Next Steps

With the final M release still on schedule for this fall, the platform features and API are near final. However, there is still time to report critical issues as you continue to test and validate your apps on the M Developer Preview. You can also visit our M Developer Preview community to share ideas and information.

Thanks again for your support. We look forward to seeing your apps that are ready to go for the M release this fall.

Join the discussion on

+Android Developers

09 Jul 2015 6:31pm GMT

The App Developer Business Kit: Now available in 10 languages

Posted by Sean Meng, a Product Marketing Manager on the AdMob team

Today we're excited to launch The App Developer Business Kit in 10 more languages. The website includes tips for new app developers on building, promoting and monetizing your app. Check out the Business Kit in your language:

To help you make decisions about growing your app business in other regions, we've added 6 new market reports providing great insights about app users in Italy, Spain, Germany, Brazil, France, and Russia. Did you know that Brazilian smartphone users engage with ads more frequently than users in the US and Japan? Or that while nearly 2/3rds of French users exclusively download free apps, only 31% of Brazilian smartphone users do? Check out statistics like these about exciting regions around the world here.

Stay connected on all things mobile apps by following us on Google+ and Twitter.

09 Jul 2015 4:07pm GMT

02 Jul 2015

feedAndroid Developers Blog

Game Performance: Data-Oriented Programming

Posted by Shanee Nishry, Game Developer Advocate

To improve game performance, we'd like to highlight a programming paradigm that will help you maximize your CPU potential, make your game more efficient, and code smarter.

Before we get into detail of data-oriented programming, let's explain the problems it solves and common pitfalls for programmers.

Memory

The first thing a programmer must understand is that memory is slow and the way you code affects how efficiently it is utilized. Inefficient memory layout and order of operations forces the CPU idle waiting for memory so it can proceed doing work.

The easiest way to demonstrate is by using an example. Take this simple code for instance:

char data[1000000]; // One Million bytes
unsigned int sum = 0;

for ( int i = 0; i < 1000000; ++i )
{
  sum += data[ i ];
}

An array of one million bytes is declared and iterated on one byte at a time. Now let's change things a little to illustrate the underlying hardware. Changes marked in bold:

char data[16000000]; // Sixteen Million bytes
unsigned int sum = 0;

for ( int i = 0; i < 16000000; i += 16 )
{
  sum += data[ i ];
}

The array is changed to contain sixteen million bytes and we iterate over one million of them, skipping 16 at a time.

A quick look suggests there shouldn't be any effect on performance as the code is translated to the same number of instructions and runs the same number of times, however that is not the case. Here is the difference graph. Note that this is on a logarithmic scale--if the scale were linear, the performance difference would be too large to display on any reasonably-sized graph!


Graph in logarithmic scale

The simple change making the loop skip 16 bytes at a time makes the program run 5 times slower!

The average difference in performance is 5x and is consistent when iterating 1,000 bytes up to a million bytes, sometimes increasing up to 7x. This is a serious change in performance.

Note: The benchmark was run on multiple hardware configurations including a desktop with Intel 5930K 3.50GHz CPU, a Macbook Pro Retina laptop with 2.6 GHz Intel i7 CPU and Android Nexus 5 and Nexus 6 devices. The results were pretty consistent.

If you wish to replicate the test, you might have to ensure the memory is out of the cache before running the loop because some compilers will cache the array on declaration. Read below to understand more on how it works.

Explanation

What happens in the example is quite simply explained when you understand how the CPU accesses data. The CPU can't access data in RAM; the data must be copied to the cache, a smaller but extremely fast memory line which resides near the CPU chip.

When the program starts, the CPU is set to run an instruction on part of the array but that data is still not in the cache, therefore causing a cache miss and forcing the CPU to wait for the data to be copied into the cache.

For simplicity sake, assume a cache size of 16 bytes for the L1 cache line, this means 16 bytes will be copied starting from the requested address for the instruction.

In the first code example, the program next tries to operate on the following byte, which is already copied into the cache following the initial cache miss, therefore continuing smoothly. This is also true for the next 14 bytes. After 16 bytes, since the first cache miss the loop, will encounter another cache miss and the CPU will again wait for data to operate on, copying the next 16 bytes into the cache.

In the second code sample, the loop skips 16 bytes at a time but hardware continues to operate the same. The cache copies the 16 subsequent bytes each time it encounters a cache miss which means the loop will trigger a cache miss with each iteration and cause the CPU to wait idle for data each time!

Note: Modern hardware implements cache prefetch algorithms to prevent incurring a cache miss per frame, but even with prefetching, more bandwidth is used and performance is lower in our example test.

In reality the cache lines tend to be larger than 16 bytes, the program would run much slower if it were to wait for data at every iteration. A Krait-400 found in the Nexus 5 has a L0 data cache of 4 KB with 64 Bytes per line.

If you are wondering why cache lines are so small, the main reason is that making fast memory is expensive.

Data-Oriented Design

The way to solve such performance issues is by designing your data to fit into the cache and have the program to operate on the entire data continuously.

This can be done by organizing your game objects inside Structures of Arrays (SoA) instead of Arrays of Structures (AoS) and pre-allocating enough memory to contain the expected data.

For example, a simple physics object in an AoS layout might look like this:

struct PhysicsObject
{
  Vec3 mPosition;
  Vec3 mVelocity;

  float mMass;
  float mDrag;
  Vec3 mCenterOfMass;

  Vec3 mRotation;
  Vec3 mAngularVelocity;

  float mAngularDrag;
};

This is a common way way to present an object in C++.

On the other hand, using SoA layout looks more like this:

class PhysicsSystem
{
private:
  size_t mNumObjects;
  std::vector< Vec3 > mPositions;
  std::vector< Vec3 > mVelocities;
  std::vector< float > mMasses;
  std::vector< float > mDrags;

  // ...
};

Let's compare how a simple function to update object positions by their velocity would operate.

For the AoS layout, a function would look like this:

void UpdatePositions( PhysicsObject* objects, const size_t num_objects, const float delta_time )
{
  for ( int i = 0; i < num_objects; ++i )
  {
    objects[i].mPosition += objects[i].mVelocity * delta_time;
  }
}

The PhysicsObject is loaded into the cache but only the first 2 variables are used. Being 12 bytes each amounts to 24 bytes of the cache line being utilised per iteration and causing a cache miss with every object on a 64 bytes cache line of a Nexus 5.

Now let's look at the SoA way. This is our iteration code:

void PhysicsSystem::SimulateObjects( const float delta_time )
{
  for ( int i = 0; i < mNumObjects; ++i )
  {
    mPositions[ i ] += mVelocities[i] * delta_time;
  }
}

With this code, we immediately cause 2 cache misses, but we are then able to run smoothly for about 5.3 iterations before causing the next 2 cache misses resulting in a significant performance increase!

The way data is sent to the hardware matters. Be aware of data-oriented design and look for places it will perform better than object-oriented code.

We have barely scratched the surface. There is still more to data-oriented programming than structuring your objects. For example, the cache is used for storing instructions and function memory so optimizing your functions and local variables affects cache misses and hits. We also did not mention the L2 cache and how data-oriented design makes your application easier to multithread.

Make sure to profile your code to find out where you might want to implement data-oriented design. You can use different profilers for different architecture, including the NVIDIA Tegra System Profiler, ARM Streamline Performance Analyzer, Intel and PowerVR PVRMonitor.

If you want to learn more on how to optimize for your cache, read on cache prefetching for various CPU architectures.

Join the discussion on

+Android Developers

02 Jul 2015 3:02pm GMT

26 Jun 2015

feedAndroid Developers Blog

An update on Eclipse Android Developer Tools

Posted by Jamal Eason, Product Manager, Android
Over the past few years, our team has focused on improving the development experience for building Android apps with Android Studio. Since the launch of Android Studio, we have been impressed with the excitement and positive feedback. As the official Android IDE, Android Studio gives you access to a powerful and comprehensive suite of tools to evolve your app across Android platforms, whether it's on the phone, wrist, car or TV.

To that end and to focus all of our efforts on making Android Studio better and faster, we are ending development and official support for the Android Developer Tools (ADT) in Eclipse at the end of the year. This specifically includes the Eclipse ADT plugin and Android Ant build system.

Time to Migrate

If you have not had the chance to migrate your projects to Android Studio, now is the time. To get started, download Android Studio. For many developers, migration is as simple as importing your existing Eclipse ADT projects in Android Studio with File → New→ Import Project as shown below:

For more details on the migration process, check out the migration guide. Also, to learn more about Android Studio and the underlying build system, check out this overview page.

Next Steps

Over the next few months, we are migrating the rest of the standalone performance tools (e.g. DDMS, Trace Viewer) and building in additional support for the Android NDK into Android Studio.
We are focused on Android Studio so that our team can deliver a great experience on a unified development environment. Android tools inside Eclipse will continue to live on in the open source community via the Eclipse Foundation. Check out the latest Eclipse Andmore project if you are interested in contributing or learning more.
For those of you that are new to Android Studio, we are excited for you to integrate Android Studio into your development workflow. Also, if you want to contribute to Android Studio, you can also check out the project source code. To follow all the updates on Android Studio, join our Google+ community.







26 Jun 2015 5:03pm GMT

24 Jun 2015

feedAndroid Developers Blog

Android Developer Story: Shifty Jelly drives double-digit growth with material design and expansion to the car and wearables

Posted by Lily Sheringham, Google Play team

Pocket Casts is a leading podcasting app on Google Play built by Australian-based mobile development company Shifty Jelly. The company recently achieved $1 million in sales for the first time, reaching more than 500K users.

According to the co-founder Russell Ivanovic, the adoption of material design played a significant role in driving user engagement for Pocket Casts by streamlining the user experience. Moreover, users are now able to access the app beyond the smartphone -- in the car with Android Auto, on a watch with Android Wear or on the TV with Google Cast. The rapid innovation of Android features helped Pocket Casts increase sales by 30 percent.

We chatted with co-founders and Android developers Russell and Philip Simpson to learn more about how they are growing their business with Android.

Here are some of the features Pocket Casts used:

And check out the Pocket Casts app on Google Play!

Join the discussion on

+Android Developers

24 Jun 2015 6:33pm GMT

23 Jun 2015

feedAndroid Developers Blog

Fitness Apps on Android Wear

Posted by Joshua Gordon, Developer Advocate

Go for a run, improve your game, and explore the great outdoors with Android Wear! Developers are creating a diverse array of fitness apps that provide everything from pace and heart rate while running, to golf tips on your favorite course, to trail maps for hiking. Let's take a look features of the open and flexible Wear platform they use to create great user experiences.

Always-on stats

If your app supports always-on, you'll never have to touch or twist your watch to activate the display. Running and want to see your pace? Glance at your wrist and it's there! Runtastic, Endomondo, and MapMyRun use always-on to keep your stats visible, even in ambient mode. When it's time for golf, I use Golfshot. Likewise, Golfshot uses always-on to continuously show yardage to the hole, so I never have to drop my club. Check out the doc, DevByte, and code sample to learn more.

Runtastic automatically transitions to ambient mode to conserve battery. There, it reduces the frequency at which stats are updated to about once per 10 seconds.


Maps, routes, and markers

It's encouraging to see how much ground I've covered when I go for a run or ride! Using the Maps API, you can show users their route, position, and place markers on the map they can tap to see more info you provide. All of this functionality is available to you using the same Maps API you've already worked with on Android. Check out the doc, DevByte, code sample, and blog post to learn more.

Endomondo tracks your route while your run. You can pan and zoom the map.


Google Fit

Google Fit is an open platform designed to make it easier to write fitness apps. It provides APIs to help with many common tasks. For example, you can use the Recording API to estimate how many steps the user has taken and how many calories they've burned. You can make that data to your app via the History API, and even access it over the web via REST, without having to write your own backend. Now, Google Fit can store data from a wide variety of exercises, from running to weightlifting. Check out the DevByte and code samples to learn more.

Bluetooth Low Energy: pair with your watch

With the latest release of Android Wear, developers can now pair BLE devices directly with the Wearable. This is a great opportunity for all fitness apps -- and especially for running -- where carrying both a phone and the Wearable can be problematic. Imagine if your users could pair their heart rate straps or bicycle cadence sensors directly to their Wear device, and leave their phones at home. BLE is now supported by all Wear devices, and is supported by Google Fit. To learn more about it, check out this guide and DevByte.

Pack light with onboard GPS

When I'm running, carrying both a phone and a wearable can be a bit much. If you're using an Android Wear device that supports onboard GPS, you can leave your phone at home! Since not all Wear devices have an onboard GPS sensor, you can use the FusedLocationProviderApi to seamlessly retrieve GPS coordinates from the phone if not available on the wearable. Check out this handy guide for more about detecting location on Wear.

RunKeeper supports onboard GPS if it's available on your Wearable.


Sync data transparently

When I'm back home and ready for more details on my activity, I can see them by opening the app on my phone. My favorite fitness apps transparently sync data between my Wearable and phone. To learn more about syncing data between devices, watch this DevByte on the DataLayer API.

Next Steps

Android Wear gives you the tools and training you need to create exceptional fitness apps. To get started on yours, visit developer.android.com/wear and join the discussion at g.co/androidweardev.

Join the discussion on

+Android Developers

23 Jun 2015 6:22pm GMT

18 Jun 2015

feedAndroid Developers Blog

Growing Android TV engagement with search and recommendations

Posted by Maru Ahues, Media Developer Advocate

When it comes to TV, content is king. But to enjoy great content, you first need to find it. We created Android TV with that in mind: a truly smart TV should deliver interesting content to users. Today, EPIX® joins a growing list of apps that use the Android TV platform to make it easy to enjoy movies, TV shows, sports highlights, music videos and more.

Making TV Apps Searchable

Think of your favorite movie. Now try to locate it in one of your streaming apps. If you have a few apps to choose from, it might take some hunting before you can watch that movie. With Android TV, we want to make it easier to be entertained. Finding 'Teenage Mutant Ninja Turtles' should be as easy as picking up the remote, saying 'Teenage Mutant Ninja Turtles' and letting the TV find it.

Searching for 'Teenage Mutant Ninja Turtles' shows results from Google Play and EPIX

You can drive users directly to content within your app by making it searchable from the Android TV search interface. Join app developers like EPIX, Sky News, YouTube, and Hulu Plus who are already making content discovery a breeze.

Recommending TV Content

When users want suggestions for content, the recommendations row on Android TV helps them quickly access relevant content right from the home screen. Recommendations are based on the user's recent and frequent usage behaviors, as well as content preferences.

Recommendations from installed apps, like EPIX, appear in the Android TV home screen

Android TV allows developers to create recommendations for movies, TV shows, music and other types of content. Your app can provide recommendations to users to help get your content noticed. As an example, EPIX shows hollywood movies. NBA Game Time serves up basketball highlights. Washington Post offers video summaries of world events, and YouTube suggests videos based on your subscriptions and viewing history.

With less than one year since the consumer launch of Android TV, we're already building upon a simpler, smarter and more personalized TV experience, and we can't wait to see what you create.

Join the discussion on

+Android Developers

18 Jun 2015 5:25pm GMT

16 Jun 2015

feedAndroid Developers Blog

More Material Design with Topeka for Android

Posted by Ben Weiss, Developer Programs Engineer

Update 27th July 2015:
The Design Support Library is now available, simplifying the implementation of elements like the Floating Action Button, check out the post for details.

Original Post:
Material design is a new system for visual, interaction and motion design. We originally launched the Topeka web app as an Open Source example of material design on the web.
Today, we're publishing a new material design example: The Android version of Topeka. It demonstrates that the same branding and material design principles can be used to create a consistent experience across platforms. Grab the code today on GitHub.

The juicy bits

While the project demonstrates a lot of different aspects of material design, let's take a quick look at some of the most interesting bits.

Transitions

Topeka for Android features several possibilities for transition implementation. For starters the Transitions API within ActivityOptions provides an easy, yet effective way to make great transitions between Activities.
To achieve this, we register the shared string in a resources file like this:
<resources>
    <string name="transition_avatar">AvatarTransition</string>
</resources>
Then we use it within the source's and target's view as transitionName
<ImageView
    android:id="@+id/avatar"
    android:layout_width="@dimen/avatar_size"
    android:layout_height="@dimen/avatar_size"
    android:layout_marginEnd="@dimen/keyline_16"
    android:transitionName="@string/transition_avatar"/>
And then make the actual transition happen within SignInFragment.
private void performSignInWithTransition(View v) {
    Activity activity = getActivity();
    ActivityOptions activityOptions = ActivityOptions
            .makeSceneTransitionAnimation(activity, v,
                    activity.getString(R.string.transition_avatar));
    CategorySelectionActivity.start(activity, mPlayer, activityOptions);
    activity.finishAfterTransition();
}
For multiple transition participants with ActivityOptions you can take a look at the CategorySelectionFragment.

Animations

When it comes to more complex animations you can orchestrate your own animations as we did for scoring.
To get this right it is important to make sure all elements are carefully choreographed. The AbsQuizView class performs a handful of carefully crafted animations when a question has been answered:
The animation starts with a color change for the floating action button, depending on the provided answer. After this has finished, the button shrinks out of view with a scale animation. The view holding the question itself also moves offscreen. We scale this view to a small green square before sliding it up behind the app bar. During the scaling the foreground of the view changes color to match the color of the fab that just disappeared. This establishes continuity across the various quiz question states.
All this takes place in less than a second's time. We introduced a number of minor pauses (start delays) to keep the animation from being too overwhelming, while ensuring it's still fast.
The code responsible for this exists within AbsQuizView's performScoreAnimation method.

FAB placement

The recently announced Floating Action Buttons are great for executing promoted actions. In the case of Topeka, we use it to submit an answer. The FAB also straddles two surfaces with variable heights; like this:
To achieve this we query the height of the top view (R.id.question_view) and then set padding on the FloatingActionButton once the view hierarchy has been laid out:
private void addFloatingActionButton() {
    final int fabSize = getResources().getDimensionPixelSize(R.dimen.fab_size);
    int bottomOfQuestionView = findViewById(R.id.question_view).getBottom();
    final LayoutParams fabLayoutParams = new LayoutParams(fabSize, fabSize,
            Gravity.END | Gravity.TOP);
    final int fabPadding = getResources().getDimensionPixelSize(R.dimen.padding_fab);
    final int halfAFab = fabSize / 2;
    fabLayoutParams.setMargins(0, // left
        bottomOfQuestionView - halfAFab, //top
        0, // right
        fabPadding); // bottom
    addView(mSubmitAnswer, fabLayoutParams);
}
To make sure that this only happens after the initial layout, we use an OnLayoutChangeListener in the AbsQuizView's constructor:
addOnLayoutChangeListener(new OnLayoutChangeListener() {
    @Override
    public void onLayoutChange(View v, int l, int t, int r, int b,
            int oldLeft, int oldTop, int oldRight, int oldBottom) {
        removeOnLayoutChangeListener(this);
        addFloatingActionButton();
    }
});

Round OutlineProvider

Creating circular masks on API 21 onward is now really simple. Just extend the ViewOutlineProvider class and override the getOutline() method like this:
@Override
public final void getOutline(View view, Outline outline) {
    final int size = view.getResources().
        getDimensionPixelSize(R.id.view_size);
    outline.setOval(0, 0, size, size);
}
and setClipToOutline(true) on the target view in order to get the right shadow shape.
Check out more details within the outlineprovider package within Topeka for Android.

Vector Drawables

We use vector drawables to display icons in several places throughout the app. You might be aware of our collection of Material Design Icons on GitHub which contains about 750 icons for you to use. The best thing for Android developers: As of Lollipop you can use these VectorDrawables within your apps so they will look crisp no matter what density the device's screen. For example, the back arrow ic_arrow_back from the icons repository has been adapted to Android's vector drawable format.
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="48"
    android:viewportHeight="48">
    <path
        android:pathData="M40 22H15.66l11.17-11.17L24 8 8 24l16 16 2.83-2.83L15.66 26H40v-4z"
        android:fillColor="?android:attr/textColorPrimary" />
</vector>
The vector drawable only has to be stored once within the res/drawable folder. This means less disk space is being used for drawable assets.

Property Animations

Did you know that you can easily animate any property of a View beyond the standard transformations offered by the ViewPropertyAnimator class (and it's handy View#animate syntax)? For example in AbsQuizView we define a property for animating the view's foreground color.
// Property for animating the foreground
public static final Property FOREGROUND_COLOR =
        new IntProperty("foregroundColor") {

            @Override
            public void setValue(FrameLayout layout, int value) {
                if (layout.getForeground() instanceof ColorDrawable) {
                    ((ColorDrawable) layout.getForeground()).setColor(value);
                } else {
                    layout.setForeground(new ColorDrawable(value));
                }
            }

            @Override
            public Integer get(FrameLayout layout) {
                return ((ColorDrawable) layout.getForeground()).getColor();
            }
        };
This can later be used to animate changes to said foreground color from one value to another like this:
final ObjectAnimator foregroundAnimator = ObjectAnimator
        .ofArgb(this, FOREGROUND_COLOR, Color.WHITE, backgroundColor);
This is not particularly new, as it has been added with API 12, but still can come in quite handy when you want to animate color changes in an easy fashion.

Tests

In addition to exemplifying material design components, Topeka for Android also features a set of unit and instrumentation tests that utilize the new testing APIs, namely "Gradle Unit Test Support" and the "Android Testing Support Library." The implemented tests make the app resilient against changes to the data model. This catches breakages early, gives you more confidence in your code and allows for easy refactoring. Take a look at the androidTest and test folders for more details on how these tests are implemented within Topeka. For a deeper dive into Testing on Android, start reading about the Testing Tools.

What's next?

With Topeka for Android, you can see how material design lets you create a more consistent experience across Android and the web. The project also highlights some of the best material design features of the Android 5.0 SDK and the new Android Design Library.
While the project currently only supports API 21+, there's already a feature request open to support earlier versions, using tools like AppCompat and the new Android Design Support Library.
Have a look at the project and let us know in the project issue tracker if you'd like to contribute, or on Google+ or Twitter if you have questions.
Join the discussion on

+Android Developers

16 Jun 2015 5:45pm GMT

12 Jun 2015

feedAndroid Developers Blog

Updates to Unity, C++, and iOS tools for Play game services

Posted by Benjamin Frenkel, Product Manager

To further support all you game developers, we've updated our popular developer tools to give you a consistent set of game services across platforms for a better, more stable experience, with a particular focus on improvements to the Play game services Unity plugin. In addition, we added support for the Nearby Connections API, launched earlier this year at GDC, to our C++ SDK and Unity plugin.

Let's take a look a closer look!

Unity plugin feature parity and stability improvements

We've added full support for Events and Quests in the Unity plugin. If you're a Unity developer, you can now incorporate Quests into your games and take full advantage of Player Analytics natively within the Unity IDE.

We've also listened to feedback from our community of Unity plugin users and made stability improvements to Play game services Multiplayer, Saved Games, and to sign-in. You'll now have a much better experience integrating with these Play game services, with fewer crashes and glitches.

C++ SDK and Unity support for the Nearby Connections API

We have added support for the Nearby Connections API to our C++ SDK and Unity plugin. You can now easily build awesome second screen and local multiplayer experiences, like this Beach Bugging Racing example, with the development tools you are most comfortable with.

Easier and more stable iOS builds with CocoaPods

We've also made major improvements to our Play game services CocoaPods, which simplify dependency management and building App Store packages from Xcode. The CocoaPods will improve building for iOS with the Play game services iOS and C++ SDKs, and the Unity plugin. We also improved the stability of multiplayer on iOS, eliminating many of the issues around accepting match invitations.

Finally, we improved our support for iOS 8, making it easier to set up multiplayer push notifications, and fixing UI compatibility issues.

Quick links to get you started

Play game services developer page: https://developers.google.com/games/services/
Case studies: http://developer.android.com/distribute/stories/games.html

Downloads

Join the discussion on

+Android Developers

12 Jun 2015 4:45pm GMT

11 Jun 2015

feedAndroid Developers Blog

Android Developer Story: Trello Increases engagement with material design

Posted by Laura Della Torre, Google Play team

Trello is a visual collaboration tool that gives teams a shared perspective on projects. It's built around the concept of a traditional office whiteboard. Simplicity and flexibility are core to the product, so the Trello team recently redesigned their Android app using the material design guidelines to double down on that effort.

According to Fyza Hashim, Designer at Trello, material design had an immediate impact on streamlining app-design and -development at the company. She added that, "Because the guidelines are so thorough and well thought out, you don't have to go back and forth with developers."

Sharing is a key component of Trello, so material design helped continue the same cohesive design and intuitive experience on both web and mobile. This makes sharing even easier. As a result, Trello has also seen double digit growth in user engagement with more and more sessions added per week.

Watch the video where we caught up with Michael Pryor, CEO; Hamid Palo, Mobile Lead; and Fyza at the Trello offices in New York to learn more.

Material design - learn more about material design and how it helps you create beautiful, engaging apps.

Join the discussion on

+Android Developers

11 Jun 2015 5:52pm GMT