day2_1 ui deep dive fundamentals

95
LCDUI and LWUIT UI components in Nokia Asha UI Cao Phong Developer Tech Support Manager Aug 07, 2013

Upload: winstorevn

Post on 12-Jan-2015

313 views

Category:

Technology


0 download

DESCRIPTION

http://winstore.vn

TRANSCRIPT

Page 1: Day2_1 ui deep dive fundamentals

LCDUI and LWUIT UI components in Nokia Asha UI

Cao PhongDeveloper Tech Support ManagerAug 07, 2013

Page 2: Day2_1 ui deep dive fundamentals

Overview• What’s new?• Essentials• Nokia UI• LCDUI• LWUIT• Patterns• Take home messages

Page 3: Day2_1 ui deep dive fundamentals

The visualization changed, but the APIs remain compatible.

Page 4: Day2_1 ui deep dive fundamentals

What’s new?

Page 5: Day2_1 ui deep dive fundamentals

Design drivers are direct access and direct manipulation.

Page 6: Day2_1 ui deep dive fundamentals

The Swipe is reserved.

Page 7: Day2_1 ui deep dive fundamentals

The screen is optimized for mobility, convenience and effectiveness.

Page 8: Day2_1 ui deep dive fundamentals

Back-stepping is done via a dedicated hardware Back/Exit key.

Page 9: Day2_1 ui deep dive fundamentals

Obey the minimum touch area.

Page 10: Day2_1 ui deep dive fundamentals

Push notification lets people listen to your service if there is something new.

Page 11: Day2_1 ui deep dive fundamentals

Toolbar area can host actions or tabs, but no combination of those.

Page 12: Day2_1 ui deep dive fundamentals

Indicating selected items has been simplified.

Page 13: Day2_1 ui deep dive fundamentals

Launcher icon is cropped automatially from Fastlane icon.

Page 14: Day2_1 ui deep dive fundamentals

Make sure custom components work with the light background.

Page 15: Day2_1 ui deep dive fundamentals

Essentials

Page 16: Day2_1 ui deep dive fundamentals

Use standard gestures as intended

DragMove item

Swipe

FlickScroll quickly

Pinch openZoom in

Pinch closeZoom out

Press downOpen, select

Long pressOpens item menu

Page 17: Day2_1 ui deep dive fundamentals

Only one application can run at a time.

Page 18: Day2_1 ui deep dive fundamentals

Portrait and landscape orientation are supported.

Page 19: Day2_1 ui deep dive fundamentals

Status bar, Header bar and optional toolbar area are chrome.

Page 20: Day2_1 ui deep dive fundamentals

Options menu contains only actions affecting the entire view.

Page 21: Day2_1 ui deep dive fundamentals

Context menu is only a collection of shortcuts of single item actions.

Page 22: Day2_1 ui deep dive fundamentals

Treat LWUIT and LCDUI as separate offerings – do not mix them.

Page 23: Day2_1 ui deep dive fundamentals

Select your approach according to your requirements.

Custom UI on Canvas

LCDUI components

LWUIT components

Page 24: Day2_1 ui deep dive fundamentals

Exercise: Do you use LWUIT or LCDUI or full custom solution? Why?

Page 25: Day2_1 ui deep dive fundamentals

Nokia UI

Page 26: Day2_1 ui deep dive fundamentals

Category bar can have tabs or actions. Do not mix them.

Page 27: Day2_1 ui deep dive fundamentals

If there is no Category bar, an Option’s item will be shown as textual button.

Page 28: Day2_1 ui deep dive fundamentals

PopupList may replace the long-press menu when necessary.

Page 29: Day2_1 ui deep dive fundamentals

Push notification shows only your service’s information, no app statuses.

Page 30: Day2_1 ui deep dive fundamentals

LCDUI

Page 31: Day2_1 ui deep dive fundamentals

LCDUI components are backward compatible.

Page 32: Day2_1 ui deep dive fundamentals

LCDUI requires only little layout work when using components.

Page 33: Day2_1 ui deep dive fundamentals

LCDUI is based on few view types.

Displayable

ScreenCanvas

With chrome Full screen Alert List Form TextBox

ChoiceGroup

DateField

TextField

Gauge StringItem

ImageItem

CustomItem

Spacer

Implicit choice Exclusive choice Multiple choice

Page 34: Day2_1 ui deep dive fundamentals

