Appstore Blogs

Appstore Blogs

Want the latest?

appstore topics

Recent Posts

Archive

Showing posts tagged with Amazon Fire TV

December 23, 2014

David Isbitski

Xamarin is a cross platform development environment that leverages the power of the C# programming language and takes full advantage of native hardware acceleration. Xamarin generates fully native code for each mobile platform instead of translating at runtime.  Because Xamarin apps are built with standard, native user interface controls apps not only look the way the end user expects, they behave that way too.  Xamarin also includes a suite of tools that allow you to test, build, and analyze your apps across all of the major mobile platforms. Utilizing Xamarin you can now publish your own apps and games to all Amazon Fire devices. This includes Amazon Fire tablets, Amazon Fire phone, Amazon Fire TV and the recently announced Amazon Fire TV Stick.

Please join me in welcoming special guest Mike Bluestein, who as a Developer Evangelist for Xamarin, helps developers be successful with the Xamarin platform.  Mike is going to walk us through the steps to get your own apps and games running on Amazon Fire TV and Fire TV Stick with Xamarin Studio.

-Dave (@TheDaveDev)

Getting Started

It’s incredibly straight forward to get started with Amazon Fire TV and Fire TV Stick when using Xamarin due to its native Android support and the freely available Fire TV component.

The version of Amazon FireOS that runs on Fire TV is based on Android Jelly Bean (API Level 17), so you can take your existing Android skills and code there by just targeting API 17. In fact, without even using the Amazon Fire TV SDK, you can run most API 17 apps without much modification. This of course depends on what you use.

The Amazon Fire TV SDK Add-on is available in the Android SDK Manager via an Add-on site, as described in the Amazon documentation. Once added, it appears under API 17:

To develop with Xamarin, the Xamarin component store includes an Amazon Fire TV component, which includes support for Amazon notification and game controller APIs respectively:

However, as mentioned, API 17 will work even without using the component. Try it yourself.

  • Create a Hello World app that targets Android 4.2 (Jelly Bean)

  • Connect to the Fire TV (or Fire TV Stick) via adb:

adb connect [Fire TV IP Address]

  • Select the Amazon AFTM (API 17) from the Devices dropdown and run:

The app will deploy to the Fire TV device and you’ll be able to debug within Xamarin Studio just like any other Android application.

The Fire TV remote maps to normal Android keystroke handling. Therefore tapping the center button results in a button click in the Hello World app:

Building an app

When developing for Fire TV devices, you’ll want to design especially for it. For example, here’s a simple photo viewer of the Conceptdev Monkeys. It has adequate thumbnail size and padding around the screen edges so that the user can see it fine from a few meters away.

The user can easily navigate between monkeys using the remote. When selected a large view of the monkey is displayed.

What’s really great, from a programming perspective, is this is just Android. Therefore all your skills move forward.

Build a Game

Apps are great, but Fire TV devices really shine in its ability to bring Android games to the TV.

I previously blogged about a simple space game I made for the Fire TV Stick, using CocosSharp, where I used the remote to control the spaceship. Let’s take a look at how to extend the game to use an Amazon Fire TV controller with the GameController API.

To use the GameController API (available in the Xamarin component) you have to:

  • Forward any keystrokes and/or generic motion events to the controller.
  • Gather input from the game controller in your game loop.

CocosSharp games build upon MonoGame, which on Android uses the AndroidGameActivity. To use the game controller API, you must call GameController.Init after setting the ContentView:

In this case, we’ll be using the right joystick of the game controller to move the ship around the screen in any direction. Therefore, we need to forward generic motion events to the controller:

With this in place we can get input from the controller in the game layer and move the ship accordingly:

   

Then when we run the game, the ship moves via the right joystick:

The Amazon Fire TV family of devices and the associated SDK are fun to develop for. You can use your existing skills and resources and open the doors to a world of potential new customers!

One of the things to remember is that you’ll want to design your applications with the TV experience in mind. Applications designed for a phone won’t have a great experience on a large TV where people sit several meters away and interact via remotes and controllers, as opposed to touch. 

For additional tips on optimizing Android apps for the TV experience be sure to check out this free video and this blog post. For more information about getting started with Xamarin Studio and Amazon Fire devices, check out the following additional resources:

Mike Bluestein on Twitter

Xamarin Sample Code

Xamarin Studio

Xamarin Getting Started with Android

Xamarin Fire TV Component

Amazon Mobile Apps and Services Developer Portal

Amazon Fire TV SDK

 

December 12, 2014

Russell Beattie

Amazon Fire TV, including both the Fire TV and Fire TV Stick, now supports HTML5 web apps. The Web App Starter Kit for Fire TV is a new open source project intended to help developers get up to speed quickly creating a simple media-oriented app for this exciting new web platform. Features of the project include an example user interface designed for the 10-foot user experience, support for the Fire TV remote control, and sample components to create and customize a media app. You can find this project on its GitHub project page here.

Here's an example of a media app using video content from the recent AWS re:Invent conference:

Background

Over the summer of 2014, we ran an early-access beta program with a dozen or so web app developers who were interested in collaborating with us to bring their HTML5 media apps to Fire TV. The program was a huge success, pinpointing technical issues that needed to be resolved before we opened access to web apps to the larger developer community. One of the most important pieces of beta feedback was the request for some sort of template to target the "10-foot Experience" on Fire TV. Though web browsers have been on TVs since the mid 90s, developers have never really targeted big screens and thus there is a notable vacuum of examples, guides or code available that web app developers can use to get started.

To address this need, we decided to create an open source HTML5 web app "starter kit" that developers can use to quickly create a simple media app, ready to be customized and published in the Amazon Appstore. The project contains code developers can re-use in their apps, as well as a design template for the couch-focused user experience as well. Interacting with HTML5 via a remote control is a very different experience than that of a mouse or touch screen.

Create TV-Based Web Apps

The Web App Starter Kit for Fire TV is self-contained, open source HTML5 project for creating real-world TV-based web apps. Hosted on Amazon's GitHub account, the project is comprised of the HTML, JavaScript, CSS and support files needed to create a media browser style app.

The project is written as a simplified MVC-based web app with few external dependencies. It's been componentized so that developers can pull functionality into in their own app, such as support for the Fire TV remote, or they can decide to simply use the code "as-is" and only customize the existing app by modifying the style and image files.

Baked into the starter kit is the code needed to both provide the large screen experience consumers expect, as well as to pass Amazon Appstore testing during the app submission process. This includes support for remote control key codes, warnings before quitting the app, handlers for when the app is backgrounded, full-screen media playback, and more. At the bare minimum, the developer only needs to provide access to their media sources as a JSON document that includes a list of media files, thumbnail images, titles, descriptions and categories. The app then uses that data to display the media as a selectable list of categories and a rotating carousel of media content.

We've included documentation covering all aspects of the starter kit: A ReadMe document introduces the project, and architecture and styling guides walk developers through the options they have to use or customize the app for their needs.

Being on GitHub also opens the opportunity to both improve the documentation as time goes on, as well as receiving "pull requests" from those in the developer community who wish to help improve the starter kit in the future.

Getting Started

Let's run through the basic steps in getting a media web app up and running using the starter kit.  (See the documentation on GitHub for full details.) For an introduction to Web Apps on Fire TV be sure to read our other blog post, Publishing HTML5 Apps to the Fire TV.

First, you'll need to grab the code from the Amazon GitHub repository using git - the open source version control system. (If you haven't learned how to use git yet, GitHub has a great online tutorial which will walk you through the basic steps, or you can download one of their easy to use GUI clients.)

Local Web Server. Once you've cloned the repository to your system, you'll need to launch a local development web server to test it out. This can be done through various means, including using either Python or Node.js. Open a terminal or command line, and change into the base directory of the project, and use one of the following methods to create a local web server:

Using Python, create a simple HTTP server with this command:

Using Node and NPM, install the Serve package, then create the server:

