Document 7281292

Download Report

Transcript Document 7281292

SM3121
Design for Small Devices
Mark Green
School of Creative Media
Introduction
Small devices have three main
limitations that effect design:

1.
2.
3.
Small screen size – maximum is 320x240,
on phones it could be 128x128 or less
Limited input devices – no keyboard, text
entry isn’t easy, no mouse
Limited storage – no mass storage devices,
some device have flash memory, but nothing
like a disk
Screen Size
 For
PDAs we can assume 320x240
 For phones we will use 128x128, some
are smaller and some are larger
 Small screens are very different from large
screens (at least 640x480)
 It is not just a smaller version of the same
thing, design and interaction are quite
different
Screen Size
 On




a large screen we can have:
Multiple windows
Multiple applications
Lots of icons and buttons
Complicated menus
 For
many applications we can see the
entire user interface, all the menus, all the
commands that we can select
Screen Size
 With
large screens we can rely on visual
recognition, the user will see what he or
she needs
 We can have multiple applications visible,
easy for the user to switch between
applications, just click in the window
 Easy to combine information from multiple
sources/applications
Screen Size
 We
can’t do this with small displays
 Can only have one window and application
at a time
 Not easy to switch between applications,
need several button presses
 Can’t see information from multiple
sources at the same time
 May not be able to see entire application
Screen Size
 Not
much room for user interface
 Often can’t show both user interface and
data at the same time
 Can’t show a complete menu on the
screen
 With large screen can have menus with 50
to 100 items, on a phone may only be able
to display 3 or 4 items
Screen Size
 User


interface implications:
User won’t be able to see entire interface,
won’t know what’s possible at a glance
May need to perform many actions to get to
the item that they want
 Using
these systems on the run, don’t
have time to explore all the menus, try to
find where a feature is hidden
Input Devices
 Most
devices just have a few buttons
 A phone will have 15-24 buttons, but
typically no way to point at screen
 PDAs have fewer buttons, but screen is
touch sensitive, can use stylus like a
mouse
 Text entry is quite difficult, combination of
key press, or virtual keyboard
Input Devices
 Phones
use buttons to navigate screen
and user interface
 Want to reduce button presses to a
minimum
 Phone designers want to have few keys,
phones are smaller
 Few keys makes it hard to design the user
interface
Input Devices
 Can’t
have a key for each function
 Each key must have multiple functions,
used for different things
 How does the user keep track of the
functions, know what the key will do
 Some keys used for general operations,
scrolling up and down a menu, making
selections
Input Devices
keys – key changes function
depending upon what you are doing
 Very common on phones
 Need to tell user what the key will do
 Label of soft key shown on display,
changes when function changes
 Takes up display space, users must
associate label with key
 Soft
Storage
 Can’t


store a lot of stuff on mobile devices
Phones have around 1 MByte, some phones
now have a lot more
PDAs can have 32 or 64 Mbytes
 Can’t
have a lot of applications, and none
of them can be large
 Can’t have a complete office suite, not
near enough storage space
Storage
 Also
can’t have a modern PC game, some
require over 1GByte
 Slow data communications complicates
the problem, phone can’t quickly get large
amounts of data
 Need to think carefully about what an
application needs, what the user really
needs to have with them
Storage
 Carefully
calculate image resolutions,
don’t want to store more data than can be
displayed
 Are all the images necessary? Can they
be compressed?
 Only include the functions that people
really need
 Keep it simple
Social Issues
 Mobile
devices have a different social role
than PCs
 A PC stays in one spot, it may be yours
but it doesn’t move with you
 Its used for a wide range of tasks
 Mobile devices are more personal, you
carry them with you, they are used for
communications
Social Issues
 Mobile
versus stationary is important
 A PC is associated with place or location,
we see its role based on its location


An office PC for office work
A home PC for games and entertainment
 Mobile
devices move with us, they can
have many roles, but the emphasis is on
communications, social interaction
Social Issues
 Mobile
devices used in a range of places
in different roles
 Don’t have control over the environment,
who is around you, level of privacy
 Mobile devices are personal, people want
to make them different, a statement about
themselves
 People become attached to their mobile
devices
Social Issues
 Communications
technologies change our
behavior
 Expect fast replies from email, but willing
to wait a week or more for a written letter
 Email is between written and spoken
communications, we expect people to
respond quickly, be less formal than
written communications
Social Issues
 SMS
has produced new languages that
aren’t used elsewhere
 Small screens and text entry difficulties
