Note: Effective 08-26-2015 Free App of the Day (FAD) has been replaced with Amazon Underground.
SpinFall is a small indie mobile game development company based in San Antonio, Texas. The husband and wife team of Franklin and Stephanie Lyons have been developing mobile games as a hobby for the past three years, and have recently decided to dedicate all of their time to creating fun, family-friendly games. Their latest game is Frog on Ice,where you use tapping motions to propel Plop (a frog) across an icy terrain,while defeating bad guys and collecting treasures.
When the Free App of the Day team reached out to SpinFall to see if they were interested in participating, they were excited to hear more about the opportunity, knowing that it would give them an opportunity to expand their customer base. “For indie developers like us, this kind of exposure is priceless,” said Stephanie. The Free App of the Day team worked closely with SpinFall,providing tips and assistance leading up to their scheduled day.
“Watching our download number skyrocket all day was really exciting,” said Stephanie. “What we obtained that day was more important than cash. We acquired a solid customer base and received a ton of customer feedback.” Frog on Ice received more downloads on that day than it has previously in all markets combined. Plus, the app had more than 100 new reviews.“The reviews have enabled us to improve our game based on what people really want,” said Stephanie. “Plus, our revenue went up on other app stores that day too.”
“Our profits on Amazon are still at least double than what they were prior to Free App of the Day,” said Stephanie. “Since then, we’re earning more on Amazon daily than on iTunes or Google Play.” Plus, the added awareness caught the attention of the San Antonio Express News, who has recently written about their company and games. “Anywhere else, marketing efforts of this caliber would have easily cost thousands of dollars to implement,” said Stephanie. “But with Amazon’s Free App of the Day program, we didn’t have to spend a dime.”
SpinFall’s advice for future Free App of the Day participants:
SpinFall was very pleased with the results of Frog on Ice in Free App of the Day. They gained added visibility, a new customer base,access to analytics they’ve never had before, customer feedback, and even a bitof local fame. If you’re interested in participating in the Free App of the Day program, you can submit your app for consideration here.
Mike Hines, Technical Evangelist for Amazon Kindle, is our guest blogger for this post.
So writing your app was the hard part. Okay, true enough;but it’s not the last part. You still need to sell your app, and a great product description will help you do that. Here's how to make sure your description puts your app in the best light.
Make sure your description is clear, honest, and straightforward. If you have a personal finance app that tracks income and expenses and helps you budget, explain why and how this is helpful and how the app works. Don’t make grandiose promises about how your app will make users wealthy; customers see through inflated claims, and your description will lose credibility.
Use the following checklist to get the basics right:
Do:
Don't:
But wait, there's more! Remember—this is the Basics checklist. If you just do the things in the list above, you’ll only get an okay product description. We can do better.
Consider the following description:
This is a clever, addictive game that’s a lot like a word search game. It also makes you think instead of just looking for words. Create words by linking letters that disappear when you link them. When they disappear, they are replaced with letters from the grid above.
If you’re clever, you can set yourself up to create long words and get lots of points and you’ll never run out of games to play. In addition to Standard mode, there is a 'Timed' mode too. Tracked stats include 'Longest Word', 'Highest Scoring Word', 'Total Score' and more! Play MyGame in Portrait, as well as Landscape view. MyGame is the best game ever for everyone who likes puzzles and games.
This example is not “a bad example.” This product description would do alright as is, because it does several things right:
Still, this product description isn’t brilliant. This writing probably won’t generate the enthusiasm, curiosity, or the confidence required to convert a marginally interested shopper into a buyer. It reads poorly, uses choppy structure, and is imprecise or confusing on a number of items.
Now consider a much better description of the same game:
MyGame is a word search game with a tactical twist.
Create words by linking letters within a grid of scrambled letters. Each word created is then removed from the grid and the letters above fall into the gaps left behind, creating new word possibilities. With careful play, letters can be brought into play strategically and used to create longer, higher scoring words. The starting grid is randomly generated, so no two games should ever be the same.
MyGame offers two modes of play: 'Relaxed' - for those who like to take their time and try to create the longest words, and 'Timed' - where players can test themselves against the clock to see how they score under pressure. Your 'Longest Word', 'Highest Scoring Word', 'Words Made' and 'Total Score' stats are all recorded so you can track your achievements. If you like word search puzzles, you’ll love this game. Download MyGame and start finding words with a twist today!
This description does a number of things differently than the previous description. It completes the checklist, but more importantly, it provides the following subtle improvements.
The improved description:
While these two product descriptions are similar, one of the big differences lies in the implementation of the required checklist elements (and, honestly, a bit of proofreading).
So how do you refine the nuances of your description? Use these three simple checks to see if you've met the bar.
Trust us: It gets better from here. Even if your first few product descriptions are closer to good than great, it is okay to rewrite your description. With practice, you’ll find it easy to develop a solid, recognizable style in your product descriptions that can help establish consistency, brand recognition, and consumer trust.
So, go ahead—why wait? Get started today by using these guidelines to make a small edit or two to an existing product description.
Today, we are extending our In-App Purchasing to PC, Mac, and web-based games, in addition to Android and Kindle Fire. If you build PC, Mac, or web-based games and your games incorporate virtual items (virtual currency, characters, expansion packs,subscriptions, and so forth), this service should be of interest to you. Your users can purchase these items from within your game using the credit cards they already have on file with Amazon, simplifying the purchasing experience,and increasing conversion from free to paid usage.
For more information, and to learn how to get started, click here.
Today we released a new tool to help you integrate Amazon APIs into your Android apps. The AmazonMobile App SDK Eclipse Plugin (beta) allows you to rapidly and reliably integrate Amazon APIs into your Android projects, speeding up development and cutting down on project setup time.
The Amazon Mobile App SDK Eclipse Plugin (beta) is a design-time tool that is easy to install, simple to control, and builds on your familiarity with Eclipse to increase your productivity in developing apps and games for distribution on Amazon. The plugin generates the appropriate config entries for the APIs you select, then copies over the relevant API jar files. If desired, you can also use it to quickly undo API integration, without affecting the original state of your Eclipse project.
Benefits of Using the Amazon Mobile App SDK Eclipse Plugin:
Click here to learn how to install the Amazon MobileApp SDK Eclipse Plugin. Take it for a spin, add it to your toolbox, and then tell us what you think by completing this brief survey. We welcome your feedback and appreciate learning what more we can do to help increase your productivity.
With the OpenFeint shutdown on December 14, 2012, many mobile app developers find themselves having to evaluate other social gaming platforms. One such platform that offers tremendous value to developers is Amazon GameCircle for Kindle Fire tablets.
GameCircle makes achievements, leaderboards, and sync APIs accessible, simple, and quick for you to integrate, giving gamers a seamless and entertaining in-game experience.
Additional benefits of GameCircle include:
For detailed information on how to migrate from OpenFeint to GameCircle, click here.
Derek Gebhard, Solutions Architect for Amazon, is our guest blogger for this post.
One of the things you will spend time on when building a Kindle Fire app is testing and debugging. Using a Kindle Fire emulator is the recommended way to test and debug your mobile apps if you do not have the device available. This post will cover tips on increasing the performance of the KindleFire emulators, including the newly released KindleFire HD 8.9” emulator, but will also apply to most other Android emulators.
For Ice Cream Sandwich-based Kindle Fire emulators(Android SDK 4.0.3, API level 15) you can enableGPU emulation to significantly improve the performance. One thing to be aware of: GPU emulation is currently an experimental feature in the Android tools suite, and may not work on all host hardware configurations or operating systems. If you experience issues, you may need to disable this functionality.
To enable GPU emulation, launch the Android Virtual Device Manager. This can be done by running “android avd” or clicking the Android Virtual Device Manager icon in Eclipse.
For existing emulators:
When creating a newemulator:
Image 1:Changing the GPU emulation property
To showcase the effect of GPU emulation property, there are two screenshots below. These GPU measurements were taken on a Windows desktop,using the Kindle Fire HD 7” emulator. This test included starting the emulator,running SDK Tester, and accessing the Kindle Fire settings. As you can see, GPU emulation must be enabled in order for the emulator to leverage the GPU’s dedicated memory.
Image 2:GPU emulation set to “no”
Image 3:GPU emulation set to “yes”
There are also a few other things that can help when running apps on the Kindle Fire emulators. Below is a list of the other ways we can increase performance and save time:
We’ve recently updated our marketing resources available for mobile app developers, providing two new badge styles to promote your app’s availability on Amazon. The badges are available in three colors (black, grey, and white), and are localized for all of the countries where our store is currently available. Please use these badges wherever you promote your app’s availability on other app stores.
In addition to the badges, we’ve posted layered PSD images of Kindle Fire tablets for your use in line with the KindleTrademark Guidelines. You can layer in your app’s screenshots to showcase your app on a Kindle Fire tablet.
To link to your app on the web using the badges, use this link structure:
http://www.amazon.com/gp/product/ASIN number/ref=mas_pm_app_name
Replace “ASIN number” with your app’s ASIN (Amazon Standard Item Number). The ASIN is available on your product page on Amazon.com. Replace “app_name” with your app’s name (and be sure to use an underscore instead of a space). Linking on to your app on the web is currently only available for the US store. Instructions on linking will be available for international stores when their web stores launch.
More details on these resources, including guidelines for use, are available within the Trademark Guidelines on the Mobile App Distribution Portal.
E-dan Bloch, Solutions Architect for Amazon, is our guest blogger for this post.
The new Kindle Fire HD 7” and 8.9” tablets introduce high definition screens that provide a great opportunity for mobile app developers to deliver an improved user interface, high resolution images,and apps that take advantage of more “screen real estate”. While native layouts make use of these higher resolutions by default, layouts within WebViews may require some HTML adjustments to be made.
WebView control may display pages that are logically longer and wider than the physical screen size, allowing users to pinch to zoom and scroll through a web page. To accommodate the difference in size, the WebView control takes two properties into consideration: the native view size (the size of the control itself) and the logical view port size (the size of the content currently visible within the control).
The viewport, with respect to the WebView control, is the area of the page currently visible to the user. The native Android layout engine controls the view size, and the HTML page determines the logical viewport size. For example, when the WebView displays a page that is zoomed in, the logical viewport size is smaller than the actual size of the control (hence the zooming). This can lead to seemingly unexpected behavior of web apps, especially when JavaScript is used to create the page’s layout.
There are two key properties that mobile app developers leveraging WebViews should be familiar with: the viewport metadata property and the android:theme property.
The “viewport” metadata property is represented as <meta name="viewport" content="…" />. Adding this entry to the <head> section of your HTML pages will allow you to better control how your pages are displayed on users’ devices. Control this property by setting its content attribute with the following descriptors:
height = [pixel_value | device-height],
width = [pixel_value | device-width ],
initial-scale = float_value,
maximum-scale = float_value,
minimum-scale = float_value,
user-scalable = [yes | no],
target-densitydpi =
[dpi_value | device-dpi | high-dpi | medium-dpi | low-dpi]
By default, the target-densitydpi descriptor assumes the medium-dpi value. For Kindle Fire HD devices, you should change this setting to high-dpi so that your content will display properly. Alternatively, you can use the device-dpivalue and have the WebView control determine the density dynamically according to the device being used. This automatic setting will cause the viewport to scale differently for each device’s pixel density.
To use this automatic setting, add the following line to the <head> section of the HTML page being viewed:
<meta name="viewport" content="target-densitydpi = device-dpi" />
In instances where a web page uses a fixed-size layout, or a purely relative (fluid) layout, we may also want to have the width and/or height descriptors set to device-width or device-height (respectively). Setting these values will set the logical size of the WebView to match that of the device being used. So the viewport property would look like this:
<meta name="viewport" content="target-densitydpi = device-dpi, width = device-width" />
Combined with the auto-density selection we get:
<meta name="viewport" content=" target-densitydpi = device-dpi, target-densitydpi = device-dpi, width = device-width" />
To demonstrate the effect of the latter tag, here is a side-by-side comparison of a simple web page displaying different size values with and without it:
Notice how, in the example on the right, the ViewPort size matches the WebView size. The difference, in both examples, between the screen size and the WebView size are due to the status (above) and menu (below) bars.
The second property is the android:theme property. Although it relates to the Android activity itself, and not just the WebView control, it can impact the screen real estate that your apps use. A good example is full-screen browsing. The Kindle Fire’s soft-key menu provides developers with power over the amount of screen their app can use by allowing them to hide both the title bar and the menu buttons. To use this feature, you can add the android:theme attribute to the <application> or <activity> elements in your AndroidManifest.xml manifest file and set the appropriate theme. For example, you can use@android:style/Theme.NoTitleBar to hide the top title bar, or
@android:style/Theme.NoTitleBar.Fullscreen to hide both the title bar and the soft-key menu bar. For example, if you want your entire app to operate in full-screen, your AndroidManifest.xml file might look like this:
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">…</application>
This last value gives you the most screen area to work with. However, this option should be used with care as it affects the user experience by minimizing standard controls such as the clock and battery indicator, as well as the “back”, “search”, and “home” buttons.
To demonstrate, here is a side-by-side comparison of the default theme versus the Fullscreen theme:
Notice how, in the example on the right, all buttons are hidden until the user taps on the pull-up button seen on the bottom.
For more information, please also see the User Experience Guidelines.
One of the great new features that the Kindle Fire HD offers is a set of dual-driver stereo speakers on both sides of the display. This sound setup opens new possibilities to game and app developers by allowing for a more comprehensive and immersive sound experience.With minor adjustments, any app can leverage the stereo speakers and enhance the user experience. By default, Kindle Fire HD uses both speakers to output balanced sound (left speaker = right speaker). By changing the volume on either side, we can achieve an effect of localized sound. As a simple example, we can consider a conga drum app. The app will have two conga drums displayed, one on the left and one on the right. Tapping on the left conga produces sound only in the left speaker and similarly, tapping on the right drum produces sound only in the right speaker.
The way to control the volume on the speakers depends on the method being used to actually play sound. For the purpose of this post, we will assume that the MediaPlayer class is used, but most other methods should be similar if not identical in nature. The following code will create a MediaPlayer instance that will play audio only through the left speaker:
import android.media.MediaPlayer;
…
float leftVolume = 1.0f;
float rightVolume = 0.0f;
MediaPlayer mPlayer = MediaPlayer.create(…);
if (nPlayer == null) {
mPlayer.setVolume(leftVolume,rightVolume);
}
The leftVolume and rightVolume parameters can be set toany value between 0.0 (“off”) and 1.0 (“full volume”). The volume level is relative to the master volume of the device so changing these values is basically just changing the balance between the stereo channels or, in this case, the two speakers.
Using the SoundPool class is not all that different:
import android.media.SoundPool;
…
float leftVolume = 1.0f;
float rightVolume = 0.0f;
SoundPool sPool = new SoundPool(…);
// Load an asset into the pool
int streamId = sPool.load(…);
sPool.play(streamId,leftVolume, rightVolume ,0, 0, 1.0);
Zillow is a home and real estate marketplace dedicated to helping homeowners, home buyers, sellers, renters, real estate agents, mortgage professionals, landlords, and property managers find and share vital information about homes, real estate and mortgages. We recently had a chance to speak with Steve Perrin, Mobile Development Manager at Zillow, and Leo Liang, Sr. Software Development Engineer at Zillow, to get their feedback on working with Amazon to power their marketplace via Amazon Web Services and to distribute their apps via Kindle Fire tablets and the Amazon Apps mobile client.
With Amazon Web Services, Zillow uses a combination of SQS (SimpleQueue Service) for processing, S3 for storage, Elasticache for scalability, and ELB for server load balancing. In addition, they use EC2 as an on-demand service whenever they update their Zestimate algorithm. “We love the simple API and comprehensive set of solutions in the cloud stack that AWS provides,helping us get things done quickly at every product stage,” Leo said.
When it came time for Zillow to choose between service providers, they chose AWS for their reliability, flexibility and support. Leo noted that “in addition to not being limited to any particular development platform, AWS provides EC2 instances on-demand, and a comprehensive cloud stack that helps get things done quickly and with high quality, while keeping future scalability in mind.”
When Amazon launched the Kindle Fire, the Zillow team was quick to optimize their Android app with the new tablet. “It was important to Zillow that our apps worked well on the Kindle Fire since it was a competitive addition to the tablet landscape.” Mobile devices make up 40% of Zillow’s traffic, which grows to more than 50% on weekends. The team followed up by working closely with Amazon in preparation for the launch of the new Kindle Fire and Kindle Fire HD this fall. Steve was able to implement the new AmazonMaps API quickly, thanks to a compatible API that fully met their needs.
Optimizing an Android application for a tablet is more than just stretching the UI, and Zillow has defined a layout that works well on the Kindle Fire, Kindle Fire HD and the new Kindle Fire HD 8.9” device. As well as Maps, their app leverages Location Services and has enhanced performance for the PowerVR GPU. Says Steve, “The best thing about working with Amazon’s Mobile App Distribution Program is the great support that we receive from Amazon’s team. They’ve been extremely helpful in getting our apps optimized for the Kindle Fire HD. In addition, their new Maps API was easy to integrate, and made it easy for us to give our users a great map experience on Kindle Fire HD.”
Zillow Real Estate is available on Kindle Fire tablets and the Amazon Apps mobile client.