August 3, 2017

Engineering Jedi: Preparing for Android O

Android O, the upcoming OS for Android revealed at this year’s Google I/O, features many updates that developers are excited about. But you shouldn’t wait until its release to begin thinking about how O will affect your current or future apps. Let’s look at what you can prepare for right now before Android O’s release. Before you dive in, we should explain that we’re not reviewing what’s new for users here—this post is a rundown for Android developers. So let’s talk code!

We’ve divided the subject into two main sections. The first section deals with apps that target any API level and reveals changes that your app will see even without targeting Android O. The second section deals with new APIs and behavior changes when targeting Android O. Both of these sections assume that your app is running on an O device.

All links point to the Android developer preview site and are subject to change once O is officially released into the wild—we’ll update these as they change so you don’t miss out on anything.

Apps Targeting All API Levels

Important Changes

Consider the following behavior changes that will take place even if your app doesn’t target O just yet.

Other Observations

  • On O devices, Notification badges (aka notification dots) are displayed by default (on supported launchers)
  • In Android O, Developer Options > Show Layout Bounds now displays an “X” icon over the element that currently has focus

The full list of changes can be found here.


You’ll basically want to test out your app on a device with the O Preview or an emulator focusing on system behavior changes and going through all app flows. Read more on this on the Android developer site.

Apps Targeting O (API 26)

Changes requiring action

Consider the following behavior changes that you will need to handle (if they affect your app).

Background execution limits

Check out your strategy around background execution considering the following changes:

  • Apps cannot use their manifests to register for implicit broadcasts. You must register for them at runtime
  • Apps that are running in the background now have limits on how freely they can access background services
  • Wakelocks are removed when the app is backgrounded with no active components (components being an activity, service, broadcast receiver, or content provider)

By default, these restrictions are enabled when targeting O, but the user on an O device can still enable them from Device Settings even if you don’t target O.

Other Changes

  • Notification channels are mandatory. You are required to add at least one notification channel for your app. If you don’t, no notifications will be shown and the system will log an error. To see a Toast when this happens on your O test devices, turn on Settings > Developer options > Show notification channel warnings
  • Set a maximum aspect ratio. The app’s default max screen aspect ratio is no longer set to 1.86 (16:9) when you set your target sdk to 26. Make sure to set a default aspect ratio meta-data entry in your manifest and test your app on the Samsung Galaxy S8 or LG G6. Read more on this Android Developer’s blog post
  • Test any code paths in your app executing sort() and Lists.sort() due to internal changes in O
  • dns1, net.dns2, net.dns3, and net.dns4 are no longer available in O

Optional (but Recommended) Changes

The following is a list of things you are free to implement (or not) in your app. Doing these things is not required but will result in a better experience on O devices.

  • Provide hints on input views (username, password, address, etc) and mark them as important for AutoFill to help the AutoFill framework better understand your app
  • Consider supporting Picture-In-Picture mode if your app focuses on a media playback experience. Note that android:resizableActivity isn’t required to be set if you only want to support PIP and not other multi-window modes
  • Add adaptive launcher icons. Check out the AdaptiveIconPlayground app mentioned here and on GitHub to test how your adaptive icons respond to various masks and demonstrate possible animations using your adaptive icon
  • Consider adjusting your App’s UI to let the user pin app shortcuts and widgets rather than relying on the user manually adding them from their Launcher
  • If you really want to make your Chromebook users happy, consider adding keyboard navigation clusters to your views and viewgroups
  • Consider using Google’s Safe Browsing API on all your WebViews by adding a meta-data entry to your manifest

Other Observations

The full list of Android O behavior changes can be found here.


You’ll basically want to test out your app on a device with the O Preview or an emulator focusing by targeting O, addressing system behavior changes, implementing O specific features and going through all app flows. Learn more on migrating apps to Android O on the Android developer page.

Want even more insight on Android updates and their impact on brand experiences? As one of only 25 global Android Certified Agencies, we’re always thinking ahead for our clients. Ask your questions at [email protected]

June 13, 2017

Engineering Jedi: Dots, New in Android O

Though somehow missed in the Android O keynote, a big change coming to the Android O launcher is a new feature named “Dots.” From the user’s home screen, each icon can now create an icon notification. The user can access these notifications by long-pressing an icon with a dot on their home screen as seen in the following GIF.

As described by Google’s Dan Sandler at Google I/O, “We wanted to do the Android thing, and make [Dots] low-anxiety, give the user control over them, make them look nice, and orient them around our notification system.” Essentially this means that Dots are tied directly to the new Notification Channel API. So, in order to better understand how Dots work, let’s briefly dive into the new Channel Notification API.

dots notifications shown by channnel

The Google Android team has greatly enhanced the way Android O aggregates notifications. Developers are now able to access Notification Channels ranging from “Major Ongoing” to “By the Way (BTW).” Each of these ranked notifications allows the developer to carefully place notifications in the Android system drawer. As you can see, each channel is hierarchal based upon importance to the user. Mentioned at Google I/O, users care most about “People to People” when not performing an ongoing task. As such, these channels are ranked higher than “general” where everyday items should be placed. Lastly, BTW notifications should be utilized for items the user may care about, however doesn’t want to be annoyed with.

channel notifications in android dots

