build a user experience by eyal lezmy

42
BUILD a User Experience ... on Android

Upload: paris-android-user-group

Post on 28-May-2015

786 views

Category:

Technology


2 download

DESCRIPTION

at be myapp

TRANSCRIPT

Page 1: Build a user experience by Eyal Lezmy

BUILD

a

User Experience

... on Android

Page 2: Build a user experience by Eyal Lezmy

ABOUT.ME

Slides http://bit.ly/and-nav

http://eyal.fr

Eyal LEZMY

Page 3: Build a user experience by Eyal Lezmy

... don't loose your user

DESIGN Effective

Page 4: Build a user experience by Eyal Lezmy

Once Upon a Time...

a webservice, far far away...

Page 5: Build a user experience by Eyal Lezmy

Planning the screens

It's all about movies...

Page 6: Build a user experience by Eyal Lezmy

Planning the relationships

Page 7: Build a user experience by Eyal Lezmy

Planning the relationships

Netflix Content General actions & information

Page 8: Build a user experience by Eyal Lezmy

Handle the bar

Page 9: Build a user experience by Eyal Lezmy

... all roads lead to Home

HOME

sweet

Home

Page 10: Build a user experience by Eyal Lezmy

Useful for

"tools apps"

Dashboard

Page 11: Build a user experience by Eyal Lezmy

Dashboard

Page 12: Build a user experience by Eyal Lezmy

Dropdown Tabs + Content

Page 13: Build a user experience by Eyal Lezmy

Dropdown Tabs + Content

Closed ecosystems,

multi-accountsDifferent nature

of content

Different level

of content

Page 14: Build a user experience by Eyal Lezmy

Feature and organize

the content

Tabs + Content

Page 15: Build a user experience by Eyal Lezmy

Tabs + Content

Page 16: Build a user experience by Eyal Lezmy

Navigation drawer + Content

4 top-level screens minimum

Most important

screens of

your app

Page 17: Build a user experience by Eyal Lezmy

Navigation drawer + Content

4 top-level screens minimum

Structure the

content

Page 18: Build a user experience by Eyal Lezmy

Navigation drawer + Content

Add general

actions (search,shorcuts, ...)

4 top-level screens minimum

Page 19: Build a user experience by Eyal Lezmy

Make your

action bar

more contextualOptional

Navigation drawer + Content

4 top-level screens minimum

Page 20: Build a user experience by Eyal Lezmy

Navigation drawer + Content

4 top-level screens minimum

Except Settings,

About & Helpby convention

Make your

action bar

more contextualOptional

Page 21: Build a user experience by Eyal Lezmy

Very powerful...

but complex !

You have to know why

you are using it!

Navigation drawer + Content

Page 22: Build a user experience by Eyal Lezmy

Choose your home

It's all about movies... as I said

Page 23: Build a user experience by Eyal Lezmy

Content + Tab

of course :-)

Our choice

Page 24: Build a user experience by Eyal Lezmy

All roads lead to Home

Page 25: Build a user experience by Eyal Lezmy

Latteral navigation

Page 26: Build a user experience by Eyal Lezmy

...from S to XXL

Size

Matters

Page 27: Build a user experience by Eyal Lezmy

Multi-pane Layout Pattern

Multiple screen sizes

Page 28: Build a user experience by Eyal Lezmy

Multiple screen sizes

PanelPanel Panel PanelPanel

Panel Panel Panel

Panel

Multi-pane Layout Pattern

Page 29: Build a user experience by Eyal Lezmy

Multi-panel design layout

Panel

Fragment!

DesignDev

Page 30: Build a user experience by Eyal Lezmy

Frag...

what?!

Page 31: Build a user experience by Eyal Lezmy

The fragment

Open

Page 32: Build a user experience by Eyal Lezmy

The fragment

Update

Page 33: Build a user experience by Eyal Lezmy

Use the system resources

res/layout/main.xml

res/layout-large/main_two_panes.xml

res/layout-sw600dp/main_two_panes.xml

Multi-screen UI

Default>= 7"

>= 600dp

Page 34: Build a user experience by Eyal Lezmy

Avoid file duplication with aliases

res/layout/main.xmlres/layout/main_two_panes.xml

res/values-large/layout.xmlres/values-sw600dp/layout.xml

Multi-screen UI

Define the 2 layouts

on the default folder

Define aliases using

the filters

Page 35: Build a user experience by Eyal Lezmy

Avoid file duplication with aliases

<resources> <item name="main" type="layout">

@layout/main_two_panes</item>

</resources>

Multi-screen UI

Override main by main_two_panes

for large and sw600dp screens

Page 36: Build a user experience by Eyal Lezmy

Fork the code

Multi-screen UI

res/values/bools.xmlres/values-large/bools.xmlres/values-sw600dp/bools.xml

<resources><bool name="isTwoPanes">

true|false</bool>

</resources>

true or false:

explicite definition

Boolean values dealing

with the filters

Page 37: Build a user experience by Eyal Lezmy

Fork the code

boolean isTwoPanes = res.getBoolean(R.bool.isTwoPanes);

if (isTwoPanes) // launch a tablet activity

else // launch a phone activity

Multi-screen UI

We fork the code based on

the isTwoPanes value

Page 38: Build a user experience by Eyal Lezmy

... and now the result

We're

done!

Page 39: Build a user experience by Eyal Lezmy

Wireframe for phone

Page 40: Build a user experience by Eyal Lezmy

Wireframe for tablet

Page 42: Build a user experience by Eyal Lezmy

THANK YOU!

Slides http://bit.ly/and-nav

http://eyal.fr