developing for iphone

154
developing for the iPhone tim lucas & pete ottery

Upload: tim-lucas

Post on 28-Jan-2015

106 views

Category:

Technology


1 download

DESCRIPTION

presentation by myself and Pete Ottery at Web Directions South 2008 discussing our experience developing iphone.news.com.au, and my experience with the mobile version of webjam.com.au

TRANSCRIPT

Page 1: Developing for iPhone

developingfor the iPhonetim lucas & pete ottery

Page 2: Developing for iPhone

RAILS & JAVASCRIPT

Page 3: Developing for iPhone
Page 4: Developing for iPhone
Page 5: Developing for iPhone

2 parts.

Page 6: Developing for iPhone

it’s SHITDANGs, not iphones

Page 7: Developing for iPhone

why build a mobile version?

Page 8: Developing for iPhone
Page 9: Developing for iPhone

photo by Scot Campbellflickr.com/people/randomurl

IPHONE FRAMEWORK

GRIPES

Page 10: Developing for iPhone

Mobile SafariCSS3

Javascript

Page 11: Developing for iPhone

OLD SCHOOLMOBILE DEVELOPMENT

Page 12: Developing for iPhone

http://www.flickr.com/photos/rageman/2677718167/

photo by Mark Cohenflickr.com/people/rageman

DISTRACTED BY THE HYPE

IT’S EASY TO BE

Page 13: Developing for iPhone
Page 14: Developing for iPhone
Page 15: Developing for iPhone

You should not make sites for the iPhone -and that includes the URL.

Page 16: Developing for iPhone

Copyright © 2008 Brian Fling. All trademarks and copyrights remain the property of their respective owners.

Mobile 2.0: Design and Develop for the iPhone and Beyondby Brian FlingWeb 2.0 Expo, San Francisco, April 22, 2008

Page 17: Developing for iPhone

1st of many

Page 18: Developing for iPhone
Page 19: Developing for iPhone

developingfor the iPhonetim lucas & pete ottery

Page 20: Developing for iPhone

Super Hot Internet Touchscreen

Devices And Next Generation Mobiles

developing for

Page 21: Developing for iPhone

S H IT

D A NG

!

developing for

Mobiles

Page 22: Developing for iPhone

SHITDANG !

developing for

Mobiles

Page 23: Developing for iPhone

developingfor SHITDANGstim lucas & pete ottery

Page 24: Developing for iPhone

developingfor Mobile 2.0tim lucas & pete ottery

Page 25: Developing for iPhone

EntryTicket

Page 26: Developing for iPhone
Page 27: Developing for iPhone
Page 28: Developing for iPhone

<link media=’only screen and (max-device-width: 480px)’ ...

Page 29: Developing for iPhone
Page 30: Developing for iPhone

OLIVER WEIDLICH

Page 31: Developing for iPhone

One Web, No Go.

Page 32: Developing for iPhone
Page 33: Developing for iPhone

iphone.news.com.au

Page 34: Developing for iPhone

.mobile pages

Page 35: Developing for iPhone

redirect users

Page 36: Developing for iPhone
Page 37: Developing for iPhone

HTTP Header: User-Agent

Page 38: Developing for iPhone
Page 39: Developing for iPhone
Page 40: Developing for iPhone
Page 41: Developing for iPhone
Page 42: Developing for iPhone

Only redirect /

Page 43: Developing for iPhone
Page 44: Developing for iPhone
Page 45: Developing for iPhone
Page 46: Developing for iPhone

photo by Esti Alvarezflickr.com/people/esti

COOKIES

Page 47: Developing for iPhone

“mode”

http://www.flickr.com/photos/esti/147733640/

Page 48: Developing for iPhone
Page 49: Developing for iPhone
Page 50: Developing for iPhone

use URLs!

Page 51: Developing for iPhone

-> link to www.news.com.au

iphone.news.com.au

Page 52: Developing for iPhone

-> /?no-mobile-redirect=true

/home.mobile

Page 53: Developing for iPhone

-> /webjam8

/webjam8.mobile

Page 54: Developing for iPhone
Page 55: Developing for iPhone
Page 56: Developing for iPhone

/webjam8

-> /webjam8.mobile

Page 57: Developing for iPhone
Page 58: Developing for iPhone

http://www.flickr.com/photos/randomurl/2558566674/

photo by Scot Campbellflickr.com/people/randomurl

IPHONE FRAMEWORK

GRIPES

Page 59: Developing for iPhone

iUIciUI

WebApp.Net