By the way…BTW channel notifications do not appear on the user’s lock screen, so this particular channel is a great place to put those recommended notifications or daily deal alerts. Side note: in devspeak, these are known as “channels.” However, to the user, these will be known as “categories.” Developers must specify which channel an app’s notification is published to when targeting Android O (API 26). If a channel is not specified, the notification will not be shown. Post notification, the user will be able to assume granular control over an app’s chosen channel. Once a user selects a new channel for that grouping of notifications originating from your app, that is your app’s new channel moving forward. This means an app that is abusing the “Major Ongoing” channel may get demoted to a lower channel or, even worse, uninstalled. Google has taken several major precautions to ensure these new Notification Channel API’s are not abused. To paraphrase Dan Sandler at I/O regarding notification channel abuse: “Assigning critical notifications to be tied in fate with speculative notifications will create a bad time for not only your users, but also for you.” Positive experiences are what we care most about creating here at Bottle Rocket, so be sure to consult with your UX specialist on proper categorization.

In summary, Dots and Channel Notifications are members of the same system. Developers specify which channel or channels will be shared with the Dots API. For instance, maybe your app has many channels but only one that your user should see a dot for on your home screen icon. This is precisely where that filtering will occur, at the channel level. As mentioned by Dan at I/O, “the user is in total control.” From dismissing Dots globally, to managing notifications through specific channels, even promoting or demoting channels, this new framework is to help the user get the most out of notifications on their device. Of course, if you have any questions regarding Dots or the new Notification Channel API, feel free to reach out to Bottle Rocket. We’ll get you in touch with one of our many experts to determine how your brand can best utilize the latest Android tech.

April 8, 2016

The Key to Retaining App Users

By 2017, mobile users will be providing personalized data streams for more than 100 apps and services every day. Want to be one of those 100? Karen Pattani-Hason, Head of Agency & Strategic Alliances NAM at Urban Airship, shares some tips on how to build genuine user loyalty.


5 Methods for Retaining App Users

1. Draw users in with a welcome series.

Offering users a promotion code in your app’s welcome series gets a 300% greater redemption rate than sending the same discount via email.

2. Push, but don’t be pushy.

Apps with push notifications experience 4 times as much engagement as those without, and double the retention.

3. Target your notifications.

Targeting push notifications can increase user engagement by up to 7 times. For example, even one attribute like location can boost customer response by 293%.

 4. Don’t underestimate the power of habits.

“Rituals drive value and repeat visits,” says Pattani-Hason. Just look at the Starbucks app, which has trained customers to expect a “pick of the week” every Tuesday, bringing them back week after week for something they genuinely value.

5. Align your needs and goals with your customer.

What is the value exchange in your app, and where is it happening? “Balance the give and the get,” says Pattani-Hason. “It’s not mobile first, it’s consumer first.”


Contact us today to learn more about retaining app users and increasing loyalty.


June 1, 2015

Using Push Notifications With Purpose

In the mobile applications space, the message is clear: it’s time to rethink, reimagine and revisit the ultimate purpose behind push notifications. This new paradigm has been echoed with added relevancy via recent articles on TechCrunch, The Verge, and more.

Scott Townsend, Director of Agency Programs, at Urban Airship says marketers/advertisers and consumers often work at cross-purposes. This ongoing dynamic calls for brands to up their game with mobile app development. Front and center, this includes a commitment to improve their notification strategy.

In fact, the consequences are real. Research shows consumer defection from apps at a startling clip. Townsend reports that 70% of users abandon an app within 30 days. The good news? Notifications delivered the right way can lead to 4x more engagement and double the retention.

While brands want to sell products and services, gain user profile data and more, consumers have grown increasingly irritated and have flushed apps for being too frequent, annoying, or simply irrelevant.

Even so, consumers want (even crave) mobile applications that deliver convenience, value, fun, and save them time. So where’s the sweet spot and win-win for all concerned?

Here’s a short list on what to do and what to avoid with push notifications.


Five quick takes on where push notifications are headed:

  1. No more push for push’s sake. Go beyond marketing and advertising to actually solving problems. It’s time to shift from intrusive to instructive. Let consumer behavior and preferences dictate mobile app development, not the other way around.
  2. Notifications are the new front door for how consumers will interact with their phones. Make the experience worth it. Idea: give app-only exclusives. In retail, maybe it’s a hot seller, and app users get to buy it first.
  3. Push categorization increases three fold. Too often brands and marketers use push notifications one-dimensionally: to sell or promote something. A winning push strategy features multi-dimensional messaging: we define those dimensions as educational, promotional and transactional. How does this work in practice? Start by making a good first impression. Inform your users about the type of notifications they could receive and why they matter before any promotion. In addition, let helpful transactional updates, such as order or delivery confirmations, complete the experience for your user.
  4. Goodbye silos, hello house party. Bring ALL content to bear with mobile applications. Nike Soccer leverages their entire digital asset library via their app. Because everything is in the app, Nike can quickly spot trends and create a robust user profile. All Nike campaigns now focus on downloading the app first because that’s where they can personalize your experience.
  5. Deliver ultimate value via customized, location-based, real-time interactions. Most mobile applications strive for this ideal but end up falling short. A good example is how the US Open filled unsold seats in a matter of hours. Within minutes, they went from idea to execution of a push notification. They pulled valuable user data from those who visited the ticket page or ticket booth and were within the geographic area to attend. The result? 300,000 devices reached and a 32% click-through rate to Ticketmaster.All of which shows that timely, location-specific notifications on a topic of high interest for the user will indeed move the sales needle.


Time to rethink your mobile applications notification strategy at this point? Want to get it right from the start? Ready to enlighten your users, customers, and prospects with relevant mobile moments? We can help with all that. Connect with Bottle Rocket today.

© 2020 Bottle Rocket. All Rights Reserved.