result in many abbreviations and special
expressions
 Developed around SMS and only use
there
 How will people react to our application?
Social Issues
 Need
to study people in their own
environment, where they work and play
 How do they want to use the technology?
 Remember that there are differences
between cultures
 Applications acceptable in one culture
aren’t acceptable in another, need to
consider this
Social Issues
 Example:
in Japan it is considered rude to
talk on a mobile phone in public
 Instead SMS is used in public areas
 Rarely hear someone talk on phone in
trains, buses, etc
 Here it is considered normal to yell on
phones in public areas
 In North America that would be view as a
sign of aggression and criminal behavior
Basic Design
 Design
constraints drive our design
approach
 Need to make good use of limited
resources, strip our applications down to
the bare essentials
 Start with the problem of context
 With PCs we can usually see all the
information that we need
Basic Design
 On
PCs cut and paste is common, easy to
move things from one application to
another
 Can’t do this on a mobile device, can only
run one application at a time
 Can only see one small screen full of
information at one time
 Most have everything we need visible or
easy to remember
Basic Design
 Requires
a rethink of applications
 On a PC can use a set of applications,
each responsible for one set of data, to
perform a task
 On a mobile device, all of this information
must be in one place, or very easy to get
to, must think about what the user is doing
and the information required
Basic Design
 The


key difference between applications:
PC: designed around data
Mobile: designed around the user’s task
 Example:
designing a web site
 For a PC, we think about the information
we want to tell the user, design the pages
around the information
 An issue of information organization
Basic Design
 On
a PC users expect to find a well
organized web site, based on the
information, exploration is okay could even
be fun
 On a mobile device exploration is difficult,
users concentrate on the task at hand
 What to get at all of the relevant
information quickly, preferably on one
screen
Basic Design
 Example:
web site for an Arts Festival
 On PC will want to have lots of images,
draw people into the site, encourage them
to attend events
 Event listing could be one page with all the
information on all of the events, presented
in a table that the user can scroll through
 Able to see all the events in summary form
Basic Design
 This
won’t work on a mobile device, barely
enough room for one event’s information
 User won’t be interested in browsing, will
probably want the information on a
particular event
 They are in the MTR heading for the
event, they want to know when and where
it is, directions for getting there
Basic Design
 User
wants to enter the name of the event
and get location, time, directions as a
response
 This can all be placed on one screen
 Need to have a quick way to navigate to
this information on our mobile web site
 Summary: think about what the user wants
to do, this is harder than just designing a
basic site
Design Framework
 A few
standard approaches to design,
some systems force you to follow a strict
framework
 Applications organized as a set of screens
 One screen is visible at a time
 Limited number of options on each screen,
a few buttons to press, a menu, text entry
 Small number of interactions
Design Framework
 Think
about device screen size, many can
scroll horizontally and vertically, but this is
hard to use
 Avoid horizontal scrolling, users quickly
get lost, vertical is okay if designed well,
user knows to scroll
 The idea is that the user should be able to
find everything they currently need on a
single screen and it should all be visible
Design Framework
 The
user moves from screen to screen
based on their input
 For a web based application can download
several screens at a time, but will
eventually need to fetch more screens
from the server
 For non-web based applications, all the
screen will be generated locally, no need
to wait for download
Design Process
 Our
design process should be task driven
 Determine what the user wants to do, the
things that he or she wants to accomplish
 Why do they want to use our service or
application?
 What is the purpose of the interaction?
 What information are they after?
Design Process
 First




determine the set of tasks:
Talk to users, find out what they want to do
Think about what you would like to do
Ask the customer
Guess
 For
each task determine its priority or
importance and the information required to
complete it
Design Process
 Priority
is used to determine its position on
the menu
 May only be able to display 4 menu items
at a time
 The first 4 are easy to get at, after that the
user must scroll, this will require a button
press for each item
 Want to reduce button presses, so most
important item must be first
Design Process
 The
information required for the task
determines the set of screens required
 Want a small number of screens and few
button presses
 Also want to reduce the number of
exchanges with a server, since this will
take time
 Gather as much information as possible
on each screen
Design Process
 Divide
the work between the mobile device
and the server
 Information retrieval will have to go on the
server, be as specific as possible
 Other things are harder to design, things
to keep in mind:


Processing power of the device
Cost and time for communications
Design Process
 Good
idea to validate user input on the
device, don’t rely on server for this
 Communications is expensive and slow,