Page 60: Developing for iPhone

1. Native iPhone UI2. Ajax-style page nav3. Swoosh!

Page 61: Developing for iPhone

Create Navigational Menus and iPhone interfaces

No knowledge of JS required

Provide a more “iPhone-like” experience

Page 62: Developing for iPhone

Native iPhone UI

Page 63: Developing for iPhone

OS SPECIFIC DESIGN

DOES NOT AGE WELL

Page 64: Developing for iPhone
Page 65: Developing for iPhone
Page 66: Developing for iPhone
Page 67: Developing for iPhone
Page 68: Developing for iPhone

“Building a great mobile user experience is hard.Go easy on yourself by starting simple.

Brian Fling, Mobile 2.0

Page 69: Developing for iPhone

2. AJAX-style page navigation

Page 70: Developing for iPhone
Page 71: Developing for iPhone

WHILST IT MIGHT

IMPRESS

Page 72: Developing for iPhone

AND FEEL A BIT

SNAPPIER

Page 73: Developing for iPhone

http://www.flickr.com/photos/32834218@N00/365808908/

photo by fenlandsnapperflickr.com/people/32834218@N00

HOW MANY KITTENS DO WE NEED TO

SACRIFICE?

Page 74: Developing for iPhone

Back button

Page 75: Developing for iPhone

Bookmarking

Page 76: Developing for iPhone

URLs

Page 77: Developing for iPhone

phones w/o javascript

Page 78: Developing for iPhone

http://flickr.com/photos/aquan/2780542246/

photo by Adrian Qflickr.com/people/aquan

NEW GENERATION OF

ACCESSIBILITY ISSUES?

Page 79: Developing for iPhone

http://flickr.com/photos/kurafire/189985967/

photo by Faruk Ateşflickr.com/people/kurafire

WWJKD?

Page 80: Developing for iPhone
Page 81: Developing for iPhone

http://www.flickr.com/photos/damienroue/2875259386/

photo by Damien Rouéflickr.com/people/damienroue

WHO USES AN IPHONE

IN BED?

Page 82: Developing for iPhone

efficient interactions

Page 83: Developing for iPhone

EXAMPLE: WEBJAM 8

PHOTO BROWSING

Page 84: Developing for iPhone

AJAXData URLsCSS Sprites

Asset BundlingCache Headers

YSlow

Page 85: Developing for iPhone

3. The Swoosh Effect

Page 86: Developing for iPhone

transitions

Page 87: Developing for iPhone

and

Page 88: Developing for iPhone

animations

Page 89: Developing for iPhone

are

Page 90: Developing for iPhone

all

Page 91: Developing for iPhone

about

Page 92: Developing for iPhone

subtlety

Page 93: Developing for iPhone

only 2 people allowed.

Page 94: Developing for iPhone
Page 95: Developing for iPhone
Page 96: Developing for iPhone

Use your existing tools

Page 97: Developing for iPhone

Pete

Page 98: Developing for iPhone

Part 1

Different interaction models.Design for phones & iphones.

Page 99: Developing for iPhone

Part 2

Getting started.Code examples.

Page 100: Developing for iPhone

mice vs

thumbs?

Page 101: Developing for iPhone
Page 102: Developing for iPhone

40 x 15 pixels

Page 103: Developing for iPhone
Page 104: Developing for iPhone

416px

320px

Page 105: Developing for iPhone

thumbs/fingers

=about 50 x 50px

Page 106: Developing for iPhone

thumbs/fingers

=about 50 x 50px

Page 107: Developing for iPhone

Simplify as much as you can.

Page 108: Developing for iPhone

And then delete a bit more.

Page 109: Developing for iPhone
Page 110: Developing for iPhone

“Visiting web sites that have been redesigned for the iPhone is often a quicker and more pleasing experience

than it is on ... 20-inch or larger screens.”

Page 111: Developing for iPhone
Page 112: Developing for iPhone
Page 113: Developing for iPhone

phones vs

iPhone

Page 114: Developing for iPhone
Page 115: Developing for iPhone
Page 116: Developing for iPhone

Getting started

Page 117: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Example</title></head><body>

<h1>Kiwis carve up washed up mystery lump</h1> <div class="time-stamp">Tuesday 7:51AM</div> <p>A LARGE chunk of something unpleasant has washed up on a New Zealand beach and excited locals are stealing bits of it.</p> <p>Some say the “disgusting” squarish white block, the size of a 44-gallon drum, is cheese - possibly brie, while others believe it is ambergris, or whale vomit.</p> <p>And that has solved the problem for council workers who were wondering how to remove the 500kg mystery object that washed up on a beach in Wellington.</p>

