Mobile Web Design & Development 2011

130
Mobile Web Design & Development 1 2

description

 

Transcript of Mobile Web Design & Development 2011

Mobile Web Design & Development12

In the mobile telecommunications industry, the technology is represented by two separate, yet equally important groups: the mobile devices, and the cellular networks that connect them. (These are their stories...)

2

Evolution of cell networks

1G, 2G, 3G, 4G...

generations of cellular network technology that describe the maturity and capabilities of cellular networks

most obvious trend is speed/bandwidth increase

3

Evolution of mobile devices

4

Candybar era: 1988 - 1998

6

Critical mass. Mainstream.

SMS (first non-voice communication)

Feature phone era: 1998 - 2008

7

cameras

addition of packet-switched data services to networks allowed first use of the Internet on a phone.

little real innovation and inconsistent interpretation of agreed upon standards.

WAP 1.0 and WML provided a “dumbed down” version of the web

stifled by network operators who focussed on providing downloadable ringtones, wallpapers, themes etc they could sell through network portals.

poor adoption of mobile web by consumers

Motorola RAZR

Smart phones: 2002 - present

8

some overlap between what is considered a feature phone and a smart phone.

use a common operating system, a larger screen size, a QWERTY keyboard or stylus for input, and Wi-Fi or another form of high-speed wireless connectivity.

consistent frameworks for creating applications and services, and a reusable infrastructure to innovate

WAP 2.0 specified use of cut down versions of XHTML (XHTML-MP) and CSS, bringing development back in line with the desktop web.

Though standards compliance is still poor.

Some early mobile web browsers

9

Text

NetHopper for Apple Newton

Pocket Internet Explorer 3.0

Opera Mini

http://www.phonearena.com/news/Evolution-of-mobile-web-browsing_id9059

10

Touch phone era: January 9, 2007 - present

Though the majority of the technology in the original iPhone had already been available from other manufacturers, what was notable about the iPhone was how it changed every-day perceptions of what mobile technology can do.

It made using the mobile web worth while from a consumer standpoint.

http://bits.blogs.nytimes.com/2008/03/18/iphone-users-are-mobile-web-junkies/

It made developing for the mobile web worth while from a content provider and developer standpoint.

Standards compliant web browsers that use the same rendering engines as their desktop counterparts.

11

12

Why mobile?Of the 6 Billion people on Earth, 3.6 Billion people own or have access to mobile devices.

Of those 1.6 Billion (and growing rapidly) have access to the web through a mobile device.

Thats 500 million more people than have access to Internet connected desktop computers.

13

predicted growth of mobile web access

“The [mobile] phone is bigger in its reach than the car (800 million), TV (1.5 billion), or Internet (1.1 billion). It will make bigger changes in the next decade than any of these did. The [mobile] phone adds the combined utility of the fixed telephone, Internet, computer, credit card, and TV. The phone will impact your life in more ways than we can imagine, because of its multi-functionality aspect, and its reach.” - Tomi Ahonen

http://fora.tv/2009/09/24/

14

15http://www.quantcast.com/docs/display/info/Mobile+Report

Worldwide, the share of Internet pageviews originating from mobile devices increased 148% in the year to December ’09

Global population vs Mobile population

16

17http://www.quantcast.com/docs/display/info/Mobile+Report

Worldwide, the share of Internet pageviews originating from mobile devices increased 148% in the year to December ’09

18http://gs.statcounter.com

Operating System share of mobile web

19

Browser share of mobile web

http://gs.statcounter.com

20

Browser share of mobile web by region - Africa

http://gs.statcounter.com

21

Browser share of mobile web by region - South America

http://gs.statcounter.com

22

Browser share of mobile web by region - Asia

http://gs.statcounter.com

23

Browser share of mobile web by region - Japan

http://gs.statcounter.com

24

Browser share of mobile web by region - Europe

http://gs.statcounter.com

25

Browser share of mobile web by region - North America

http://gs.statcounter.com

26

Browser share of mobile web by region - Oceania

http://gs.statcounter.com

Identifying target market

The global mobile device market is especially fragmented. Usage trends rarely map neatly across geography or demographics such as age, wealth, gender, education, profession etc.

It is therefore critical more-so than ever to identify and profile your target users’ needs and capabilities.

27

How do people use the mobile web?

Most common content segments are news, email, weather, sports, city guides, and social networks

Mobile users tend to perform quick, task based behaviours, often whilst in-between other tasks or multi-tasking.

Mobile usage in Australia 2009

