Dolby has just released a new Dolby Audio Plug-In for Kindle Fire HD and HDX that helps developers deliver even better audio to their users. Developers can now select an audio profile to optimize the sound based on the kind of audio being delivered. This means optimized audio setting for voice during your app’s dialog, and optimized settings for broad-range sound during your app’s action sequences. All with just a few lines of code you can insert into your app, no re-architecting required!
This isn’t the first time Amazon and Dolby have collaborated. Amazon and Dolby worked together on hardware and software enhancements for the Kindle Fire HD and HDX line of tablets for their launch, delivering Dolby Digital post-processing for native apps. But now Dolby has raised the bar again with Dolby Digital Plus, and the new Dolby Audio APIs for Kindle Fire. (Fear not, Unity fans. There is a Unity plug-in for you too.)
When you use the Dolby Audio Plug-in APIs, you can choose from four audio profiles to tune your sound profile to match the audio use in your app. For example, you can tune your app to use the Voice profile for dialog-heavy parts of your app, and the Game profile for first-person-shooter action. Here are the profiles you can choose from:
-Music: Applies equalization and dynamic range control to enrich instrumental and vocal quality in recorded music
-Movie: Clarifies the dialogue while providing the best representation of the full dynamic range of the program
-Game: Creates a ‘live’ space to best bring out the effect of fast-moving objects in the audio
-Voice: Customized for the reproduction of speech patterns and the tonal range of the human voice
This lets you deliver an optimized audio experience to your users, and it takes very little time to do so. Here are the high level steps to implement this API:
1. Load the Dolby JAR file and import the DolbyAudioProcessing libraries
2. Create a OnDolbyAudioProcessingEvent listener
3. Call getDolbyAudioProcessing to get an instance of the Class (only done once for lifetime of the app)
4. Wait for the app to connect to the DolbyAudioProcessing handler
5. Instantiate the audio profiles as needed to in your app (Voice for dialog heavy parts, Game for FPS parts, etc…)
6. Restore default audio behavior if your app is in the background
7. Restore default audio behavior by releasing the Dolby instance on destroy
Setting the sound profile to use at different points in your app is pretty easy (see below).
You can set profile to Music, Movie, Game or Voice as appropriate at that location in your app.
Overall, integrating the API takes about an hour and does not require re-designing any logic or workflow. It’s a small investment for a big win.
You can download the free sample apk right away so you can hear for yourself how nice this is. To download the API, you need to sign up for a free developer account with Dolby (which took me less than 30 seconds).
Dolby has done a good job of making this easy to deploy. When you download the API package, you’ll get everything you need to get started, including javadocs, a quick start guide, and sample code showing exactly how to invoke Dolby APIs. You can download the free Dolby Audio Plug-in on this page, and learn more about Dolby Developer Services on their developer home page here.
A/B Testing is about using data to challenge assumptions and test new ideas. Watch this video to hear about the “happy accident” that inspired an important A/B test we hadn’t considered and how it led to an increase in retention and monetization for Air Patriots.
Created in-house at Amazon, Air Patriots is a plane-based tower defense game for iOS, Android, and Fire OS. The development team uses A/B Testing to experiment with new ideas, so I recently I sat down with Senior Producer Russell Carroll and Game Development Engineer Julio Gorge to discuss how they used the service on Air Patriots. They described for me the design choices they tested, how the experiments were constructed, and what benefits they derived from the results.
Check out the conversation to learn how Russell and Julio’s experience on Air Patriots made them advocates for A/B Testing in every mobile app, especially those offering in-app purchase.
Closely following the launch of the A/B Testing service for iOS, Android, and Fire OS apps, we have just released an update addressing one of our most popular feature requests. You can now track up to ten goals in a single A/B test, which means you can see how your experiment affects up to ten metrics at once. This is especially powerful when the metrics aren’t entirely independent and it would be difficult to create A/B tests to isolate them from each other. Let me illustrate with an example.
Say you have a mobile game that generates revenue using a combination of in-app purchasing (IAP) and mobile ads. You know that player engagement is the key to monetization, so you decide to test a hunch that more challenging levels will keep players in the game longer.
You create an A/B test project for your app, adding an experiment that allows you to adjust the overall difficulty of each level. Since you can have up to five variations for each test (see A/B/n testing for more information), you decide to measure player engagement when the game is much harder, slightly harder, slightly easier, and much easier than normal. “Normal” will be a variation of its own, called the Control.
In this case, you create a test variable called difficultyMultiplier, which your code can access and use to modify its behavior for each user. For the control group (60% of players in this example), difficultyMultiplier is 1.00, indicating no change from the default difficulty. The other groups see a slightly different value for difficultyMultiplier, depending on how hard the game should be for those players.
To measure the effect of changing this variable, you define a view event and a conversion event, which your code records as they happen and reports to the A/B Testing service. For the purposes of this test, you consider it a view whenever a player starts a new game session. A conversion is registered if he/she plays for five minutes or more. The A/B Testing service tabulates these events by variation and reports on the conversion rate for each group of users.
Say you run the experiment and discover your hunch was right: harder levels are played longer, leading to an increase in the average amount of time players engage with your game. The logical next step would be to ratchet up game difficulty. But what if improved engagement isn’t the whole story? Changing the difficulty may affect other metrics you care about, but you can’t always tell based on a single type of conversion event. For example, how does this change the way people share their progress on Facebook, a major customer acquisition channel? How does it impact ad click-thru rates? Does it impact how users rate the game? Setting multiple goals can help you detect such unintended consequences and choose the variation that delivers balanced results.
Now that the latest version of the A/B Testing service allows a single view event to be associated with up to ten different conversion events (goals), you can measure and compare the impact of each variation along more than one axis. Each goal can be maximized or minimized independently. For example, here you are trying to maximize game sessions, in-app purchases, ad clicks, and Facebook shares while minimizing one-star reviews, all in the same experiment.
When generating reports, the A/B Testing service includes the results for all goals associated with an experiment, organized by variation. The service highlights the “best” variation with respect to each goal, so you can tell at a glance which one resulted in the most game sessions, for example (Variation C), or maximized shares on Facebook (Variation A).
When goals overlap or depend on one another, as they do here, there may be no single variation that definitively “wins” every goal. A report like the one above, however, can help you make an educated choice, weighing the trade-offs of each alternative. In this case, Variation B looks like a good candidate since it succeeded in minimizing one-star reviews and came close to winning several other goals as well. When you look at the big picture, Variation B appears to have the best performance overall.
The orange checkmarks indicate which results achieved statistical significance—that is, where there are enough measurements to be confident that the observed change is actually due to the test variation. More details are available for each individual goal, so you can drill down on the ad clicks, for example, associated with each variation:
With the addition of up to ten goals for a single experiment, the A/B Testing service expands its flexibility and becomes an even more powerful tool for refining your app and optimizing it based on customer behavior. For more information on A/B testing, multiple goals, and how you can incorporate them into your mobile app or game, check out the online documentation.
Today, we released the new developer portal that improves the look and feel of the site and helps you save time when planning, building, and submitting applications to the Amazon Appstore.
The portal refresh is designed to make it easy for you to:
1. Get Started: If you have an Android app, you can simply drop your APK in our updated testing widget to get Appstore compatibility test results in just seconds. Once your app is ready, you can create a free developer account and submit it using the Developer Console.
2. Access the Latest Amazon APIs: Download the free Amazon Mobile App SDK for access to APIs and services that can enhance your apps and games, help you monetize them, and engage your audience across Android and iOS platforms.
3. Find the Content that Matters: The new site includes a wide variety of support resources to help you through the development process including documentation, development tools, marketing tips, promotional tools, videos, case studies, blog posts and one of my favorites, a schedule of upcoming training events.
There are many improvements in the new portal, and here are a few stand-outs:
1. Streamlined App Submission
One thing that you’ll notice right away is how easy it is to check an existing Android .apk for compatibility with the Amazon Appstore. Just drag your .apk to the updated testing widget on the Home page and get results in seconds. If your app is ready to go (as most are), you can start the app submission process directly from the results page.
2. Site-wide Search
The site-wide search tool in the top navigation bar can quickly get you to the page you are looking for. Just submit the term you are looking for and it will search the site for results.
3. Complete list of APIs (with cross-platform compatibility notation)
There is now a page where you can find all of the Amazon Appstore APIs, and see their compatible platforms. In the case of the Analytics API for example, you can see that it is compatible with apps sold on iOS, the Google Play Store, and the Amazon App Store.
Also, behind each pretty icon is a page full of documentation, sample code and plug-in information for each service. (I spend a lot of time on these pages when I code.)
4. Dedicated page for Game Developers
We introduced a page dedicated to the tools and services that Game developers will find most helpful, including game engine plug-ins and cross-platform APIs that can help you maximize revenue from In App Purchasing. (you can still use these even if you’re not a game dev.)
5. Dedicated pages for HTML5 and iOS developers
Speaking of cross-platform, If you’re not an Android developer we made some changes to become more relevant to you, such as giving HTML5/web app developers their own resources page as well as building a page specifically for iOS developers who may want to take advantage of some of our Analytics tools, A|B Testing tools, or game services.
6. Resources for PC and Mac game developers
Even if you don’t program for mobile devices, we still have some great promotion programs. These are detailed on the Mac and PC page to help you submit your game to Amazon and get noticed in our Digital Games and Software store, Indie Games store and Free-to-Play Store.
7. Community resources and a calendar of events
We created a Community space, which provides you with access to our Developer Blog and Forums, and lists upcoming events and webinars, and lets you catch up on the latest tech news gathered from periodicals and blogs around the world. Check out the list of events and webinars here.
8. A Resources section (including how-to videos)
This section contains links to development tools, marketing tips, and promotional programs. Also in this section are and learning resources, which include two of my favorite resources in the site: First is the one-stop-shop for all of the how-to videos, webinar videos, and case-study videos we’ve produced. The second is the Documentation page, which contains easy links to API documentation, Kindle Fire info, dev environment setup help, app submission tips, and even marketing tips.
What hasn’t changed?
The Developer Console (the interface you use to work on app submission forms) has not changed its functionality; it has just been re-skinned. So you can add A|B Experiments, enter new IAP items and other dev console tasks just like you always have.
Take a look at our new developer portal as you build and distribute your apps with Amazon.
You may have noticed a new API on the Amazon Mobile App SDK tab in the distribution portal. When we announced Kindle Fire HD, we also made the Amazon Maps API available to our developer community.The Amazon Maps API makes it easy for you to integrate mapping functionality into apps that run on the all-new Kindle Fire and Kindle Fire HD. These new devices will also support location-based services through the android.location API.
The Amazon Maps API provides a simple migration path for developers who are already using the native Google Maps API on Android. Our Maps API offers two core features:
The Amazon Maps API is available now in beta. Apply today to get access through the Amazon Mobile App Distribution Portal, and see how easy it is to add maps to your app.