Over a million developers have joined DZone.

Why Android Smartphone Apps Aren't Ready for Tablets - Future Proofing your App

DZone's Guide to

Why Android Smartphone Apps Aren't Ready for Tablets - Future Proofing your App

· Mobile Zone ·
Free Resource
Google recently reintroduced "Featured for Tablets" category in the Android Market tablet client. While I'm happy that Google gives more publicity to tablet apps again I'd hope they would be more careful when selecting apps to feature.

Currently, at least in Germany, AlloCine is one of the featured tablet apps. Running the app was a big surprise. The app is not ready for tablets. It is a smartphone app.

This provided me an excellent opportunity to look into tablet design and what makes an Android tablet app. I use the AlloCine app as an example here. I'm aware that being featured as "tablet ready" wasn't their choice and they probably haven't yet taken the time to implement their tablet layouts. The following critique is not directed to this single app but is meant to more general view why a smartphone app isn't (in most cases) good enough for tablets. This is despite Android's layout managers some times doing great job adapting screen design. However, often a larger redesign is needed.

Tablets have much more screen real estate than their smartphone counterparts. It doesn't mean that the screens should be jammed full of components and information but the design should utilise the screen real estate at some level.

Honeycomb Action Bar and menu
Honeycomb Action Bar API is a valuable component that should be utilised unless there's a good reason not to do so. It will remove the need to use the Android menu and provide consistent look and feel to apps.

Ui fragments allow implementation of much more adaptive UIs. In this case a split view could be a good approach to help utilise the larger screen size.

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}