43% of online Australians now own a smartphone

26% of social network users participated in mobile social networking in the past year.

66% of mobile social networkers are under 35 years of age

29http://blog.nielsen.com/nielsenwire/global/australia-getting-more-social-

online-as-facebook-leads-and-twitter-grows/

Mobile internet usage in Australia 2010

30http://www.about.sensis.com.au/small-business/sensis-ebusiness-report/

96% of Australian consumers own a mobile phone

of these 41% use it to access the internet (up from 26% last year)

Mobile internet usage in Australia 2010

31http://www.about.sensis.com.au/small-business/sensis-ebusiness-report/

Accessing information was a key use of internet on mobile phones, with looking for maps, weather and news the top applications.

Social networking was also a highly used application; on par with people looking for information on products and services (56% each).

Mobile internet usage in Australia 2010

32http://www.about.sensis.com.au/small-business/sensis-ebusiness-report/

Australians are not just using the internet on their mobile phones when other methods of connection are not available. The most frequently nominated places for Australians to use the internet on their mobile phones was at home or work (42%), regardless of the fact that they were likely to have other methods to connect to the internet at either of these locations.

Developing a mobile strategy

1. Define the users’ context.

2. Determine users’ goals and how they are altered by context.

3. Determine the tasks the users want to perform to achieve goals.

4. Filter content by context, such as location, media, and model.

ContextMobile devices have an unparalleled ability to leverage the context in which information is consumed (and produced)

Context refers to the surroundings, circumstances, environment, background, or settings which determine, specify, or clarify meaning - a mental model to establish understanding.

physical context (e.g. location)

media context (what device is being used to access the content)

modal context (user’s state of mind)

ContextWho are your users? What do you know about them? What type of behaviour can you assume or predict?

What is happening? What are the circumstances in which they will best absorb the content you intend to present?

When will they interact? When they are home and have large amounts of time? At work, where they have short periods of focus? During idle periods, while waiting for a train?

Where are they? Are they in a public space or a private space? Are they inside or outside? Is it day or is it night?

Why will they use your app? What value will they gain from your content or services in their present situation?

How are they using their mobile devices? Are they held in the hand or in the pocket? How are they holding it? Open or closed? Portrait or landscape?

from Mobile Design and DevelopmentPractical concepts and techniques for creating mobile sites and web apps by Brian Fling

Application contextutility:

short, task-based scenarios

minimal input, at-a-glance information

e.g. calculator, clock, weather forecast

locale:

use geolocation data to add context to information - e.g. find restaurants close to me.

e.g. google maps, foursquare

informative:

only goal is to provide information. Importance is on providing relevant information up front.

e.g. news sites, google reader, wikipedia

productivity:

heavily task-based content and services.

e.g. ebay, banking

immersive:

designed to consume the user’s attention.

often for entertainment purposes.

e.g. games, video, google street-view

Application context

from Mobile Design and DevelopmentPractical concepts and techniques for creating mobile sites and web apps by Brian Fling

Sovereign vs Transient applicationsovereign application monopolises the user's attention for long periods of time (e.g. wordprocessor)

transient application comes and goes, presenting a single, high-relief function with a tightly restricted set of accompanying controls. The program is called when needed, it appears and performs its job, then it quickly leaves (e.g. instant messaging/SMS application)

desktop applications tend to be sovereign while mobile applications tend to be transient.

Advantages of Mobile Devices

PopularityPersonal and personalisablePortableConstant connectivity, always on and always with youAt the point of creative impulseBuilt-in payment channelCaptures social context of media consumption/productionCan interact with their environment

Mobile devices can interact with their environment

clockcalendartelephonymessagingambient lightcompass

cameramicrophonethermometergeolocationaltitude

Mobile is a usage scenario more than a form factor

mobile users are mobile

they expect applications to adapt to their (unpredictable) surroundings

Mobile Device Design ConstraintsPresentation Issues

Screen size, resolution, colour reproduction

http://sender11.typepad.com/sender11/2008/04/mobile-screen-s.html

Mobile Device Design Constraints

InputLimited keypad, small keysPointing device? Touch? D-pad?Affects navigation

Bandwidth & CostSpeed and latency issues, especially for lengthy content or content that requires a lot of navigation between pages

Mobile Device Design Constraints

Hardware limitationsProcessing power, memory, battery life etc.

Usage environment is unpredictable and changing (e.g. lighting conditions)User Goals

more immediate and goal-directed intentions than desktop web users

Limited, adhoc or no standards complianceLimited implementations of html, css and JavaScript