There are 2 types of displayable (views).

Displayable

ScreenCanvas

With chrome Full screen Alert List Form TextBox

ChoiceGroup

DateField

TextField

Gauge StringItem

ImageItem

CustomItem

Spacer

Implicit choice Exclusive choice Multiple choice

Page 35: Day2_1 ui deep dive fundamentals

Screens use pre-defined elements, but in a canvas you can draw freely.

Page 36: Day2_1 ui deep dive fundamentals

From UX point of view, there 2 different Canvases.

Displayable

ScreenCanvas

With chrome Full screen Alert List Form TextBox

ChoiceGroup

DateField

TextField

Gauge StringItem

ImageItem

CustomItem

Spacer

Implicit choice Exclusive choice Multiple choice

Page 37: Day2_1 ui deep dive fundamentals

Use header and optionally the toolbar area to maintain look and feel.

Page 38: Day2_1 ui deep dive fundamentals

Alerts can only be shown inside an application.

Displayable

ScreenCanvas

With chrome Full screen Alert List Form TextBox

ChoiceGroup

DateField

TextField

Gauge StringItem

ImageItem

CustomItem

Spacer

Implicit choice Exclusive choice Multiple choice

Page 39: Day2_1 ui deep dive fundamentals

In Alerts, place positive action at the top and negative action at the bottom.

Page 40: Day2_1 ui deep dive fundamentals

Lists allow only one list item type.

Displayable

ScreenCanvas

With chrome Full screen Alert List Form TextBox

ChoiceGroup

DateField

TextField

Gauge StringItem

ImageItem

CustomItem

Spacer

Implicit choice Exclusive choice Multiple choice

Page 41: Day2_1 ui deep dive fundamentals

Implicit choice Lists are made for drill down flows.

Page 42: Day2_1 ui deep dive fundamentals

Exclusive choice List must have always exactly one item highlighted.

Page 43: Day2_1 ui deep dive fundamentals

Multiple selection list should have select/unselect all actions in Options.

Page 44: Day2_1 ui deep dive fundamentals

Multiple choice List and Exclusive choice List require a ”Done” button.

Page 45: Day2_1 ui deep dive fundamentals

No focus in a list (1). Highlight only in a picker (2).

Page 46: Day2_1 ui deep dive fundamentals

A form is the most versatile screen to use with LCDUI components.

Displayable

ScreenCanvas

With chrome Full screen Alert List Form TextBox

ChoiceGroup

DateField

TextField

Gauge StringItem

ImageItem

CustomItem

Spacer

Implicit choice Exclusive choice Multiple choice

Page 47: Day2_1 ui deep dive fundamentals

Popup ChoiceGroup is preferred over the exclusive ChoiceGroup.

Page 48: Day2_1 ui deep dive fundamentals

The DateField components can only be used for setting a date and time.

Page 49: Day2_1 ui deep dive fundamentals

Hint text disappears now immediately when opening TextField.

Page 50: Day2_1 ui deep dive fundamentals

Gauge can be a slider or a progress indicator.

Page 51: Day2_1 ui deep dive fundamentals

StringItem displays text and allows hyperlinks and button creation.

Page 52: Day2_1 ui deep dive fundamentals

ImageItem crops the image if necessary.

Page 53: Day2_1 ui deep dive fundamentals

CustomItem allows drawing new elements e.g. a switch.

Page 54: Day2_1 ui deep dive fundamentals

Spacer adds space between two Form items.

Page 55: Day2_1 ui deep dive fundamentals

A text box can show editable text or non-editable text. Nothing else.

Displayable

ScreenCanvas

With chrome Full screen Alert List Form TextBox

ChoiceGroup

DateField

TextField

Gauge StringItem

ImageItem

CustomItem

Spacer

Implicit choice Exclusive choice Multiple choice

Page 56: Day2_1 ui deep dive fundamentals

Text color is changed according to the text state: non-editable, edit, edited.

Page 57: Day2_1 ui deep dive fundamentals

Ticker is available in Canvas, List, Form and TextBox.

Displayable

ScreenCanvas

With chrome Full screen Alert List Form TextBox

ChoiceGroup

DateField

TextField

Gauge StringItem

ImageItem

CustomItem

Spacer

Implicit choice Exclusive choice Multiple choice

Page 58: Day2_1 ui deep dive fundamentals

Ticker always appears right below the Header bar.