Web App Tester. Though we can do development using our desktop browser by navigating to http://localhost:3000, you'll want to see what the app looks like on a big screen powered by a Fire TV device. To do that, we'll be using the Web App Tester to view the content. The Tester is an app provided by Amazon which you can install on your Fire TV. It lets you test your web app on a real-world big screen before you submit the app to the Amazon Appstore.

Once you've installed the app, note the IP address of your computer where you are serving the starter kit's content, then navigate to http://your-local-ip:3000, highlight the Test button and press select and the sample app will be displayed .

Customize Your App

Now that you have the starter kit installed and running, you will want to customize the look and feel of the app as well as provide your own content to populate the video list and category list. Below are the files you'll need to change.

Logo. To modify the logo, use your favorite text editor to open the index.html file found in the root of the project and search for the "app-logo" class. This is where you will add the URL to your new logo.

Later, once you are familiar with the design of the web app, you can modify more of the HTML to better reflect your content or brand. Again, the documentation provided with the starter kit will point out the overall architecture of the project.

Look and Feel. The project's CSS file is automatically generated from a Sass template found in the root of the project called firetv.scss. Check out the Sass website for info on how to install and use sass templates. Rather than needing to go through the entire CSS file looking for things to change, there is a variable file called _variables.scss which allows you to change the fonts, colors, etc. of the app by simply changing the values used in the main Sass file. Once you have modified the variables, you'll need to generate a new CSS file to be used by using Sass from the command line:

You can find more details on how to style an app in the project's documentation.

Content. The last step to creating your first big screen web app for the Fire TV is to create a JSON file with the details of your media content, providing the file names, URLs and meta data needed. A sample JSON file can be found in the ./assets folder of the project and can be modified, or the URL can be changed completely by editing the index.html page to change the settings.dataURL value.

The JSON file contains an array of these basic fields:

Note:

  • The URL fields (imgURL and videoURL) can be local files or external resources.
  • The categories field is an array of topics used for filtering videos, which will be automatically grouped and displayed in the main menu of the app.

For more information about the JSON format and other architectural questions, check out the project's documentation. To find out more about developing web apps from scratch for the Fire TV, check out the Developer Portal's Getting Started with Web Apps for Fire TV, which has lots of useful information and notes you should be aware of.

Submitting your app to the Amazon Appstore

Once you've customized the Starter Kit and have your Fire TV web app created, you can publish it to the Amazon Appstore within minutes - without having to do any native development. Developers have a choice of either hosting the app's asset files on their own web server and submitting just the URL, or uploading the assets to Amazon's servers, where it will be bundled into a standalone packaged app.

Follow the steps below to submit your web app:

1. Create a Free Amazon Developer account. 

2. Go to the New Web App Submission page and provide details about your Fire TV web app:

  1. General Information (title, category, support details, privacy URL)
  2. Availability and Pricing  (release date and base list price)
  3. Description
  4. Images and Multimedia (screen shots, icons)
  5. Content rating

3. Choose whether or not to submit a hosted web app or a packaged web app. (In this case, the latter).

4. Upload the web app files (HTML, JavaScript, CSS, content files/resources) as a zip file.

5. Choose both the Fire TV and Fire TV Stick in the Device Support section.

6. Submit!

For information on submitting both hosted and packaged apps, see Submitting or Updating Your Web App to the Amazon Appstore

Summary

The Web App Starter Kit for Fire TV is just in its beginning stages, so if you have any questions, suggestions, or (most importantly) pull requests, please use the Amazon GitHub project page to send them to us. We really look forward to seeing all the cool new media apps created by web developers!

Related Links

 

December 10, 2014

Jesse Freeman

Today we are announcing full support for publishing HTML5 apps to  Amazon Fire TV and Fire TV Stick as part of our existing HTML5 web app publishing toolset. This now opens up a new opportunity for web developers to publish HTML5 powered apps to the living room. In addition, developers with web apps already published to Fire tablets and Fire phone will now be able to release their existing hosted web apps on the Fire TV family of devices using the same workflow they are already using. To help support web apps on Fire TV devices we have made additions to the Amazon WebView, which powers web apps on our platform, to give developers access to the following features:

  • Support for the Amazon Fire TV and Fire TV Stick Remotes
  • Support for analog input from the Amazon Fire TV Game Controller and other gamepads.
  • Access to our In App Purchase (IAP) API via JavaScript
  • A new starter template app optimized for 10 foot experience for creating Fire TV HTML5 media apps

By adding full support for Fire TV devices, developers can publish the same web app across all of our Fire devices and take advantage of the great performance enhancements the Amazon WebView offers.

Powered by the Amazon WebView

The Amazon WebView supports everything you have come to expect from the mobile version of Chromium. This includes WebGL, GPU optimized CSS3 Transition and fast JavaScript code executionWeb developers can now sell their web apps at a premium price, use IAP (via our JavaScript API), and have their app distributed right alongside native Android apps and games.

HTML5 Apps on the TV

In addition to our launch partners, we are excited to see what developers come up with to help push HTML5 forward onto the big screen. Through the Amazon Appstore on Fire TV devices developers can now deploy web apps and games to a whole new audience. HTML5 is a great cross platform choice for developers and we are now enabling them to reach even more customers than before. While traditional media apps make sense on the Fire TV, we are also looking forward to seeing HTML5 games and media apps evolve on this new platform. With support for WebGL, Gamepad API and accelerated canvas, high quality web games can now run on the TV. This opens up an entirely new world to HTML5 game developers hoping to build console quality games with the tools and frameworks they currently use to reach millions of web and mobile web gamers every day.

Getting Started

Bringing your web app to Fire TV is easy.  If you already have an app optimized for the 10-foot experience, you can get started by downloading the Web App Tester from the Amazon Appstore on your Fire TV or Fire TV Stick. Once installed, you simply enter in the name of your app and its URL online.

Likewise, you can also supply a .zip file to package up your app by following these instructions. After all the details are supplied, you can see how your web app will run on the Fire TV via the preview option.

If you are looking to get started building Web Apps for Fire TV or Fire TV stick, we have also provided an open source template on GitHub. Make sure to check out the online documentation that will walk you through everything you need to know about publishing HTML5 apps to the Fire TV family of devices.

Related Links

- Jesse Freeman (@jessefreeman)

 

November 10, 2014

Corey Badcock

Vision Mobile recently shared a new chart showing a higher percentage of Amazon Fire developers above the app poverty line versus other platforms. More specifically, 59% of developers distributing their apps on the Amazon Appstore make more than $500 per month versus <50% on other platforms. Tweet: 59% of #devs distributing #apps to Amazon #Appstore make more than $500 per month versus <50% on other platforms http://ctt.ec/9Y1Z3+ The chart also showed that developers continue to experience increased monetization in the Appstore - Amazon had a bigger proportion of developers making $5,000+ a month compared to developers on other platforms. Tweet: #Amazon #Appstore had a bigger proportion of #developers making $5,000+ a month compared to #devs on other platforms http://ctt.ec/05hxK+ We’re excited to see developers like you expand their reach and monetize apps through the Amazon Appstore.

VM Graph

Today the Amazon Appstore is available on more than just Fire devices including the all-new Amazon Fire TV Stick. The Amazon Appstore for Android is also pre-loaded on BlackBerry 10 devices and carriers including O2, EE, Deutsche Telecom and others on millions of Android devices. This wide reach gives your app access to even more customers. Plus, the latest Amazon shopping app fully integrates apps and games into the shopping experience enjoyed by millions of customers. So when customers are searching for products in the Amazon shopping app, they’ll also discover relevant apps and games that they may also enjoy.  Here’s what some developers are saying about their experience with Amazon:

“When we compared our 2014 data, we noticed that ARPU on Amazon was 70% higher than on Android and 15% higher than on iOS”. Tweet: “When we compared our 2014 data, we noticed that #ARPU on Amazon was 70% higher than on #Android and 15% higher than on #iOS”. @AmazonAppDev                                                                         

– Elad Kushnir, VP of Business Development at Playtika

 