Mobile Device Design ConstraintsDevice fragmentation

Proprietary browsersThe range of device and browser capabilities is much, much more varied than on the desktop

Taming the madness - databases like Device Atlas and WURFL which contain data on thousands of mobile devices.

Implementation options for mobile applications

from Mobile Design and DevelopmentPractical concepts and techniques for creating mobile sites and web apps by Brian Fling

Native mobile application

49

Pros

Offer best user experience, leveraging all device features.

Built in revenue model (app stores)

Cons

Cannot be easily ported to other mobile platforms - multiple device support is costly.

Require certification and distribution from a third party that you have no control over.

Require you to share revenue with the one or more third parties.

Mobile web application

50

Pros

Easy to create, using basic HTML, CSS, and JavaScript knowledge.

Simple to deploy across multiple handsets.

Content is accessible on any mobile web browser.

Cons

Can be challenging (but not impossible) to support across multiple devices.

They don’t always support native application features, like offline mode, location lookup, filesystem access, camera, etc.

W3C Mobile Web Best Practices 1.0

http://www.w3.org/TR/mobile-bp

Mobile browser capabilities

from Mobile Design and DevelopmentPractical concepts and techniques for creating mobile sites and web apps by Brian Fling

Main Mobile Browser Engines

53

Webkit Presto Gecko TridentSafari

ChromeMobile Safari

Android BrowserBlackberry

PalmKindle

OperaOpera Mobile

FirefoxFirefox Mobile

(Fennec)

Internet ExplorerIE Mobile

WebkitSame rendering engine as used in Safari and Chrome on the desktop - capable of rendering the “real web” on mobile.

Standards compliant.

Used in mobile browsers by Apple, Android and Nokia, which together account for by far the largest chunk of of the mobile internet market.

Influencing other browsers to catch up fast.

54

HTML 5 to the rescue.HTML 5, and the current climate of intense development around optimising both desktop and mobile browsers for web applications are quickly closing the gap between web and native applications, especially in the mobile domain.

http://html5demos.com/

http://www.chromeexperiments.com/

http://www.apple.com/html5/

New functionality allowed by HTML 5 includes:

native support for audio and video (without plugin)

canvas element for drawing / animation

document editing

offline storage (keep working without internet connection)

drag and drop

geolocation

55

CSS 3allows for creating more complex designs using the minimum of images, making it ideal for mobile design

gradients

transitions

animations

custom typography

http://www.css3.info/preview/

57

Full-screen web apps

59

<meta content="width=device-width, user-scalable=no, initial-scale=1.0" name="viewport" />

<meta name="apple-mobile-web-app-capable" content="yes" /><meta name="apple-mobile-web-app-status-bar-style" content="black" />

<link rel="apple-touch-icon" href="images/myappicon.png"/>

<link rel="apple-touch-startup-image" href="images/startup.png"/>

http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html

Native application vs web application - the narrowing gap.

http://www.slideshare.net/mihaiionescu/html5-and-google-chrome-devfest09

Native application vs web application?

either way the implementation may differ, the design principles are very much the same

Designing for multiple screen sizes and orientations

http://mobiforge.com/designing/story/effective-design-multiple-screen-sizes

http://sender11.typepad.com/sender11/2008/04/mobile-screen-s.html

Average screen size is increasing.

Pixel density

physical screen size and resolution do not map as neatly on mobile as they do on desktop

pixel density is increasing faster than physical screen size (fingers remain largely the same)

Designing for multiple screen sizes and orientations

Decide early on which screen sizes you will design for (needs analysis).Write semantic code that communicates without the addition of complex visuals.

Where possible use flexible layouts that automatically adapt/scale to screen width. (Modern, touch browsers are good at doing this themselves with pinch-zoom, tap-zoom and auto-orientation)

Responsive web design with CSS media queries - http://www.alistapart.com/articles/responsive-web-design/

Define rules for content adaption across screen sizes.

Viewport meta tags<meta name="HandheldFriendly" content="true" />

<meta name="MobileOptimized" content="320" />

<meta name="Viewport" content="width=device-width" />

Viewport meta tags

With Without

Information architecture - Navigation

Most make or break component of mobile interface design. Users will quickly get frustrated with poor navigation and go elsewhere / give up.

Affected by both display and input and compounded by the network latency.

Navigation - inputScroll Touch

Design touch friendly web pages

Finger tips are typically around 10mm in size

Space elements far enough apart to avoid overlaps between touch targets.