<h2><a href="link">The Other Side</a></h2>

<ul> <li><a href="link">Finally a suit to be worn in the shower</a></li> <li><a href="link">Smelly know-it-alls the ultimate irritation</a></li> <li><a href="link">Sorry man’s ass thrown in jail</a></li> <li><a href="link">Ike survivors in the lion’s den</a></li> <li><a href="link">Woman finds python in Dutch hotel toilet</a></li> </ul>

</body></html>

Page 118: Developing for iPhone

qÉñí

Page 119: Developing for iPhone

qÉñí

Page 120: Developing for iPhone

qÉñí

Page 121: Developing for iPhone

qÉñí

Page 122: Developing for iPhone

qÉñí

Page 123: Developing for iPhone

qÉñí

Page 124: Developing for iPhone

qÉñí

Page 125: Developing for iPhone

qÉñí

Page 126: Developing for iPhone

qÉñí

Page 127: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Example</title></head><body>

<h1>Kiwis carve up washed up mystery lump</h1> <div class="time-stamp">Tuesday 7:51AM</div> <p>A LARGE chunk of something unpleasant has washed up on a New Zealand beach and excited locals are stealing bits of it.</p> <p>Some say the “disgusting” squarish white block, the size of a 44-gallon drum, is cheese - possibly brie, while others believe it is ambergris, or whale vomit.</p> <p>And that has solved the problem for council workers who were wondering how to remove the 500kg mystery object that washed up on a beach in Wellington.</p>

<h2><a href="link">The Other Side</a></h2>

<ul> <li><a href="link">Finally a suit to be worn in the shower</a></li> <li><a href="link">Smelly know-it-alls the ultimate irritation</a></li> <li><a href="link">Sorry man’s ass thrown in jail</a></li> <li><a href="link">Ike survivors in the lion’s den</a></li> <li><a href="link">Woman finds python in Dutch hotel toilet</a></li> </ul>

</body></html>

Page 128: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title></head><body>

<h1>Kiwis carve up washed up mystery lump</h1> <div class="time-stamp">Tuesday 7:51AM</div> <p>A LARGE chunk of something unpleasant has washed up on a New Zealand beach and excited locals are stealing bits of it.</p> <p>Some say the “disgusting” squarish white block, the size of a 44-gallon drum, is cheese - possibly brie, while others believe it is ambergris, or whale vomit.</p> <p>And that has solved the problem for council workers who were wondering how to remove the 500kg mystery object that washed up on a beach in Wellington.</p>

<h2><a href="link">The Other Side</a></h2>

<ul> <li><a href="link">Finally a suit to be worn in the shower</a></li> <li><a href="link">Smelly know-it-alls the ultimate irritation</a></li> <li><a href="link">Sorry man’s ass thrown in jail</a></li> <li><a href="link">Ike survivors in the lion’s den</a></li> <li><a href="link">Woman finds python in Dutch hotel toilet</a></li> </ul>

</body></html>

Page 129: Developing for iPhone

qÉñí

Page 130: Developing for iPhone

qÉñí

Page 131: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none;

}

</style></head><body>

<h1>Kiwis carve up washed up mystery lump</h1> <div class="time-stamp">Tuesday 7:51AM</div> <p>A LARGE chunk of something unpleasant has washed up on a New Zealand beach and excited locals are stealing bits of it.</p> <p>Some say the “disgusting” squarish white block, the size of a 44-gallon drum, is cheese - possibly brie, while others believe it is ambergris, or whale vomit.</p> <p>And that has solved the problem for council workers who were wondering how to remove the 500kg mystery object that washed up on a beach in Wellington.</p>

<h2><a href="link">The Other Side</a></h2>

-- code continues below --

Page 132: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none;

}

body { font: 16px/1.3 Helvetica; }

</style></head><body>

<h1>Kiwis carve up washed up mystery lump</h1> <div class="time-stamp">Tuesday 7:51AM</div> <p>A LARGE chunk of something unpleasant has washed up on a New Zealand beach and excited locals are stealing bits of it.</p> <p>Some say the “disgusting” squarish white block, the size of a 44-gallon drum, is cheese - possibly brie, while others believe it is ambergris, or whale vomit.</p> <p>And that has solved the problem for council workers who were wondering how to remove the 500kg mystery object that washed up on a beach in Wellington.</p>

-- code continues below --

Page 133: Developing for iPhone