“The Average Revenue Per Download (ARPD) on Amazon is actually higher than on Android.”Tweet: “The Average #Revenue Per #Download (ARPD) on #Amazon is actually higher than on #Android.”  @AmazonAppDev   

– Jean-Baptiste, CEO at DJIT

Check out the infographic below to learn more about where your apps will be available once you distribute them on the Amazon Appstore then get started and submit your apps here.

P.S. The holidays are the best time of the year to submit your apps. Read our latest blog post to learn more: Three Important Stats About Holiday Device Sales

 

 

October 29, 2014

Jesse Freeman

With the launch of the Amazon Fire TV stick, there has never been a better time or more developer friendly device to realize your own dreams of building apps for the living room. And, with an incredibly low price point of $39, it is one of the most affordable devices on the market for creating apps and casual games intended for the big screen. The best part is if you are already building for Android, especially Fire TV, the Fire TV stick is another great platform to help grow your audience.

In the following post we’ll cover how to get started, optimizing for Fire TV Stick as well as the hardware/software differences between the Fire TV Stick and Fire TV to help make your apps and games run great on both devices.

Android Developers Can Easily Tap into New Audience

Now is the perfect time for Android developers to get into the growing streaming device segment with their existing Android app or create something entirely new, designed specifically for the Fire TV Stick. In addition to media-centric apps, casual games that feature local multi-player options are also becoming very popular on these types of devices.  

Android developers will find that developing for Fire TV Stick is familiar, and optimizing their apps for the new controllers and TV display will not require learning a new language or new frameworks. Fire TV Stick runs Fire OS, which is based on Android. This means that it is easy to bring an Android APK to Amazon devices, including Fire TV Stick. Amazon Fire TV Stick offers Android apps a potentially new set of customers to engage with – all through the same Amazon Appstore.

Click here to download the Fire TV SDK and learn more

Getting Started is Easy

If you are already building Android apps and games, chances are you have everything you need to get started. Simply connect over WIFI with the Android Debug Bridge (ADB) and either manually push your APK via the command line or use your IDE of choice to push the build for you. We support a range of IDEs including Android Studio, Unity, or other IDEs that can create an APK. While most APKs will work without any changes, there are a few things you should keep in mind:

In addition to the SDK and documentation, publishing to the Amazon Appstore is free, so if you have an app you think would be great for Fire TV stick, get started testing and submitting it today!

Optimizing Fire TV Apps For Fire TV Stick

Do you already have a Fire TV app? Well the good news is that your existing Fire TV app should run on Fire TV stick. The biggest things to keep in mind are the subtle differences in specs between the two devices. While the Fire TV Stick is incredibly powerful, given its size and price point, you will still want to test and optimize existing apps and games to account for the hardware performance differences from the Fire TV. For existing Android developers, you are probably already familiar with having to support difference devices ranging in performance, so your normal testing process should still apply here. To help, here are a few things to keep in mind:

  • Less available RAM (1GB split between video and system memory in SD02, 2GB in Fire TV)
  • Broadcom Dual Core 1 GHz Cortex A9 CPU (versus Qualcomm Quad Core Krait 300 in Fire TV)
  • Broadcom VideoCore IV GPU (versus Qualcomm Adreno 320 in Fire TV)

Looking for some more details on the differences between the Fire TV stick and the Fire TV? Below you will find some of the important specs between both systems to help you better understand how to optimize your Android app for the Fire TV stick.

Fire TV Stick Remote

The most important thing you'll need to know is that the new Fire TV stick has its own dedicated remote with same buttons as the standard Amazon Fire TV voice remote. Here is button layout:

All of these buttons can be accessed via stranded Android key press events. For more information, check out the Fire TV input documentation.

Likewise, you can also detect which Fire TV platform you are on or the name of the attached remote/controller via the following properties:

Item

Amazon Fire TV

Amazon Fire TV Stick

android.os.Build.MANUFACTURER

"Amazon"

"Amazon"

android.os.Build.MODEL

"AFTB"  (Fire TV only) 
 
"AFT*" (all Fire TV devices) 
 
"AFTM"  (Fire TV Stick only) 
 
"AFT*" (all Fire TV devices) 
 

Input Device Name (Fire TV remote)

"Amazon Fire TV Remote"

"Amazon Fire TV Remote"

Input Device Name (Fire Game Controller)

"Amazon Fire Game Controller"

"Amazon Fire Game Controller"

Fire TV and Fire TV Stick Hardware

Here is a summary of the main differences between the Fire TV and Fire TV stick's hardware and specifications. One thing to point out while optimizing your app or game is that on the Fire TV stick the 1 GB of RAM is split between the system and the GPU. Also, while 720p is listed as a supported resolution, you should simply build for 1080p (xhdpi) and the Fire TV OS will downscale to 720p for you automatically.

Item

Amazon Fire TV

Amazon Fire TV Stick

Screen resolution (px)

1920 x 1080 (1080p)

1280 x 720 (720p)

1920 x 1080 (1080p)

1280 x 720 (720p)

Density (dp)

320 (1080p)

213 (720p)

320 (1080p)

213 (720p)

Density Identifier

xhdpi (1080p)

tvdpi (720p)

xhdpi (1080p)

tvdpi (720p)

Storage

8GB

8GB

RAM

2GB

1GB (512MB system, 512MB video )

System on Chip (SoC) Platform

Qualcomm Snapdragon ARMv7

Broadcom BCM28155 (Capri)

CPU

Qualcomm Quad Core Krait 300, up to 1.7 GHz, 2MB L2 Cache (APQ8064T)

Dual Core 1 GHz Cortex A9

GPU

Qualcomm Adreno 320, 400 MHz

Broadcom VideoCore IV GPU/VPU (Capri VC4 device)

Networking: WiFi

802.11 b/g/n; 2x2 MIMO

(2.4 GHz & 5.0 Ghz dual band)

802.11 b/g/n; 2x2 MIMO

(2.4 GHz and 5.0 GHz dual band)

Networking: Ethernet

10/100 Base-T

No

Bluetooth

Bluetooth 4.0

Bluetooth 4.0

Device OS/Platform Software

Amazon FireOS 3.0; Based on Android 4.2 (Jelly Bean), API Level 17

Amazon FireOS 3.0; Based on Android 4.2 (Jelly Bean), API Level 17

 

Fire TV platform software v1.1

OpenGL Properties and Limits

The following table shows the OpenGL properties and limits for the Fire TV and the Fire TV Stick for 3D games and graphically intensive effects in your app.

Item

Amazon Fire TV

Amazon Fire TV Stick

GPU

Qualcomm Adreno 320, 400 MHz

Broadcom VideoCore IV GPU/VPU (Capri VC4 device)

OpenGL Version

OpenGL ES 3.0 V@66.0 AU@04.04.02.052.050 (CL@)

OpenGL ES 2.0

MAX_TEXTURE_SIZE

4096

2048

MAX_CUBE_MAP_TEXTURE_SIZE

4096

2048

MAX_RENDERBUFFER_SIZE

4096

2048

MAX_VERTEX_TEXTURE_IMAGE_UNITS

16

8

MAX_TEXTURE_IMAGE_UNITS

16

8

MAX_COMBINED_TEXTURE_IMAGE_UNITS

32

8

MAX_VERTEX_UNIFORM_VECTORS

256

300

MAX_FRAGMENT_UNIFORM_VECTORS

224

300

MAX_VERTEX_ATTRIBS

16

8

MAX_VARYING_VECTORS

16

8

MAX_VIEWPORT_DIMS

4096 x 4096

2048 x 2048

What Are You Going to Build?

As a child, growing up playing on home consoles, my dream was to always make games for the TV. Now with affordable and easy to developer for devices like the Fire TV Stick and of course Fire TV it’s never been easier for developers to realize a similar dream. You no longer need expensive dev kits and complicated coding languages to build your first app or casual game for the TV. The only question is what will you build? To help you get started, check out the links below in the resource section to realize your own dreams of building experiences for the living room.

Additional Resources