A stylus can easily be used on an interface designed for touch, but not the other way round.

Take advantage of multi-touch gestures

use sensors, local storage, contextual form inputs etc to reduce required manual input.

Contextual HTML5 form inputs

73

Contextual HTML5 form inputs

74

Mobile contextual links<a href="tel:0412345678">Call Me</a>

<a href="sms:0412345678">SMS Me</a>

75

Navigation - desktop vs mobile

Typical desktop webpage layout with horizontal primary navigation and secondary sidebar navigation does not map well to the mobile

Navigation - desktop vs mobile

Typical mobile webpage layout

Design for vertical scrolling

The most contextual information at the top

Content consumes majority of the screen

Exit points at the bottom

Navigation - mobileThe most common method of creating mobile navigation schemes is to use a simple vertical list of options, often assigning and listing the corresponding numbers (0–9) to the accesskeys for keypad navigation.

Showing multiple levels of navigation within your list usually doesn’t work well because it gives users too many options and consumes valuable screen area. A better way is to show only the options related to the page they’re viewing.

http://mobiforge.com/book/mobile-web-navigation-paradigms

Putting contextually relevant information above the fold

The area of a page that is viewable without scrolling (known as “above the fold”) is much smaller on a mobile screen.

The most contextually relevant information should appear above the fold.

Use top-aligned labels for forms

Designing for different mobile browser capabilities

from Mobile Design and DevelopmentPractical concepts and techniques for creating mobile sites and web apps by Brian Fling

Progressive enhancement / graceful degradation

from Mobile Design and DevelopmentPractical concepts and techniques for creating mobile sites and web apps by Brian Fling

Keep content, logic and presentation separate

Model

Controller

Views

e.g. MySQL Database

e.g. Wordpress

e.g. Template

Model-View-Controller Framework

Model

Controller

Desktop Views Mobile Views

Keep content, logic and presentation separate

e.g. MySQL Database

e.g. Wordpress

e.g. Template

Wordpress Mobile Pack Pluginhttp://wordpress.org/extend/plugins/wordpress-mobile-pack/

Selects themes based on the type of user visiting the site.

XSLT (Extensible Stylesheet Language Transformations)

Content is defined as XML and then XSLT is used, along with multiple markup languages like HTML, XHTML, WML, XHTML Basic, XHTML-MP, and so on, to provide the proper rendering markup for the viewing context

http://www.w3schools.com/xsl/

http://en.wikipedia.org/wiki/XSLT

Device Independent Authoring Language (DIAL)

Working draft standard for a markup language for the filtering and presentation of Web page content available across different delivery contexts.

intended XML language profile of XHTML2 (also a draft)

http://www.w3.org/TR/dial/

CSS media queries

http://css-tricks.com/6731-css-media-queries/

http://www.w3.org/TR/css3-mediaqueries/

Detect client capabilities with Javascript

mo

http://diveintohtml5.org/detect.html#geolocation

ModernizrModernizr is a small JavaScript library that detects the availability of native implementations for next-generation Web Technologies.

http://www.modernizr.com/

Desktop Web to Mobile WebWhat content/functionality from my desktop web site will be useful on a mobile device?

How will it need to be re-presented so that it works in a mobile context?Will it still be familiar to the user once it is re-presented?

What content/functionality will I leave out of the mobile website?

Will it break?What extra or enhanced functionality can a mobile website offer my users that the desktop version does not?

Desktop Web to Mobile WebDesktop

Mobile

Shared functionality, different presentation

Extended/enhanced functionality

Cipher Cities Desktop Vs Mobile

Cipher Cities Desktop Vs Mobile

What are the range of device capabilities my mobile website will target?

What devices do my prospective users have?What devices are capable of providing the functionality my users will want?Trade-off of functionality vs. risk of alienating users with incapable devices

Option 1 - Do Nothing

Desktop version of site is served to mobile devices un-altered

Option 2 - Multi-ServeSame page content delivered to mobile and desktop devices, but CSS and resources (e.g. images) are tailored to the smaller form factor

Option 3 - Mobile-Specific

Mobile-specific content is created and served to mobile devices.

SPEEED!

In practical terms...A single 500KB webpage will take a minute to download over a GSM connection.

This is the best case scenario - cell networks almost never operate near theoretical maximum speeds and this doesn’t take into account typically high cell network latency and slow browser rendering speed on low-powered mobile devices.

The same page could be downloaded and rendered in under a second on a modern desktop browser over a wifi connection.

Users won’t see what they can’t be bothered to wait for to display

