This document discusses developing apps for Android devices beyond smartphones, such as tablets and eReaders. It notes that over 500 million tablets are estimated to ship by 2015. Even capturing 0.1% or 0.01% of the large number of Android smartphones could generate substantial revenue for developers. The document provides tips for developing apps optimized for larger screens in landscape mode, as well as non-traditional devices with multiple screens or eReader buttons. Alternative app distribution methods like OEM store placements, alternative app markets, and direct downloads are also briefly covered.
2. Why Bother?
• Tablets, eReaders, etc. aren’t like ‘phones
• The Register reported TownHall research
estimates over 500 MILLION tablets will ship by
2015*.
• The 500 million figure doesn’t include
eReaders, Desk ‘phones, TVs, etc.
• Users with bigger screens will prefer apps that
provide a “Big Screen” experience.
*Source : http://www.theregister.co.uk/2010/10/03/rim_blackberry_playbook/
3. Why Bother?
• Smartphones purchased running Android =
32%*
• 32% of 500 Million = 160 Million
• Sell to 0.1% of 160 Million = 160,000 purchases
• Developer getting 69p per app sale ~ £110,000
• Even 0.01% will generate ~£11,000
*Source : Neilsen Company August 2010 data
4. Not just budget brands
• Dell Streak
• Toshiba AC100
• Samsung Galaxy Tab
• Viewsonic ViewPad 7
• Dixons Advent Vega
• More to come …. Kindle? Playstation Phone?
6. Think Landscape
• Dell Streak.
• Buttons on Right.
• Premium Case with
kick stand.
• All push user
towards Landscape
mode.
7. Think Landscape
• Google TV
• People won’t rotate
their TVs.
• Going beyond the
‘phone will help
prepare for Google
TV.
8. Think Large
• -large modifier for screens over 4.8” in size
• Add extra elements for a large screen
• findViewById(xxx) != null if they’re in being shown
• Activate logic if they’re on screen.
9. Think Simple
• What is the core functionality of your app?
• Don’t require “extras”. Declare what you need
with <uses-feature> detect the rest with
PackageManager.getSystemAvailableFeatures() or
PackageManager.hasSystemFeature(String)
10. MDPI != HVGA
• Don’t assume -ldpi is for a QVGA device, -mdpi
is for a HVGA device, and -hdpi is for a WVGA
device
• Dell Streak is a WVGA MDPI device
• Galaxy Tab is a WSVGA HDPI device
11. Device specific
features
• Few parallel versions makes updating easier.
• Use reflection for “portable” applications (see
http://goo.gl/8hpP)
• Use android.os.Build constants to identify
device (see http://goo.gl/G4Vq)
• Use library projects for common code (see
http://goo.gl/mHnC)
18. Two screens?
• EPD screen = Longer battery life & more
readable
• LCD screen = Touch capable, faster redraw
time & colour
• Can display different information
19. Accessing the screens
• Two layouts in One file using a FrameLayout.
• LCD layout in element. EPD Layout in another;
<FrameLayout android:layout_width="fill_parent
android:layout_height="fill_parent">
<LinearLayout android:id="@+id/epdLayout" ...>
{EPD Layout}
</LinearLayout>
<LinearLayout ...>
{LCD Layout}
</LinearLayout>
</FrameLayout>
20. eReader Functionality
Custom Class to access eReader functionality;
import android.widget.EpdRender;
...
private final EpdRender epdRender = new EpdRender(){
@Override
public boolean onFontKeyPressed(int arg1, int arg2)
{ .... return true; }
@Override
public boolean onPageUp(int arg1, int arg2)
{ .... return true; }
@Override
public boolean onPageDown(int arg1, int arg2)
{ .... return true; }
};
21. Displaying on the EPD
• Uses the EpdRender custom class
• One call to pick the layout;
epdRender.bindLayout(
(ViewGroup)findViewById(R.id.epdLayout)
);
• Another to update the EPD;
epdRender.updateEpdView();
• Treat as a normal display, calling updateEpdView
after each set of changes.
23. OEM Deals
• Non-CDD device OEMs want apps
• Discounts to list price are normal
• No App Store / Market fees
24. Alternative App Stores
• Already on a number of devices
• Wide range of users
• Varying fees (0% to 30%)
• Examples : AndAppStore, SlideME, GetJar
25. Directly from you
• Easy to do, hard to be visible.
• Consider marketing work
• Consider time to list on an alternative market
• Consider possible anti-piracy measures