- Jesse Freeman (@jessefreeman) is a Developer Evangelist at Amazon focusing on HTML5 and Games for the Amazon Appstore.

 

October 27, 2014

Jesse Freeman

Less than seven months ago, Amazon introduced Amazon Fire TV, and it quickly became the best-selling streaming media box on Amazon. Today, Amazon is bringing the same experience customers love about Amazon Fire TV—ease of use, great performance, and vast selection—to a smaller and even more affordable device.

Introducing Fire TV Stick, a tiny stick that connects to the HDMI port on your HDTV for instant access to movies, TV shows, music, photos, apps, and games. Fire TV Stick is just $39 and is available for pre-order starting today at www.amazon.com/fire-tv-stick and will ship November 19.

As a thank you to Prime members, Fire TV Stick is available for two days only for just $19 on Amazon.com. Customers who are new to Prime can sign up for a free trial and also receive this special price. Eligible customers get a free 30-day trial of Netflix and Amazon Prime when they purchase Fire TV Stick.

The Most Powerful Streaming Media Stick

The Amazon Fire TV Stick has serious hardware specifications. Included inside of its streamlined thin case are a dual-core processor, 1 GB of RAM, 8 GB of storage, dual-band, dual-antenna (MIMO) Wi-Fi, support for 1080p HD video and immersive audio with Dolby Digital Plus surround sound. At its core, the Fire TV Stick is simple to set up and easy to use, just plug it into a HDMI port on your HDTV and you're ready to run apps and casual games like Monsters University, Ski Safari, and Flappy Birds Family in minutes. The Fire TV stick even comes with its own dedicated remote and of course you can also connect the optional Amazon Fire Game Controller.

Click here to learn more about the Fire TV Stick.

Android Developers Can Easily Tap into New Segment

Now is the perfect time for Android developers to get into the growing streaming device segment with their existing Android app or create something entirely new, designed specifically for the Fire TV Stick. In addition to media-centric apps, casual games that feature local multi-player options are also becoming very popular on these types of devices.  

Android developers will find that developing for Fire TV Stick is familiar, and optimizing their apps for the new controllers and TV display will not require learning a new language or new frameworks. Fire TV Stick runs Fire OS, which is based on Android. This means that it is easy to bring an Android APK to Amazon devices, including Fire TV Stick. Amazon Fire TV Stick offers Android apps a potentially new set of customers to engage with – all through the same Amazon Appstore.

Click here to download the Fire TV SDK and learn more.

Millions of Customers: Fire Devices, Android Devices, and Blackberry

The Amazon Appstore has never been available on a broader selection of devices and platforms.  Fire TV Stick is the newest addition to the Fire device family that includes recently released Fire tablets, Fire phone and Fire TV.  The Appstore is preloaded on all Fire devices, so when a developer submits their app to the Appstore they have the opportunity to reach customers no matter where they are and what device they’re using.

The Amazon Appstore for Android is also pre-loaded on millions of Android devices and hundreds of thousands of Android customers have already downloaded the Appstore on their own. We recently announced that the Amazon Appstore is preloaded on BlackBerry 10 devices throughout the world, giving developers access to even more customers. Plus, the latest Amazon shopping app fully integrates apps and games into the shopping experience enjoyed by millions of customers. So when customers are searching for products in the Amazon shopping app, they’ll also discover relevant apps and games that they may also enjoy.

Take Advantage of the Holiday Season Sales Spike

Fire TV Stick is launching just in time for the holiday shopping season. Amazon device activations historically surge during this period. According to Flurry Analytics, Christmas sees the highest number of device activations for Amazon—24 times the number for a typical December day in 2013, a bigger bump than other major tablet and smartphone manufacturers—so now is the time to develop a new app or bring your existing Android or web app to Fire tablets, Fire TV, Fire phone and Fire TV Stick.

Click here to submit your Android app or game.

Now is the Time to Submit Your App for Fire TV Stick

Reach new customers and expand your reach to the living room with Fire TV Stick.  Submit your app now to make sure it’s available when Fire TV Stick launches November 19th.

Additional Resources:

October 21, 2014

Lauren Stark

In the London are area? We'll be at two events later this month in your area. Meet 1:1 with developer evangelists, get answers to your technical questions, participate in the Appstore Port-a-Thon, get a demo of Fire TV, and learn how to port your desktop and mobile games to the living room.

Amazon Developer Day: Bringing Apps to the Living Room

Fire TV will be available in the UK this Thursday, and the Appstore team is hosting a free developer day at our London office on October 29th centered around bringing apps to the living room.

The Amazon Appstore Developer Day is designed to give you the essential tips, tricks and tools to distribute your app to Amazon customers. At the end of the afternoon, you will be able to publish your Android app directly to the Amazon Appstore.  At the event, our technical representatives will be on hand to provide support, answer your questions, and help you troubleshoot any issues.  We’ll have extra devices on-hand for you to use for testing.

Plus, we'll be giving away 2 tickets to Droidcon London and a Fire TV!

 

When: Wednesday, October 29, 2014 from 12:30 PM to 5:00 PM

Where: Amazon UK Offices at 60 Holborn Viaduct, London

Learn more and register: https://amazonappstoreuk.eventbrite.com

 

Droidcon London: Come Publish Your App

On October 30th and 31st, you can catch the team at Droidcon London.

Stop by our booth and experience the Fire Phone, Fire TV and Kindle Fire. Bring your APK and publish your app on the Amazon Appstore in as little as two hours! An Amazon evangelist will be on hand to help check compatibility and answer any questions about publishing your Android app on the Amazon Appstore. It’s easy and usually no changes are necessary because 75% of the apps we’ve checked just work! Each developer will be entered to win an Amazon device upon submission.

You can also hear our evangelist Paul Cutsinger talk about Responsive Game Design and Bringing Desktop and Mobile Games to the Living Room or try your hands on the Fire TV at the Droidcon Gaming Zone.

If you haven’t registered for Droidcon, use promo code AMAZON-DROIDCON-2014 and get 25% off.

 

 

September 18, 2014

Nathan Lam

A common theme that developers often face is deciding which platform they should make their apps available on next. Are the users on this platform engaged enough? Will I be able to make money on this platform? These are only some of the questions that developers face, before investing their time on transferring their apps. For Playtika, a company which builds highly immersive social games, expanding their apps onto as many platforms as possible has become a core strategy.

Playtika’s app Slotomania currently holds the #8 spot worldwide for highest grossed mobile app on iOS and Android. In addition to iOS and Android, Playtika has also launched on the Amazon Appstore, which has proved to be a big success. According to Playtika, the Amazon Appstore provided the team with the highest ARPU (average revenue per user) compared to other platforms and also contained the highest retention rate amongst its competitors. Recently I had the chance to sit down with Elad Kushnir, VP of Business Development, to discuss how their apps were doing in the Amazon Appstore and their experience working with Amazon.

Amazon Appstore offers 70% higher ARPU compared to Google Play and 15% higher than iOS

“The Amazon Appstore does not only make the migration easy from an existing Google Play app, but it also has outperforming KPI’s as well.” says Elad. The team has seen some impressive results since their app has gone live in the store and have done fairly well for themselves in terms of revenue. “When we compared our 2014 data, we noticed that ARPU on Amazon was 70% higher than on Android and 15% higher than on iOS”- Elad Kushnir

 The team credits the unique audience that Amazon brings in and how engaged they are. “When we looked at retention rates for 2nd day and 7th day metrics, the retention was relatively the same across all platforms. However on the 30th day, retention on Amazon Appstore was 10%-20% higher than on iOS and Google Play.” Says Elad.

Playtika Sees 150% Higher Conversion Rates from Players to Payers on the Amazon Appstore Compared to iOS and 170% compared to Google Play

Getting users engaged is only half the battle. With a free app like Slotomania, conversion rates (paying users/ DAU) is crucial in terms of making revenue which is why Playtika is using Amazon’s In-App Purchasing API. So how many of these users are actually purchasing within the game? From Playtika’s data in 2014, they determined that the average user on the Amazon Appstore is 150% more likely to become a paid user than on iOS and 170% more likely than Google Play.