Page 59: Day2_1 ui deep dive fundamentals

LWUIT

Page 60: Day2_1 ui deep dive fundamentals

LWUIT is based on components instead of ready screens.

Page 61: Day2_1 ui deep dive fundamentals

LWUIT runs in LCDUI’s Canvas with or without Canvas’ chrome.

Page 62: Day2_1 ui deep dive fundamentals

Styled components are made of LWUIT components but named differently.

Page 63: Day2_1 ui deep dive fundamentals

LWUIT (Feedback) Banner is only for in-app-notification.

Page 64: Day2_1 ui deep dive fundamentals

Button may contain text or icon and can be customized.

Page 65: Day2_1 ui deep dive fundamentals

Dialogs should have not more than one accent button – if any.

Page 66: Day2_1 ui deep dive fundamentals

Grid or table should not exceed the screen horizontally.

Page 67: Day2_1 ui deep dive fundamentals

Usually the header is sticky, but not all views require a header.

Page 68: Day2_1 ui deep dive fundamentals

Group header groups content and does not separate single items.

Page 69: Day2_1 ui deep dive fundamentals

Use Label to give components a title.

Page 70: Day2_1 ui deep dive fundamentals

Lists can be customized to create fancy, exclusive and multiple choice lists.

Page 71: Day2_1 ui deep dive fundamentals

Picker should be opened in a new view and not be an in-line-edit item.

Page 72: Day2_1 ui deep dive fundamentals

Usually a determinate progress bar is preferred over a spinner.

Page 73: Day2_1 ui deep dive fundamentals

Use Slider for a continuous range of numerical values.

Page 74: Day2_1 ui deep dive fundamentals

LWUIT long-press menu and LCDUI long-press menu work in the same way.

Page 75: Day2_1 ui deep dive fundamentals

Tabs can use text or icons and they can be customized.

Page 76: Day2_1 ui deep dive fundamentals

Switch should only be used with truly opposite items.

Page 77: Day2_1 ui deep dive fundamentals

Text field is for one line.Text area is for multiple lines.

Page 78: Day2_1 ui deep dive fundamentals

Patterns

Page 79: Day2_1 ui deep dive fundamentals

Indicate empty states and enable people to add content there.

Page 80: Day2_1 ui deep dive fundamentals

Highlight errors and help fixing them; either with an Alert or inline.

Page 81: Day2_1 ui deep dive fundamentals

In full screen view show the chrome before you hide it.

Page 82: Day2_1 ui deep dive fundamentals

“Delete” should have a confirmation. “Remove” does not require a query.

Page 83: Day2_1 ui deep dive fundamentals

If people can populate a list, enable clean sweep.

Page 84: Day2_1 ui deep dive fundamentals

Refresh content by drag-down from top.

Add more content by drag-up from bottom.

Page 85: Day2_1 ui deep dive fundamentals

Add Cancel to each individual process.

Page 86: Day2_1 ui deep dive fundamentals

Drill down means also a clear single back-stepping path.

Page 87: Day2_1 ui deep dive fundamentals

Tabs are not inherited to the next lower hierarchy level.

Page 88: Day2_1 ui deep dive fundamentals

Since filtering by categories is based on textual items, it may replace tabs.

Page 89: Day2_1 ui deep dive fundamentals

Progressive Search is ideal for large internal content.

Page 90: Day2_1 ui deep dive fundamentals

Take home messages

Page 91: Day2_1 ui deep dive fundamentals

The visualization changed, but the APIs remain compatible.

Page 92: Day2_1 ui deep dive fundamentals

Back-stepping is done via a dedicated hardware Back/Exit key.

Page 93: Day2_1 ui deep dive fundamentals

Treat LWUIT and LCDUI as separate offerings – do not mix them.

Page 94: Day2_1 ui deep dive fundamentals

Literature and links

• UX Library for Nokia Asha:• http://www.developer.nokia.com/Resources/Library/Asha_UI/

#!index.html

• Nokia Asha Web app UX guidelines:• http://www.developer.nokia.com/Resources/Library/Nokia_A

sha_web_apps_library/#!design-library.html

• Nokia Asha UI component demos:• https://projects.developer.nokia.com/asha_ui_component_de

mos

Page 95: Day2_1 ui deep dive fundamentals

THANK YOU!Nokia Vietnam – Developers Experience: https://www.facebook.com/groups/viet.nok.dev/