Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.

Revision as of 12:48, 6 July 2012 by Krebbix (Talk | contribs)

Webinar Series 40 UI Design

From Wiki
Jump to: navigation, search

This article is companion for the Series 40 UI design webinars. It contains solutions and proposals for the webinar exercises and discusses open issues which could not be solved during the webinar Q/A session.

Article Metadata
Series 40
Created: Krebbix (29 Jun 2012)
Last edited: Krebbix (06 Jul 2012)


Webinar Series 40 Full Touch UI Style Guide, part 1, 28.06.2012 and 04.07.2012


How would this screen look in Series 40 Full Touch?

Webinar Series40 UI Design 01.png

Webinar Series40 UI Design 02.png
The original layout in Touch & Type is a canvas because of 2 reasons:
  • Lists do not allow different text formatting in one list item, e.g. title with black font and content with grey front is not possible; in addition a line break isn't possible neither
  • Lists do not support the use of a Middle Soft Key (also there is no possibility to add an Action Button #1 to Full Touch lists)
The Touch & Type canvas can be transferred into a canvas again. The content layout stays unchanged and Back and Options are replaced automatically with icons. However, the primary function “Add” in the middle soft key (Touch and Type) is replaced with a new icon “plus” (Full Touch). In Full Touch there is more content “above the fold” than in Touch & Type.

Create a sign-in view.

It should contain:

  • Username
  • Password
  • Setting for auto-fill password
  • Forgot password & help

Proposal 1:
Webinar Series40 UI Design 03.png
The environment is a Form screen. Username and password are filled via TextField and the Setting for auto-fill is done via a pop-up choice group. This proposal places Help and Forgot password under the Options menu. The login is done via the checkmark in Action Button #1

Proposal 2:
Webinar Series40 UI Design 04.png
The environment is again a Form screen with 2 TextFields and 1 pop-up choice group. In addition, there is a StringItem formatted as a Button and a StringItem formatted as a hyperlink. There is no action in Action Button #1.


The second proposal has everything available in the view, but it is not likely that it will work flawlessly with Touch & Type devices. However, since the additional elements in the view (Login button and Help hyperlink) are more prominent, it is expected to reduce interaction bumpers if the design is optimized for Full Touch.

Which component would you use to pick one of the following?

  • Monday
  • Tuesday
  • Wednesday
  • Thursday
  • Friday

Webinar Series40 UI Design 05.png
The pop-up choice group in a Form screen offers single selection out of a list. Also the exclusive choice group would have been a good choice. It depends on the environment. Usually collapsing UI elements are preferred if there are many different settings slots in a single view, whereas static UI components are usually preferred in case only few settings slots are available.

Please note, the LCDUI Tumbler (DateField) is not suitable for this task. It only can pick time and date, but no weekdays or any other values.

How would you replace a single choice item (aka switch)?

Webinar Series40 UI Design 06.png
You may find the following layout from a native application. Unfortunately, the single choice item is not available in the LCDUI.

Webinar Series40 UI Design 07.png
The proposal is similar to the previous problem, except that the pop-up choice group contains only 2 items.
Another solution would be a multi selection choice group with only one item. Also an exclusive selection choice group with 2 items is possible to replace a switch. The choice depends in the end again from the environment:
* pop-up choice group; best if used in a busy layout
* multi selection choice group (1 item), if there is a clear on/off metaphor (e.g. radio on/off)
* exclusive choice group if indicating the correct state is crucial, and on/off is not necessarily the right metaphor (e.g. dim light on/off vs. dimmed light – full light)

Which views can have a button? Are there any limitations?


Webinar Series40 UI Design 08.png Webinar Series40 UI Design 09.png Webinar Series40 UI Design 10.png Webinar Series40 UI Design 11.png Webinar Series40 UI Design 12.png

  • Alerts can have 0 – 3 buttons. Position and layout are predefined.
  • StringItem in a Form screen can be dressed as a button or as a labeled button. It is only possible to show one button per row.
  • The CustomItem in Form screen can host a button or a button group.
  • The full screen canvas can contain buttons. The 4th image shows custom surround-shaped push-buttons with icons and with additional text below the push button. If the button is based on icons it is many times beneficial to add text explaining the action being mapped to the button.
  • A canvas with a custom toolbar, as shown in the 5th image. Do not place more than 5 items in a toolbar.

Open issues from Q/A

What happens with the keypad if BT keyboard is detected?

Regarding connecting a Bluetooth enabled device to a full touch series 40 and getting input from the BT device into a custom 3rd party Java application, the following rules apply:

1. Direct connection of a BT device to a Java application is only possible if the BT device supports the Bluetooth Profiles that are coming with the JSR-82 (the Bluetooth API):

  • SDAP - Service Discovery Application Profile
  • RFCOMM - Serial Cable Emulation Protocol
  • L2CAP - Logical Link Control and Adaptation Protocol
  • OBEX - Generic Object Exchange Profile (GOEP) profile on top of RFCOMM and TCP

2. The Virtual Keyboard API does not provide any editor functionality. It merely launches and controls the virtual keyboard provided by the platform on low level Canvas and GameCanvas Components and returns into the application the key that was pressed with the help of the keyPressed(int key) method. So theoretically, one can call remotely the keyPressed(int key) method directly with a value that matches the integer value of the key that is supposed to be pressed.

Can text be formatted, e.g. rich text formatting?

Regarding StringItem one can change the font. Fonts have three attributes: Style (bold/italic), size (large or small) and face (monospace, proportional and system). One cannot change the color of a StringItem.

It is not possible to format the text in TextBox screen.

Canvas allows free formatting.

If formatting is needed for certain components, please have look into LWUIT if this is suitable for you.

How is the image in an ImageItem being cropped in landscape orientation?

Here is the example image:

Webinar Series40 UI Design QA 01.png

When the Layout is set to LAYOUT_LEFT or LAYOUT_CENTER, this is the result in portrait mode:

Webinar Series40 UI Design QA 02.png Webinar Series40 UI Design QA 03.png

When the Layout is set to LAYOUT_LEFT or LAYOUT_CENTER, this is the result in landscape mode:

Webinar Series40 UI Design QA 04.png Webinar Series40 UI Design QA 05.png
The cropping matches the requested layout.

How can you do custom gestures yourself?

1. It is possible to use the existing gestures and build your custom gesture on top of it; here 2 examples: - if you want to make your application to sense a figure of "8" on your screen, use a "drag" gesture and use the x/y values for your pattern recognition - if you want to use triple touch, e.g. to mark the entire text, use 3 single taps for your gesture recognition Gesture API link will be added.

2. It is possible to use the sensor API to e.g. get direct x/y/z information of the phone. this way, you can e.g. sense the position changes of the phone to detect if the user is writing a figure of "8" into the air (with the phone in her hand). The phone can detect accelerations between -2g and +2g. Sensor API link will be added.

Is it possible to store a small amount of data?

Yes it is. The persistent storage is done via RMS (Record Management System).
More information.

Is there a support to use the text editor API with full key event handling?

Please check from here:
More information.

Try your new knowledge and check the Asha Touch Competition 2012Q3

193 page views in the last 30 days.