Most uses find wait times more than a few seconds unacceptable. Tolerance is even less if page refreshes are frequent or the context is that of an application where perceived lag will be compared with native apps.

A picture isn’t always worth a thousand words.

It takes roughly the same amount of space to store a character as a pixel. Therefore a 70px x 70px image takes as long to download as 1000 words of text.

Compress your images (duh).

Resolution and colour depth both affect image size. Find out what the display capabilities of your target devices are and only serve images of the required dimensions and colour depth.

Many older browsers give the option (often by default) to view pages without images, so make sure to code your HTML semantically so it makes sense without them (e.g. include alt-text)

Other speed optimisationsKeep it simple. If it’s not necessary, don’t include it. This includes content (text/image/audio/video etc.) styles, javascript etc.

This applies to download and rendering speed. Complex stylesheets and javascript require more CPU time and as a result adversely affect battery life.

Avoid over-pagination. Due to network latency, it may take longer to refresh the page twice than to load double the content.

Text can be compressed just like images. Always use minified versions of code libraries and serve compressed HTML/CSS/Javscript if the browser supports it.

http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/

Testing mobile websites -Desktop testing

A good deal of your testing can be done on a desktop web browser. In the case of modern, webkit mobile browsers they should effectively render the same.

In the least case you can verify and validate the majority of HTML, CSS and Javascript and do some functional testing.

http://validator.w3.org/mobile/

You can use iframes to simulate mobile viewports

Testing mobile websitesIn an ideal world you would have one of every device your are targeting to test on.

Try and at least test on one real device that is indicative of your main target market.

If you can’t afford one, borrow, or even test on demo devices in store.

Get the users to test for you with their own devices - provide an easy method for users to give feedback.

Usability Testing

Test with real users in real contexts.

Active - go to the users. Conduct workshops, trials etc.

Passive - provide a way for users to send you feedback.

Functional Testing

Tests if your implementation is functional - the features/mechanics of your site.

Contextual TestingTests if your design has successfully solved the design problem.

How does the user experience render on the device?

Does it load quickly, correctly? Progress indicators? On wi-fi, 3G, 2G?

Do the physical features of the device work correctly? (keys, orientation change etc.)

What happens if the device loses its connection? Can it work in offline mode and recover once connection is re-established.

Does geolocation provide an acceptable level of accuracy in different environments?

etc.

Testing mobile websites -Desktop testing

User agent switcher extension for Firefox - http://chrispederick.com/work/user-agent-switcher/

Testing mobile websites -Desktop testing

Opera’s small-screen view

Testing mobile websites -Simulators and Emulators

dotMobi emulator - http://mtld.mobi/emulator.php

Mobile Emulators & SimulatorsModel Official Platform Type Browser testing Compatibility

Apple iOS Official iOS Simulator Safari Mac

Google Android Official Android Emulator Android Win, Mac, Unix

Nokia Symbian Official Symbian Emulator S60 Browser Win

Windows Phone 7 Official Windows Phone Emulator Internet Explorer Win

BlackBerry Official RIM OS Emulator RIM Browser Win

HP webOS Official webOS Virtual Machine webOS Win, Mac, Unix

Opera Mobile Official multi-platform Simulator Opera Mobile Win, Mac, Unix

Opera Mini Official multi-platform Online Emulator Opera Mini Win, Mac, Unix

Firefox for Mobile Official multi-platform Simulator Firefox Mobile Win, Mac, Unix

https://github.com/shichuan/mobile-html5-boilerplate/wiki/Mobile-Emulators-%26-Simulators

Testing mobile websites -Remote Access to Real Devices

Device Anywhere - http://www.deviceanywhere.com/

The Cipher Cities Mobile Web Design Process...

Research the FieldFeasibility analysis

Current device capabilities and future trends Market saturationWeb mobile usage statisticsDifferent delivery approaches: native application vs mobile web browser

Research the Field

http://www.mobileawesomeness.com/

Workshop Design Ideas and User Case Scenarios

Digital Mockups

So what did we decide?Enhanced Play

ability to search and join games on the move start and stop games access game descriptions and information

Build tools that took advantage of ‘on site’ buildingMessaging

So what did we decide?

Login

Home

Game Details / Game Poster

Play

Builder

Messaging

Categorisation & Navigation

And the cycle continuesUser Testing

Feedback

Workshops

Design

Develop

In Conclusion...Always design for the users

They provide the context for the application of theoretical design principles

Interface development is an iterative and ongoing process.Interface design never goes from idea to resolution in one step…