Mittwoch, 16. November 2011

Day 2: a bit more of Android if you please :)

Building Android Applications for performance usability
(Bruno Oliveira)

4 billion mobile devices!!

- 550000 daily activations!
- 250000 apps!

Bruno's plan
users are our friends!
-making apps faster is the plan (because users are our friends!)

What don't the users know they want?

How do you impress the user? Quality is essential!

2 Kinds of Apps:
- apps that love the user
-apps that hate the user

Apps without users have no bugs.

>>Interface/usability design
-no surprises

easy to learn X easy to use

Who will design your app?
You? Would you trust a designer to program your app?!
Hire a designer to design your app!

- use the action bar!
- use "home" (icon or logo)
- when items are selected show actions available
- use fragments
- make the "hero" screen awesome -> it's the page the user will show his friends
- always worry about compatibility (system version, screen size, keyboard,...)

So use:
_different resource folders
_android manifest file: use
_different layouts for different screen sizes
_"dp"(for images) and "sp"(for text) instead of pixels
_match_parent and wrap_content for flexibility
_never use AbsoluteLayout
_supply bitmaps for different resolutions

UI/UX Tipps
# apps adapted to each platform
# make your app present (or else your users will forget the app)
-intents, content providers,live wallpapers,...
# NOT every device is a phone!
# use the best of every device, let the user configure input
# the user isn't always online
# instead of constantly pinging the server, use C2DM for push notifications
# use broadcast receivers to know about connectivity
# allow te user to configure the app
# Don't mess with the back button!! Really.
# smart users read instruction. NOT true!
# always allow the user to undo an operation
# users change their minds so... always let the user cancel/postpone an operation (and be quick about it!)
# do NOT ignore rotations/flips
# users have infinitely small fingers. Also NOT true! Users have big and imprecise fingers!
# users want simplicity.False! users want clarity

-try to prevent the "sorry screen"
- performance
- don't block the UI thead, use Async Task
- entertain the user (via spinners, process dialog,...)
- allow the user to cancel/postpone

Common causes for slowness:
-heavy math
Do not allow this on the UI Thread!

How to work in the background? -> asyncTask, IntentService

Improving app performance
premature optimization is the root of all evil! (Donald Knuth)
-optimize code in the right place

If you cannot improve performance, fake it! If you have slow apps, you have angry users.
Remember the most important is..:

Super cool session!! One of my favourites so far, and I am not even that into app programming! There is of course much more to say, but this session you HAVE to see on parleys.
Presented in a cool way but definitely to the point :))))

Keine Kommentare:

Kommentar veröffentlichen