qÉñí

Page 134: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none;

}

body { font: 16px/1.3 Helvetica; }

h1 { font-size:1.6em; } .time-stamp { color:#666; border-top: 1px dotted #ccc; border-bottom: 2px solid #000; padding: 5px 0; margin-top:-.3em; }

</style></head><body>

<h1>Kiwis carve up washed up mystery lump</h1>

-- code continues below --

Page 135: Developing for iPhone

qÉñí

Page 136: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none;

}

body { font: 16px/1.3 Helvetica; }

h1 { font-size:1.6em; } .time-stamp { color:#666; border-top: 1px dotted #ccc; border-bottom: 2px solid #000; padding: 5px 0; margin-top:-.3em; }

p:first-of-type { font-weight:bold; }

</style></head><body>

<h1>Kiwis carve up washed up mystery lump</h1>

-- code continues below --

Page 137: Developing for iPhone

qÉñí

Page 138: Developing for iPhone

qÉñí

Page 139: Developing for iPhone

qÉñí

Page 140: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none;

}

body { font: 16px/1.3 Helvetica; }

h1 { font-size:1.6em; } .time-stamp { color:#666; border-top: 1px dotted #ccc; border-bottom: 2px solid #000; padding: 5px 0; margin-top:-.3em; }

p:first-of-type { font-weight:bold; }

</style></head><body>

<h1>Kiwis carve up washed up mystery lump</h1> -- code continues below --

Page 141: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none;

}

body { font: 16px/1.3 Helvetica; }