want to get the most out of each exchange
 If there are errors in the input, you get
nothing out of the exchange!
 Cannot validate everything, but should do
as much as possible
Design Process
 Remember
that input is hard on a mobile
device, particularly text
 Try to avoid text input, use selection
wherever possible
 Common items as selections, then use
textbox for less common items
 Use defaults whenever possible, use input
format to avoid switching modes
Design Process
 At
the end of the design process we will
have a set of screens
 Know the information that should appear
on each screen and the processing
required
 Need to decide on implementation
approach, will this be a web application or
will it require Java?
Design Documentation
 How
do we describe our design?
 What documentation techniques can
assist with design?
 There are two things to keep track of:


Screen content
Relationship between screens
 These
can be described separately
Design Documentation
 For




each screen need to record:
Content of the screen
Interaction
Links
Layout
 This
could be done in several ways, we
could have a written description of each
screen, may be only choice if we aren’t
sure of its design
Design Documentation
 Better
approach is to use some graphical
representation
 Basically draw a picture of the screen
 Easy to do if the content is static, may be
more difficult with dynamic content
(examples: game, video, streaming)
 Could use a pencil sketch of each screen,
good approach in early design
Design Documentation
 Use
a word processor or drawing program
to produce screen images
 More work, but better for final
documentation
 Can capture more of the details, like fonts,
styles, size of elements, etc
 Don’t need to be exact, need some way to
capture your thoughts
Design Documentation
 Relationships
between screens: how to we
navigate between screens?
 For mobile devices this will usually be a
hierarchy, something that is easy to
remember
 Again a graphical representation is
probably the best
 Easier to see how the screens are related
Design Documentation
 Use
simple diagram with a box for each
screen, put name of screen in box
 If there is a link from screen A to screen B,
draw a line from the box for A to the box
for B
 Put the main screen at the top of the page
and work down
 This will show the structure of the
application
Design Documentation
Main
Task A
Task A1
Task B
Task A2
Task B1
Task C
Task B2
Task C1
Task C11
Task C12
Design Documentation
 The
example was created in a few minutes
using PowerPoint, could use this to quickly
outline the structure of the application
 Diagrams shows the usability of the
application:


Is the tree too deep, requires too many clicks
to get things done
Too many branches, hard to design easy to
use menus
Design Guidelines
 Details
of design could depend upon how
we implement the application, but there
are some general design guidelines
 Determine the devices you will support:




Minimum and maximum screen size
Colour
Number of buttons
Type of text entry
 May
not support all devices
Design Guidelines
 Keep
smallest screen in mind when
designing
 Want to avoid horizontal scrolling, all
elements should be narrower than screen
width, check images for this
 Vertical scrolling is okay, but still need to
be careful, may require many button
presses to get to the end of the screen
Design Guidelines
 Use




compact layouts:
Don’t waste space
Avoid large vertical gaps, confuses some
users
Flow text around images
Don’t use decorations, keep to the essential
material
 Remember
for the user
the task at hand, make it easy
Design Guidelines
 Keep
text simple
 Most mobile devices don’t have a large
number of fonts, maybe only 2 or 3, so
don’t specify particular fonts
 Keep variations in style to a minimum, only
two or three styles per page
 On a small screen too many text styles
look bad, too hard to read
Design Guidelines
 Control
use of colour, many phones don’t
have colour displays!
 Colour quality may be poor on low end
phones and PDAs
 Use simple background colour, and only a
few foreground colours per screen
 Don’t refer to items by colour, won’t work
on b&w phones
Design Guidelines
 Aim
for a consistent look
 The same basic layout or design on each
screen, few different screen types
 Easier for the user to find information,
know how to use the application
 Remember, they will be doing something
else while using your application, don’t
have 100% of their attention
Design Elements
 What
can I put on a screen?
 Depends on how the application is
implemented
 Look at what we can do with web pages,
this will work on the widest range of mobile
devices
 Later look at Java and other
implementation techniques
Design Elements
 To


be specific we will look at:
Mobile profile of xHTML, xHTML MP
WAP cascading style sheets, WCCS
 This
will run on most modern mobile
phones
 Similar to using HTML, divide a web site
into a number of pages, each page is a
separate file
Design Elements
 Browser
downloads one file at a time
 May want to put several screens in the
same file to save download time
 Standard screen format:



Title: page title at the top of the screen
Softkeys: one or two keys at the bottom of the
screen
Body: the rest of the screen
Design Elements
Design Elements
Design Elements
 The