Figure 1In-App Purchasing

From Google Play to Amazon Appstore with Little to No Work

When the team came together to decide on their next platform, they chose the Amazon Appstore immediately. So why did the team decide that Amazon Appstore was the right choice?

“When we were deciding on our next platform, we already had our app on Google Play. We realized that moving our app from Google Play to the Amazon Appstore would be pretty easy since Fire OS is built on Android. Once we started, we got our apps up and running in a couple days and the process itself was seamless. The best part was that it had relatively low development costs.” – Elad Kushnir

From previous tests, we actually found out that more than 75% of the Android apps we tested just work on Kindle Fire with no additional development required. The team has now launched several of their games on the Amazon Appstore and are working on the getting the remaining ones up and running within the next year.

Moving into Fire Phone and Amazon Fire TV

Moving forward Playtika plans to take their apps to the next level by getting them onto Amazon’s newest devices. Their current focus is to get their app on Fire, in which their team is already planning on integrating Fire’s exclusive feature, Dynamic Perspective. In 2015 Playtika is planning to also have their apps on Amazon Fire TV. For now, the Playtika team tells us that they are very happy with how things are going and plan to release even more apps on the Amazon Appstore in the near future.

Learn More about the Tools Used by Playtika

September 09, 2014

Paul Cutsinger

AWS re:Invent is sold out!  This is going to be the biggest AWS re:Invent yet. This year’s conference will feature three tracks of content to help mobile app and game developers build apps, engage customers and monetize more effectively. 

Here are 6 reasons you should check out AWS re:Invent 2014:

Launch Your Own Start-up at AWS re:Invent

In 2013, five start-ups launched at re:Invent in a session emceed by Amazon CTO Werner Vogels, and we’re doing it again this year.  If you’re in stealth mode, you can use re:Invent to launch your AWS-powered mobile app or game to the world.  If you’re already launched, you can announce a new major feature on stage with Amazon CTO Wener Vogels.  The application deadline is 5:00pm PST on September 30thapply today.

Deep Technical Content

AWS re:Invent is a learning conference with breakout sessions covering a broad range of topics and technical depth. All sessions will be delivered by subject matter experts, engineers, or expert customers who can share their real world experiences and lessons learned.  Want to get a taste of what to expect?  Check out the 2013 re:Invent recap featuring sessions on mobile game architectures, and coding tips to help you distribute your HTML 5 apps on mobile devices.

Amazon Fire Device Track

Come learn from customers and Amazon experts how to create Fire phone, Fire TV and Kindle Fire apps. We’ll go into depth on how to create applications that react to customer actions with Fire phone’s Dynamic Perspective and Firefly technologies. You’ll also hear how to reach new audiences with Fire TV. Top mobile developers will share their tips on monetizing and you’ll get behind-the-scenes details from the Amazon engineers who build our technologies. You can see a full list of tracks here.

Gaming Track

In this track, you’ll learn how AWS services can enable you to scale your game from 1,000 to 1,000,000 players. We will cover common features such as leaderboards, game analytics, asynchronous gameplay, online multiplayer servers, multi-region deployments, and cloud streaming. Game companies using AWS to power their games will share best practices. Click here to see the full list of tracks.

Mobile & Connected Devices Track

Whether you are a mobile developer, a connected device solution builder, or a business trying to be “Mobile-first”, AWS can help you to build fast and scale more easily. The Mobile & Connnected Devices track will give you a detailed look at services like our cross platform mobile push notification and Amazon Mobile Analytics and improve customer experience across platform. We’ll have examples from companies that have already used AWS to power their mobile apps to share their lessons learned.  Click here to see the full list of tracks.

Hackathon: Help Non-Profits Solve Big Problems

Start your AWS re:Invent experience early.  On Tuesday November 11 from 8:00am until midnight, join developers, AWS engineers and Amazon mobile app experts to hack on big problems in support of a worthy cause.  Bring your team, we’ll provide everything you need to get started. Space is limited – only 200 hackers allowed – so register today to reserve your spot.  We’re doing this 24 hours before the first keynote, so don’t worry – you won’t miss anything!  Click here to learn more.

Sign Up for the Live Stream

Join AWS re:Invent from the comfort of your home or office. We are live streaming our keynotes and selected breakout sessions on November 12 and 13. Watch the keynotes and hear the latest announcements from AWS executives and key customers.

@PaulCutsinger

 

 

 

 

August 04, 2014

Peter Heinrich

Fire TV is the perfect platform to showcase your Android game in a whole new way: through the home theater. With a Qualcomm quad-core Krait 300 CPU, Adreno 320 GPU, 2 GB RAM, Dolby Digital Plus Certified surround sound, and support for multiple game controllers, Amazon Fire TV packs a lot of power and features into a small package.

Game Catalog Growing Fast

Some of the most entertaining and recognizable game titles are already available on Fire TV, with more favorites launching every day. Shiny Box recently released a Fire TV version of its hit role-playing game Dungeon Quest, as did Disney with Castle of Illusion Starring Mickey Mouse. Other game makers, large and small, are also bringing their best games to the new device. Grand Theft Auto: San Andreas (Rockstar Games), The Wolf Among Us (Telltale Games), SoulCraft (MobileBits), The Bard’s Tale (inExile Entertainment), and Transworld Endless Skater (SuperVillian Studios) are just a few examples.

Huge Potential

It’s no wonder Fire TV is generating excitement among game developers. Fire TV offers a unique opportunity to reach more customers, making your games accessible on the largest and most prominent screen in the home. The high-performance Fire TV hardware is designed to make your game’s “ten-foot experience” look, feel, and sound great.

Built-in support for up to four game controllers (with extended support for up to seven) lets you engage the whole family in your multiplayer game. Add an alternative “second screen” interface to your game for an even richer and more immersive multiplayer experience.

Fire TV also supports Whispersync for Games, so you can ensure player progress is always safe and synchronized. Players can pick up your game right where they left off, even if they started playing on some other device, like a phone or tablet.

Easy Development

Fire TV is built on Android, so creating games for the living room is as comfortable and familiar as the mobile development you do today. Optimizing an existing Android game for Fire TV is also straightforward, so you can get the most out of the hardware—and guarantee the best player experience—with little effort. It’s easy to get started.

See our online documentation for information and tips on programming for the Fire TV remote and game controllers, ensuring your game will look its best on an HD TV, and using ADB to debug your APK with Fire TV. You can also learn about responsive game design, which makes it possible to develop games that scale across desktop, mobile, and TV.

Games and More

Games aren’t the only apps to benefit from Fire TV’s raw horsepower and programming flexibility. Music, Photography, News & Weather, Sports, and Entertainment are just a few of the categories growing fast as app developers expand into the living room. MLB.TV (MLB Advanced Media) and WWE Network (WWE) are excellent examples of mobile apps looking great for the 10-foot experience.

Take the Next Step

Fire TV has the power to make your Android games shine on the big (home) screen; take advantage of the opportunity to publish them directly to the living room. Check out our online documentation and blog posts about developing for Fire TV.

-peter (@peterdotgames)

 

May 29, 2014

Mike Hines

Amazon Fire TV offers an exciting opportunity for game developers to reach more customers, by making your apps and games accessible in the living room.

This quick video will give you an overview of Amazon Fire TV.  It will cover how Fire TV can help Android developers (big and small) increase their customer base, how to monetize on Fire TV, how to optimize for a 10-foot experience, and cover how to qualify for 500K Amazon Coins ($5,000 value) for promotion for each of your qualifying paid apps or apps with in-app purchasing.  For more information about getting started with Amazon Fire TV, see our online documentation:

 

May 08, 2014

Paul Cutsinger

Ready to test your app on the Amazon Fire TV? This video shows you how to enable the device for ADB debugging and side load your app. You can learn more about developing for the Amazon Fire TV here and get the SDK here.

 

April 30, 2014

Jesse Freeman

One Game, Everywhere