h1 { font-size:1.6em; } .time-stamp { color:#666; border-top: 1px dotted #ccc; border-bottom: 2px solid #000; padding: 5px 0; margin-top:-.3em; }

p:first-of-type { font-weight:bold; }

h2 { font-size:1.2em; background-color:#c10b0e; border: 1px solid #800000; }

</style></head><body>

<h1>Kiwis carve up washed up mystery lump</h1> -- code continues below --

Page 142: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none;

}

body { font: 16px/1.3 Helvetica; }

h1 { font-size:1.6em; } .time-stamp { color:#666; border-top: 1px dotted #ccc; border-bottom: 2px solid #000; padding: 5px 0; margin-top:-.3em; }

p:first-of-type { font-weight:bold; }

h2 { font-size:1.2em; background-color:#c10b0e; border: 1px solid #800000; -webkit-border-radius: 5px; padding: 3px 6px; margin: 1em 0 .4em; -webkit-box-shadow: 0 5px 0 #ccc; }

</style></head><body>

<h1>Kiwis carve up washed up mystery lump</h1> -- code continues below --

Page 143: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none; }

body { font: 16px/1.3 Helvetica; }

h1 { font-size:1.6em; } .time-stamp { color:#666; border-top: 1px dotted #ccc; border-bottom: 2px solid #000; padding: 5px 0; margin-top:-.3em; }

p:first-of-type { font-weight:bold; }

h2 { font-size:1.2em; background-color:#c10b0e; border: 1px solid #800000; -webkit-border-radius: 5px; padding: 3px 6px; margin: 1em 0 .4em; -webkit-box-shadow: 0 5px 0 #ccc; }

a { text-decoration:none; color:#000; font-weight:bold; }

h2 a { color:#fff; text-shadow: -1px -1px 0 #800000; }

Page 144: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none; }

body { font: 16px/1.3 Helvetica; }

h1 { font-size:1.6em; } .time-stamp { color:#666; border-top: 1px dotted #ccc; border-bottom: 2px solid #000; padding: 5px 0; margin-top:-.3em; }

p:first-of-type { font-weight:bold; }

h2 { font-size:1.2em; background-color:#c10b0e; border: 1px solid #800000; -webkit-border-radius: 5px; padding: 3px 6px; margin: 1em 0 .4em; -webkit-box-shadow: 0 5px 0 #ccc; }

a { text-decoration:none; color:#000; font-weight:bold; display:block; }

h2 a { color:#fff; text-shadow: -1px -1px 0 #800000; background: url("sprites.png") no-repeat 100% -5px; }

Page 145: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none; }

body { font: 16px/1.3 Helvetica; }

h1 { font-size:1.6em; } .time-stamp { color:#666; border-top: 1px dotted #ccc; border-bottom: 2px solid #000; padding: 5px 0; margin-top:-.3em; }

p:first-of-type { font-weight:bold; }

h2 { font-size:1.2em; background-color:#c10b0e; border: 1px solid #800000; -webkit-border-radius: 5px; padding: 3px 6px; margin: 1em 0 .4em; -webkit-box-shadow: 0 5px 0 #ccc; }

a { text-decoration:none; color:#000; font-weight:bold; display:block; }

h2 a { color:#fff; text-shadow: -1px -1px 0 #800000; background: url("sprites.png") no-repeat 100% -5px; }

Page 146: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none; }

body { font: 16px/1.3 Helvetica; }

h1 { font-size:1.6em; } .time-stamp { color:#666; border-top: 1px dotted #ccc; border-bottom: 2px solid #000; padding: 5px 0; margin-top:-.3em; }

p:first-of-type { font-weight:bold; }

h2 { font-size:1.2em; background-color:#c10b0e; border: 1px solid #800000; -webkit-border-radius: 5px; padding: 3px 6px; margin: 1em 0 .4em; -webkit-box-shadow: 0 5px 0 #ccc; }

a { text-decoration:none; color:#000; font-weight:bold; display:block; }

h2 a { color:#fff; text-shadow: -1px -1px 0 #800000; background: url("sprites.png") no-repeat 100% -5px; }

ul { margin:0; padding:0; list-style-type:none; } li { margin:0; padding:0; border-bottom: 1px dotted #ccc; } li a { padding: 12px 30px 12px 0; background: url("sprites.png") no-repeat 100% -105px; }

Page 147: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none; }

body { font: 16px/1.3 Helvetica; }

h1 { font-size:1.6em; } .time-stamp { color:#666; border-top: 1px dotted #ccc; border-bottom: 2px solid #000; padding: 5px 0; margin-top:-.3em; }

p:first-of-type { font-weight:bold; }

h2 { font-size:1.2em; background-color:#c10b0e; border: 1px solid #800000; -webkit-border-radius: 5px; padding: 3px 6px; margin: 1em 0 .4em; -webkit-box-shadow: 0 5px 0 #ccc; }

a { text-decoration:none; color:#000; font-weight:bold; display:block; }

h2 a { color:#fff; text-shadow: -1px -1px 0 #800000; background: url("sprites.png") no-repeat 100% -5px; }

ul { margin:0; padding:0; list-style-type:none; } li { margin:0; padding:0; border-bottom: 1px dotted #ccc; } li a { padding: 12px 30px 12px 0; background: url("sprites.png") no-repeat 100% -105px; overflow:hidden; white-space: nowrap; text-overflow: ellipsis; }

Page 148: Developing for iPhone

qÉñí

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Example</title> <style type="text/css">

html { -webkit-text-size-adjust: none; }

body { font: 16px/1.3 Helvetica; }

h1 { font-size:1.6em; } .time-stamp { color:#666; border-top: 1px dotted #ccc; border-bottom: 2px solid #000; padding: 5px 0; margin-top:-.3em; }

p:first-of-type { font-weight:bold; }

h2 { font-size:1.2em; background-color:#c10b0e; border: 1px solid #800000; -webkit-border-radius: 5px; padding: 3px 6px; margin: 1em 0 .4em; -webkit-box-shadow: 0 5px 0 #ccc; }

a { text-decoration:none; color:#000; font-weight:bold; display:block; }

h2 a { color:#fff; text-shadow: -1px -1px 0 #800000; background: url("sprites.png") no-repeat 100% -5px; }

ul { margin:0; padding:0; list-style-type:none; } li { margin:0; padding:0; border-bottom: 1px dotted #ccc; } li a { padding: 12px 30px 12px 10px; background: url("sprites.png") no-repeat 100% -105px, url("sprites.png") repeat-x 0 100%; overflow:hidden; white-space: nowrap; text-overflow: ellipsis; }

Page 149: Developing for iPhone

some stats on usage

Page 150: Developing for iPhone

ãKåÉïëKÅçãK~ìä~ìåÅÜÉÇ=åçî=MT

Page 151: Developing for iPhone

ãKåÉïëKÅçãK~ìä~ìåÅÜÉÇ=åçî=MT

áéÜçåÉKåÉïëKÅçãK~ìä~ìåÅÜÉÇ=àìäó=MU

Page 152: Developing for iPhone

ïÉÉâÇ~óë ïÉÉâÉåÇë

mfÛëãKåÉïëKÅçãK~ì

Page 153: Developing for iPhone

ïÉÉâÇ~óë ïÉÉâÉåÇë

mfÛëáéÜçåÉKåÉïëKÅçãK~ì

Page 154: Developing for iPhone

the end.

Questions?