title should be fairly short, less than
14 characters, indication of screen content
 Not all users will read the title, so don’t put
anything crucial there
 Softkeys may not be available, some
browsers use them for their own
commands
 Be careful not to confuse the user here
Design Elements
 Can
have most of the standard text items
 Think carefully about formatting text
 Long lines will wrap to the next line by
default on most browsers
 Use breaks <br/> to control text layout,
don’t try to be much fancier
 Look at the screen shots to see just how
little space there is for text
Design Elements
Design Elements
 Notice
the difference in formatting
between the two phones
 This is a simple list, imagine what would
happen with more complex layouts
 The screen size has a large impact on
formatting
 Need to test on several phones to see how
things will look
Design Elements
 There
are two ways to get more control
over format:


Use style sheets or <style> element
Use tables
 Tables
can be used in xHTML MP, either to
control layout of items or to present tabular
data
 You need to be careful with tables, or they
will make the formatting worse
Design Elements
 Be
careful of table width, two columns is
probably the widest
 Avoid column labels, they take up space
and are a waste if the table content is
obvious
 Keep cell content short, long content can
cause too much vertical scrolling to read
the table
Design Elements
Design Elements
Design Elements
 Changing
the table style gives it a different
feel, can easily experiment with this using
style sheets
 Hyperlinks are used to:




Load another file
Move within the current file
Dial a phone number
Send an email
Design Elements
 Linking
within the same file is a useful
technique
 Divide the file into several logical screens,
could contain related information
 Can then jump from one logical screen to
another
 Happens quickly since a new file doesn’t
need to be downloaded
Design Elements
 In
theory this sounds easy, but in practice
it takes a lot of planning
 Need to have blank space on the xhtml
page between the logical screens, don’t
want to see part of next screen while on
current screen
 Amount of blank space will vary from
phone to phone, need to do a lot of
experimentation
Design Elements
 On
Nokia phones links can appear on
Option menu, look like commands, easy to
get to
 Access keys can be associated with links,
one of the phone keys (numbers 0-9)
 When key pressed the browser will
transfer to the link, fast access to a screen
 Doesn’t work on all phones
Design Elements
 Don’t
underline regular text, users will
think it’s a hyperlink
 Users can’t mouse over text to see if it’s a
link, like on a PC browser, so underlined
text will confuse
 Don’t remove underline style from
hyperlinks, users won’t know that they can
select it
Design Elements
 Forms
can be used to collect information
from the user
 Works in basically the same way as html
forms, and could probably be used with
the same scripts
 Collects information from the contained
elements and sends it to the server for
processing, gets a new page back in
return
Design Elements
 Most
of the standard input elements can
be used including:






Text
Checkbox
Radio buttons
Text area
Selection
Hidden
Design Elements
 When
designing a form keep the following
in mind:




Reduce text entry as much as possible
Use defaults to reduce the number of user
actions
No unnecessary labels and text, don’t want
the user to scroll too much
Just collect the necessary data
Design Elements
Design Elements
Design Elements
 You
can use hidden elements to store
state between pages
 Example: customer number, so we know
what they have ordered
 You should keep this to a minimum since it
will be sent to the phone for each page
 Remember people are paying by the
minute or KByte for access to your service
Design Elements
 With
forms need to write scripts for the
server to process the information
 Usually done with CGI, but there are
packages that can do some of this for you
 You may need a programmer to help with
this
 Also need to work with ISP to ensure they
can run the scripts
Java
 Why
would we want to use Java and not
xHTML?




Application is too complex for xHTML
Dynamic application, lots of screen updates
Application requires a lot of computations,
better to do on the device
An xHTML application would require too much
network bandwidth, would take too long or
cost the user too much
Java
 Why
not use some other language or
package?



Java is already available on most phones,
don’t need to download a plugin, saves user
time and money
As developer, we can assume its there,
makes our job simpler
Run on most modern phones, PDAs and even
on Lego, write the code once
Java
 Not
going to force you to do Java
programming, but if you are interested you
can give it a try
 Need to understand the process of running
a Java application on a mobile device
 Need to know what can be done in Java,
whether your application can use it,
whether its easy
Java
 Will
look at the MIDP profile, widely
available, but not the only one
 A MIDP based Java application will run on
the widest variety of devices
 Start by looking at the process of loading
