Android Design and Development
when both worlds collide
Franklin "fr4gus" Garcia
Mobile Developer, POP
@fr4gus
Franklin who?
Franklin who?
Mobile Developer at Pop.
on Mobile business since 2002
Android dev since 2007 (m3-rc22a)
Projects: Grindr (Android and BB), Fresh Direct (iPhone) AllRecipes for Android, NY Post for Android, Cloudtix, *Some MLS team* Android App (currently)
You have
How do you start designing?
http://developer.android.com/design/index.html
http://androidniceties.tumblr.com/
Custom vs Native Widgets
Anything can be accomplished
Using only native widgets reduce cost/time but also reduce brand differentiation, giving a very plain UX
Customize widgets and UX increase cost/time but also increase UX
Understanding
Android Metric System
devices vary on physical size (inch) and screen resolution (px) defining its density (dpi) and can change their orientation.
physical size = small, normal, large, xlarge
density = ldpi, mdpi, hdpi, xhdpi
orientation = landscape, portrait
Understanding
Android Metric System
Understanding
Android Metric System
dp = density-independent pixels
sp = scale-independent pixels
pt = points - 1/72 of an inch based on physical size of the screen
px = pixels
in = inches mm = milimiters (based on physical size of the screen)
Understanding
Android Metric System
dp = density-independent pixels
sp = scale-independent pixels
pt = points - 1/72 of an inch based on physical size of the screen
px = pixels
in = inches mm = millimiters (based on physical size of the screen)
http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
MDPI
~160PPI
HDPI
~240PPI
XHDPI
~320PPI
3
4
6
8
5.32
Understanding
Android Metric System
MDPI
~160PPI
HDPI
~240PPI
XHDPI
~320PPI
3
4
6
8
50%
25%
5.32
Understanding
Android Metric System
MDPI
~160PPI
HDPI
~240PPI
XHDPI
~320PPI
3
4
6
8
x 2
x 1.5
5.32
Choosing Devices
What devices do you have available for testing?
What devices does your project require to support
Portrait/Landscape orientation*
Choosing Devices
ADP2 (HTC Dream)
LG Optimus / HTC Dream (MDPI)
320X480DP
Nexus One (HDPI)
320X533DP
Droid (HDPI)
320X570
Choosing Devices
Galaxy Nexus
360X640DP
Nexus 7
600X960DP
Xoom
800X1280DP
Choosing Devices
Sample design
320dp
320dp
360dp
320dp
360dp
600dp
600dp
320dp
360dp
600dp
Other tools
Android Design Preview helps designers to visualize their design right away on the phone, no developer needed*
http://code.google.com/p/android-ui-utils/
Android Design Preview
Demonstration here!
Redlines
Document that details components spacing, alignment, colors, text size/type/color
Should exist for every supported "screen width"
Redlines
Deliverables
For every asset, 3 versions (mdpi, hdpi, xhdpi)
ActionBar background (1px x 48dp)*
App Actionbar icon (32dp x 32dp)
Package status icon (48dp x 48dp)
Refresh icon (32dp x 32dp)
Right arrow icon (22dp x 12dp)
Eclipse project example
Show example!
Conclusions
Use DP stencils (no need to downscale or upscale while designing)
Better communication with Dev
User guidelines but don't get tide to it
Thanks!