Gone are the days where you can make a game and publish it to a single platform and expect to be successful. Like any business that sells consumer products, you need to go where the people are. That means the games you make should run on a multitude of different platforms and accept any number of different input types. There’s also one more catch: your players expect to be able to share their game data across all of these different platforms, especially if they are paying for your game multiple times. With that in mind I have outlined what I call “responsive game design,” which is modeled loosely after some of the core concepts of responsive web design. It’s also a framework that will help you think about enabling your games to scale across multiple platforms.

Applying Responsive Design Concepts To Games

On the web, responsive design is a set of guidelines and best practices that help websites scale from desktop to mobile. Web developers discovered early on that it was too difficult to maintain separate designs for desktop and mobile so this solution allows a site to re-adjust to any resolution based on a set of ideal screen sizes. While responsive design on the web focused solely on adapting a site’s visual design based on common viewports, the notion of responsive game design builds on this concept to include other key aspects you need to consider when making multi-platform games.

Responsive game design can be summed up in the following key requirements:

  1. Game graphics and UI support multiple resolutions
  2. Game mechanics work across multiple types of input
  3. Publish to multiple platforms with the same codebase
  4. Saved data is synced across all platforms

While most of these are already best practice for games in general, the collection of them represent a guideline for game designers moving forward to help reach the broadest audience possible.

1. Scaling Game Visuals Across Different Resolutions

If you come from desktop game development this is not going to be a big shock to you since it’s common practice to support multiple-resolutions and varying computer performance. While mobile development is relatively new in this space, over the past few years, mobile device resolutions have tended to normalize around a few key aspect ratios (3:2, 4:3 & 16:9) allowing the same desktop game concepts to be applied:

  • Build for aspect ratios not fixed resolutions
  • Create simplified, dynamic UI that can adapt to different resolutions
  • Have degradable graphics that can adapt to the power of the device

It’s also important to note that optimizing a game’s graphics goes well beyond just the resolution. Each system has different performance so being able to dynamically scale the game’s visual effects across these different platforms is critical as well. Especially when dealing with high pixel density displays, you could actually end up pushing incredibly high resolutions on devices that can’t fully support them. Also you may need to tone down specific special effects on mobile verses desktop or perform special optimizations when going to TV to account for slower display refresh rates. Make sure that you take into account these limitations and plan accordingly.

2. Supporting A Single Control System Across Different Input Types

A single game can support three types of input (mouse + keyboard, controller and touch) based on the device they are on. While thinking through each of these inputs, game designers should consider how their game will work going from desktop to tablet to phone and TV. Will the controls hold up on a system without physical buttons or should the gameplay be simplified a bit to account for the lowest common denominator?

It’s completely possible to have games work with a single input mechanic but a lot of planning and consideration must go into the overall design of the game. Most devices accept a game controller at this point so while not ideal, players can still plug one in if virtual controls are too frustrating. It’s especially important to take into account that not everyone who plays your games will have access to a controller. The Fire TV ships with a remote by default so if you want to capture the largest audience possible you’ll want to make sure you support the remote out of the box. You can still publish a controller only game but keep in mind that each input limitation you place on your game shrinks your potential audience accordingly.

3. Publishing a single game from the same codebase.

For years, developers had leaned on C++ as a cross platform solution to making games that work across multiple platforms. A successful port could be anything above 50% core reusability. I still know developers who build their own game engines that allow them to manually port from platform to platform but that process can be time consuming and if you are a small indie developer, the additional bug testing time may not possible to maintain across all the devices you want to support. That is why it is critical to find a cross publishing solution you feel comfortable with.

The most popular game engine today for indies is Unity 3D. From there other solutions, which grow in complexity, are Unreal Engine, CryEngine. There also some smaller more specialized game engines like GameMaker Studio. If pre-built game frameworks are not your thing, consider some cross compilers like HaXe, Monkey and CocoonJS. Either way there are many options and each will have some kind of impact on your end result or the platforms you can reach so do your research while designing your game.

4. Saving State Across Devices

What good is having a game that can be played on multiple platforms but the player needs to restart their progress every time? A key component to the responsive game design concept is allowing a single game session to extend across different devices allowing your player to start on one platform and continue on another. Imagine being able to play a Fire TV game at home then continuing your game on the go on any mobile device?

Steam was one of the first game publishing platforms to introduce cloud based game saving and since then more companies have offered similar solutions. The biggest issue is that these services are platform specific. For a developer to support different platforms, they would have to roll their own solution. However, built into our GameCircle API is WhisperSync, which can be used to not only have cross platform leaderboards but also sync game data across different mobile devices.

By adding GameCircle’s WhsperSync to your game, you can leverage this to let your players go from mobile (iOS, Android and FireOS) to the Fire TV for the full 10-foot experience then sync their game data back across all of these devices. While GameCircle doesn’t support PC syncing today, being able to have a consistent saved game mechanism for your mobile and Fire TV builds is a huge advantage for your players and a step in the right direction.

Where Do We Go From Here?

While this is just the foundation for a larger concept in game design, it’s up to you as the game designer to help define and shape the future of what gaming on multiple platforms means to the player. At Amazon we are incredibly focused on the customer and we build tools to help you as the developer serve them better. Over the next few years we will see more and more games that reach across platform walls to enable a gamer to pick the device and play style they want and with the correctly designed game, that player will have the same experience no matter where they choose to play your game.

Resources:

- Jesse Freeman (@jessefreeman)

 

April 22, 2014

Jesse Freeman

I got my first game console, the original Nintendo, in 1985 and it forever changed my life. Today, kids take for granted how accessible and abundant games are. From computers to phones and tablets, all the way up to dedicated gaming consoles, the next generation of gamers has numerous choices to play any type of game they could imagine. For developers, this means that we have multiple options where we can publish our games. In our house, the Fire TV will be my sons’ first video game console. If you are like me and you always wanted to build games for the TV, the Amazon Fire TV now offers you that opportunity, and access to an entirely new generation of kids growing up as gamers. With that in mind, I wanted to share the three key concepts I have found help make games more approachable to kids.

1. Make Engaging Games for Kids

Most developers think of kids’ games as matching, interactive storybooks and simple learning apps. Just look in the kids section of any app store and you’ll see these in droves. While a few games for kids stand out, the vast majority doesn’t take into account the fact that kids like to be challenged just like traditional gamers do. Developers can incorporate the game mechanics that core gamers have grown to love and adapt them for kids. These kinds of games will not only entertain kids, but will teach them critical thinking, teamwork, and even help them build the skills to play more advanced games.

For example, last year, I focused on making games that were similar to the games I liked to play on Nintendo but with my three year-old son in mind. The best example of this was my space exploration game Super Jetroid.

In this game, the player is challenged to explore a cave on an alien planet and try to survive while balancing their energy, health and air supplies. It’s a difficult game to master and a style of gameplay that I have always loved (it was heavily inspired by the classic game H.E.R.O. on the Atari). While the main game is way too challenging for my son, I have added in some special things to help him also enjoy the game. Some things to keep in mind to making a difficult game more approachable for kids:

  • Add a kids mode where they have extra health or are invincible
  • Remember that kids want to play the same games they see others playing so think through how the difficulty ramps up in your own game as to not frustrate them
  • Allow kids to replay the same level over and over again so they can practice and get better at it
  • Reward kids for completing levels. Add lots of collectables in the game including secret areas.
  • Kids love to explore so be careful with timed levels, try to remove timers as much as possible so they can move through a level at their own pace.

2. Encourage Collaborative Play

I cherish my game playing time with my son. Not all games are designed to be played at the same time but there are still lots of ways you can collaborate and let kids be part of the action, even in traditional single player games. Super Jetroid has a familiar level selection menu that is common among casual games these days. If you do well on a level, then you’ll unlock the next one. There are two difficulty settings: the “Serious” setting targets core gamers and the “Have Fun” setting targets kids.