and running a Java application, then look
at the design elements that Java gives us
Java Applications
How do Java applications get onto a
mobile device?
Lets start with phones
As a developer we produce two files:



1.
2.
Jar: this file contains the program and
anything it needs (images, sounds, etc)
Jad: a text file that describes your
application, name, version, size, author, etc
Java Applications
 When
the user requests the application,
the phone tries to download it
 First it checks the Jad file:


Will the program fit on this device?
Do we already have this program?
 The
Jad file is small, and can save time
and money if the application is too large,
or we already have it
Java Applications
 Next
the Jar file is downloaded and stored
on the device, as long as we have enough
memory it only needs to be downloaded
once (different from xHTML applications)
 For PDAs the process is a bit simpler,
usually the files are just copied from a PC
 Need to have a small program that starts
Java with our program
Java Applications
 A MIDP
application is called a MIDlet, a
program designed to work with a phone
 Only one application can run at a time,
have control of the screen, but we want to
switch between applications
 When applications switch, the old
application keeps track of its data, can
quickly switch back and continue
Java Applications
How do MIDlets do this?
All MIDlets have three standard
procedures:


1.
2.
3.
startApp() – called when the application
should start running
pauseApp() – called when we switch to
another application
destroyApp() – called when the user want to
quit the application
Java Applications
 When
our application starts, the phone will
call startApp()
 When applications switch, pauseApp() is
called, when the user switches back to this
application startApp() is called again
 This is an organized way of passing
control between applications, works
around the limitation of one application
running at a time
Design Elements
 Like
xHTML, MIDP is screen oriented
 An application can have any number of
screens, but only one is displayed at a
time
 Program switches between screens based
on user actions
 Screen limited to width of display screen,
but can scroll vertically
Design Elements
 With
Java we get more freedom in how we
format the screen, depending upon what
packages we use
 The high level library based on the Screen
class produces interfaces similar to
xHTML
 We have a title, the screen contents and
then some soft keys for navigation
Design Elements
Design Elements
 Pressing
the next button gets us to the
next screen
 This screen has a list of commands, that
end up on a soft key menu
 Two of these commands take us to alerts
that produce short information screens
 Note: this may end up looking different on
other versions of MIDP
Design Elements
Design Elements
Design Elements
 There
is a problem with this design, the
user must click the menu key to see the
options
 A list screen solves this problem, we can
give it a set of names to construct a menu
from
 Unfortunately, this takes up screen space,
so there are tradeoffs involved
Design Elements
Design Elements
 Information
can be collected from users
using standard elements:






Text fields
Text areas
Check boxes
Radio boxes
Dates
Progress meters
Design Elements
Design Elements
 This
example has a ticker across the top
of the screen requesting information
 The ticker element is the width of the
screen and scrolls its contents across the
screen
 There are two text fields on this form that
collect the name and address of the user
 This info is saved in the program
Design Elements
 An
information alert is then used to verify
the information and thank the user
 Check boxes and radio buttons look
basically the same as xHTML and behave
in the same way
 The date and progress meters are
interesting and worth taking a look at
Design Elements
Design Elements
 On
some implements of MIDP the date
element is a calendar or clock,
unfortunately in the emulator it’s a simple
entry field
 A gauge element can be used to show
progress, or even enter a value
 It can be used to show the progress of a
download or computation
Design Elements
Design Elements
 The
emulator shows a relatively primitive
progress bar, other implementations may
show better ones
 The user can click on either end of the bar
to change the value
 This could be used to enter a numeric
value
Examples
 To
see what can be done its worth taking a
look at what others have done
 Most mobile service companies provide
downloads and have previews and short
descriptions of the applications
 Take a look at some of the local ones, see
what they currently have on offer, and how
much they charge for them
Examples
 There
are some good web sites showing
different types of games
 Open of the better ones is
http://www.handy-games.com
 They have a variety of games for different
types of services, such as Java, WAP,
MMS and i-mode
Java Games
1805 French Empire
1941 Frozen Front
Java Games
Ice Racer
MMS Game
Examples

Another site with a
collection of games
on it is
http://www.wirelessga
mes.com
 Fast and Furious a
racing game
Examples
Arkanoid
Examples

Another well known
mobile game
company is Dwango
http://www.dwango.co
m
 Here is their Aqua-X
game
Examples
Dwango Racing
Examples

Cocoasoft Cocktail Manager, and SMS based
program for cocktail recipes
Examples
Eon the Dragon
Examples
Mobile Grand Prix