In the “Have Fun” mode, the player doesn’t take damage, and has unlimited air and energy. Suddenly, the game was easy enough for my son. All of the other challenges still exist but he was able to experience the same game. Also, we could take turns playing the game as I unlocked new levels and he plays the ones that I’ve already beaten but at his own pace. When he feels more confident about the level, he can switch it over to “Serious” mode and challenge himself. This way he self-regulates the difficulty and still feels like he is accomplishing something by playing each level on the “Have Fun” mode.

Right now, I’m expanding the game for Amazon Fire TV. As I do this I am working on building in a more collaborative experience, especially around local multi-player and puzzle solving so we can work as a team to complete levels together. The Fire TV offers a great opportunity, similar to dedicated gaming consoles, to support up to 7 controllers (assuming you have a mini clan of gamers at home). It also has a second screen experience with tablets similar to what the Wii U leverages so there are lots of great multi-player and collaborative mechanics developer can explore.

3. Simplify the Controls

Knowing that every Fire TV ships with the Amazon Fire remote is an incredible opportunity to think about designing kid-friendly games with the remote in mind. There are already some great games on Fire TV that do this, including Despicable Me: Minion Rush and Badland. It only makes sense that more casual one-button style games are a natural fit on Fire TV.  

For years, gamers said touchscreens would never be good enough for immersive games because of the lack of hardware buttons. Now we are starting to see that some of the most successful games, such as Angry Birds, are the ones being built for touch. Building game controls that work on TV have their own set of limitations similar to what early mobile game developers faced. As developers, it’s up to you to think through how to make the best game possible with the broadest audience in mind, especially if you are designing for a younger player. Designing for the remote as the primary input for your game will not only capture the audience of Fire TV owners, but it also makes it easier for younger children to play. My son moves effortlessly from remote to game controller without a care in the world; he actually favors the remote since it’s easier to hold and use in his smaller hands.

In Super Jetroid there are only 3 buttons: left, right and up. On Fire TV for example, the game can be played with the remote or the controller for more precision. Even on touch screens the simplified controls work with a single virtual joystick and on desktop the keyboard. Across all of these different ways of playing I strive to have the game’s controls adapt to the device it is being played on so that anyone can simply pick up the game and play without a steep learning curve.

Start Building Games For the TV Now

While traditional console game development is still out of reach for most, the Fire TV enables developers to target the casual gaming audience right now. It’s also an opportunity to be one of the first TV-based games that kids play. There is no doubt in my mind that the types of games my son plays on the Fire TV will be his favorites for life, just like I still hold onto Mario, Zelda and Mega Man from my early gaming days. Even better, many of the games my son plays on the Fire TV are also with him on his Kindle Fire. The power of having the same game on tablet and TV with dedicated controls tailored to each experience has me incredibly excited as a game developer. This is a great opportunity to help shape the interests for the gamers of tomorrow by building fun, accessible, kid friendly games today.

So pick up a Fire TV and start making games for it as soon as you open the box!

Additional Resources

- Jesse Freeman (@jessefreeman)

 

April 17, 2014

David Isbitski

Amazon Fire TV offers your existing Android apps an entirely new set of potential customers to engage with. It also gives your customers the ability to experience your app across Kindle Fire Tablets, Android phones and tablets, and now Amazon Fire TV – all through the same Amazon Appstore. If a customer has already bought your app that you have made available for Fire TV, they can download it onto their new Amazon Fire TV instantly, without having to purchase an additional version. 

Adding Amazon Fire TV support to your existing Android App is as simple as following a few guidelines, compiling and uploading a new TV version of your apk, and then adding Amazon Fire TV as one of your app’s device targets inside the Developer Console.  

Amazon Fire TV opens up new discoverability possibilities for your app across many new customers. Most updates to your apps for Amazon Fire TV should be minor, and if you have been following the guidelines from Android on Designing for Multiple Screens all along, your app may already be ready for a large TV resolution. 

While you may be familiar with targeting Android tablets and phones, there are a few things you need to consider for your app to run correctly on Amazon Fire TV. This includes understanding the layout, dimensions and orientation of Amazon Fire TV views, changes to the user experience when interacting with a TV (10’ away on average), UI and navigation patterns, as well as some other TV-specific gotchas such as overscan and color reproduction.

Understanding Amazon Fire TV Video Output

You can think of the Amazon Fire TV screen as an Android device that is locked to landscape orientation, with a constant width of 960dp and with a height of 540dp. The rendering surface is always 1920x1080 with a screen density of 320dpi. Output is automatically scaled for 720p and 480p output resolutions.

The following table shows how the various video outputs of Amazon Fire TV map to their Android counterparts.

TV setting

Output resolution

(pixels)

Render surface

(pixels)

Density identifier

screen density

(dpi)

Display resolution

(dp)

Screen size identifier

1080p

1920 x 1080

1920 x 1080

xhdpi

320

960x540

large

720p

1280 x 720

1920 x 1080

xhdpi

320

960x540

large

480p

640 x 480

1920 x 1080

xhdpi

320

960x540

large



By following the Android best practices guide for Supporting Multiple Screens, you can create a different layout configuration just for Amazon Fire TV so that your existing layout adapts when it runs on the device. This is the same process you are most likely already using for generating different drawables and layouts and including them in your app’s /res directory. 

You can get a detailed overview of the resource configurations available for Amazon Fire TV here.

Thinking About the 10-Foot User Experience

TV interfaces in general are often referred to as 10-Foot User Interfaces (10-ft UI) because the user is viewing the screen from 10 or more feet away. Although the screen itself can be very large, the screen resolution is lower, and distance from the screen means a smaller angle of view.

The design choices you would make for an application or web page running on a desktop computer, tablet, or phone are fundamentally different from those of a TV, as users typically view those screens from much closer distances. In addition, as the television is used in a more relaxed fashion than a computer, a tablet or a phone, the UI on the TV should not require as much attention and precision. 10-ft UI may require you to rethink the design, layout, and navigation of an existing app.

Keep the design of your screen in a 10-ft UI simple and clean, with low information density. Limit the number of design elements or UI components (menus, buttons, images) on the screen, and ensure that those elements are large enough and spaced far enough apart to be read from a distance. Present a clear set of actions or options for each screen. Minimize the amount of text, as users do not read a lot of text on a television screen. Avoid requiring the user to input a lot of information and provide reasonable defaults where possible.

In your existing Android app for a phone or tablet, you can assume that touch is always present, and your UI elements reflect that. For example, if I run the existing Android Snake Game from my AWS re:Invent 2013 demo on a Kindle Fire, tapping the menu button with my finger brings up the standard Android options menu.

Figure 1- Android Options Menu for Touch on Kindle Fire

However, running the same app on an Amazon Fire TV shows a slightly different experience when interacting with the options menu. Instead of tapping our finger on a screen, we press the Menu button on the Amazon Fire TV remote or game controller, which brings up the Android options menu with the first item in the ListView (“New Game”) automatically highlighted.

Figure 2- Android Options Menu on Amazon Fire TV automatically highlights currently selected item for the user

This allows your users to know exactly where they are in the options menu. Pressing the SELECT button on the remote (the A  button on a game controller) raises that UI element’s ItemSelected event . 

Note that all of this works automatically, and you do not have to wire up any of the on screen highlighting for any of your user interface elements – that is done for you by FireOS itself. This does, however, affect the flow of interaction your customer has with your app when using a remote or a controller. Thoroughly test your app running on a TV screen with a remote or controller and make changes to the interaction where appropriate. 

For more helpful tips on modifying your app to work with remote and controllers be sure to check out our post with helpful tips.

Updating Your Android Views for TV

The Amazon Fire TV screen is always displayed in landscape orientation, with a display resolution of 960dp wide and 540dp high. In terms of Android supported screen size configurations, you should target large. If you have not created any large-screen assets, you need to verify that your existing sizes scale well.

Depending on the orientation you are using for your existing Android app, you may see some inaccurate screen sizing when running against the TV screen for the first time. In the example below I am using the code from my previous Ad Mediation post, which was set to run in portrait. 

Figure 3- App scaling and running in forced landscape

The first time the app runs you can see the scaling that occurs to accommodate the device screen size for an app forced into portrait mode. To fix this, call setRotation on any View like so:

 
myView.setRotation(90f);

This rotates the current view 90 degrees and places it into landscape mode. Another way to do this is to set the orientation of your main view inside of its layout file so that all children are rotated as well.

In fact, simply updating the orientation of the View of my main activity to run horizontally instantly fixed all of my screen issues and my app ran perfectly.

Figure 4- App scaled correctly and set to landscape

When testing out the Snake Game from the above example, I encountered a similar scaling and rotation issue.

Figure 5- Snake Game Demo running incorrectly

Instead of setting the orientation of the entire View you can also change the orientation of your activity itself. For example, inside the androidmanifest.xml file for my game, I provided an attribute for the orientation of the SnakeGameActivity.

Setting the android:screenOrientation to be landscape fixed all scaling issues with the game and made it instantly playable.

Figure 6- Snake Game fixed and running in landscape

With just a few adjustments to your apps’ Android Views and updates to their associated resource images, your apps can be displayed on an Amazon Fire TV connected screen with minimal changes.

Understanding TV Overscan, Text and Color

Overscan is the physical space TV hardware manufactures reserve around the displayable area of a TV screen and something you should be aware of when targeting Amazon Fire TV with your app. This space can exist on TVs of any size and limits the area in which your app is able to render its user interface. 

Figure 7- TV Overscan examples.

To avoid any issues with overscan, I recommend that you avoid placing any of your app's UI elements within the outer 5% of any edge on the screen.

Any onscreen text or UI elements should be fully within the inner 90% (the safe zone) of your user interface. Your text should also use larger type sizes (at least 14sp) so that they are viewable on large screens. Amazon Fire TV uses Helvetica Neue Regular as the system font throughout all of the system’s interfaces.

When testing your app you may also find that the colors are not represented the same when shown on a TV display as they are on a tablet. Because TV screens have a higher contrast, they have a tendency to make colors seem more saturated, brighter, and vibrant. The range of colors that can be displayed is also less than that of a PC or mobile device screen. Cool colors (blue, purple, grey) work better than warmer colors (red, orange) on a TV and a good rule to follow is to avoid using less saturated colors in your apps.

Figure 8- Color Saturation on TV Displays

Understanding Amazon Fire TV Navigation

If you choose to add an updated user interface to your app to better match that of Amazon Fire TV’s UI, there are a couple of guidelines you should follow. 

Figure 9- Navigation Screen Types on Amazon Fire TV

All navigation starts with the home screen which consists of a global navigation menu on the left and a set of content tiles on the right. 

Figure 10 - Home Screen

The global navigation menu is the primary system menu. It appears in a row on the left side of the screen. The global navigation menu allows the user to choose major content categories or other options including Search, Home, Movies, TV, Music, Games, Apps, and so on. Each item in the global navigation menu can be selected with the Up and Down directional buttons.

When the user focuses on any item in the global navigation menu, the home view for that node appears on the right side of the screen. Each node has its own home view with its own content. The overall system home view, sometimes called the launcher, is accessible with the Home key on the Amazon Fire TV remote, or by selecting Home from the global navigation menu.

Figure 11- Outer Space Has Been Focused on by User

Each home view contains multiple horizontal content rows. The title tile for the row indicates the type of content (for example, Most Popular, My Movies, Recommended for You). The remaining tiles show examples of that content. From these content rows, the user can:

  • Navigate between rows with the Up and Down directional buttons.
  • Move back to the navigation menu with the Left button.
  • Choose Select or Right to select a row and view a 1D list for that row.

Be sure to check out the Design and User Experience Guidelines for additional information on all of the screen types and important tips on creating an engaging user experience for Amazon Fire TV.

In addition to the global navigation, menu notifications are also displayed in a certain way within the base Amazon Fire TV user interface.

Figure 12- Informational Notification

Amazon Fire TV includes three kinds of notifications you can use inside of your own apps: Informational, Media and Modal. Informational Notifications can be used for general messages to the user, with optional actions. Media Notifications are used when the user is interacting with media inside your application (music with artist and title for example). Modal notifications are used for alerts that require user input. Modal notifications may appear at any time over your application. A modal notification takes the focus and the user must take actions to dismiss that notification.

Note: Modal notifications can only be generated by the Amazon Fire TV user interface in response to critical issues (such as an unavailable network connection). System-wide modal notifications cannot be generated by individual apps. You can use alert dialogs (AlertDialog) to create modal alerts within your app.

Figure 13- Modal Notification

Amazon Fire TV Notifications are slightly different from standard Android Notifications. Although the API for Android notifications is available in the Amazon Fire TV SDK, and apps that use that API will compile, standard Android notifications do not appear in any way on Fire TV. You must convert your app to use the Fire TV notifications API. 

One you have installed the Amazon Fire TV SDK Add-on, you will then need to import the Amazon device notification namespaces:

	import com.amazon.device.notification.AmazonNotification;
	import com.amazon.device.notification.AmazonNotificationManager;

Next, use AmazonNotification.Builder to create a notification object, as you would a standard Android Notification. The AmazonNotification.Builder class has a new required method, setType(), which indicates the type of notification. You have these notification types to choose from -- TYPE_INFO maps to Information Notifications and TYPE_MEDIA corresponds to Media Notifications.

Once you decide on the type of Notification to create you need to set up the Builder object like below:

 	AmazonNotification.Builder builder = new AmazonNotification.Builder(getApplicationContext());
	builder.setSmallIcon(R.drawable.notification_icon);
	builder.setContentTitle(title);
	builder.setContentText(text);
	builder.setType(AmazonNotification.Builder.TYPE_INFO);

Lastly, register the Notification object with the AmazonNotificationManager, as you would a standard Android Notification. You should also assign it an ID to update or cancel the Notification later.

 
        AmazonNotificationManager notificationManager = (AmazonNotificationManager)     
        getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(notificationId, builder.build())

Please note that unlike the Kindle Fire, there is currently no Notification Tray on Amazon Fire TV so if your customer is in an immersive mode app, they will not see the Notification.

For full details and more sample code on implementing notifications, check out our developer documentation here.

Handling Web Content

If your app contains any web content, you will need to do some slight modifications. By default, Amazon Fire TV does not include a Web Browser, but web content is allowed using the Android’s WebView. To use web content, set the WebClient of the WebView and override url overloading. This can be done by calling the setWebViewClient method of the WebVew to a new WebViewClient whose shouldOverrideUrlLoading property has been set to return false. 

This code ensures that your app does not attempt to load an external browser with web content and instead loads it into the WebView. You can see the url being loaded successfully into the WebView below.

Figure 14- WebView HTML content loaded successfully

Note that if you attempt to do a direct call to WebView.loadUrl without setting a new WebViewClient whose shouldOverrideUrlLoading method returns false like above you will see an error like this one:

Figure 15- webview.loadUrl security message

If you would like to link to other apps on the Amazon Appstore, for example, to cross-promote your own offerings, you can also use Android Intents with amzn:// urls, just as you can on the Kindle Fire. If you “deep link” to an app that is not ready for Amazon Fire TV we still show the detail page for the app, but customers are not able to download it. Check out this post for more information.  

Conclusion

Once your app is updated for Amazon Fire TV, your app’s listing on the Amazon Appstore runs across all the available devices you chose when you submit your app. Customers pay for your app once and begin to engage across all of their Kindle Fire tablets, Android phones and tablets, and now Amazon Fire TV. The opportunities for your customers to discover and engage with your app continue to grow!

In addition to the tips I’ve included here, be sure to check out these additional resources:

Purchase an Amazon Fire TV

Amazon Fire TV SDK Frequently Asked Questions

Amazon Fire TV SDK

Device Specifications

Display and Layout

User Interface

Design and User Experience Guidelines

Android Developer Multiple Screen Guidance

Supporting Different Screen Sizes

Supporting Different Densities

-Dave (@TheDaveDev)

 

Want the latest?

appstore topics

Recent Posts

Archive