SlideShare a Scribd company logo
1 of 51
Download to read offline
July 7th, 2007




  The iPhone:
 What We Know,
What We Don’t Know
                        Christopher Allen

                                            1
Christopher Allen
                    2
The iPhone:
What we Know

               3
The
iPhone:
What We
  Know

                Essential Reading
          <http://developer.apple.com/iphone/>

                                                 4
The
iPhone:
What We
  Know

               Essential Reading
          <http://www.iPhoneWebDev.com/>

                                           5
The
iPhone:
What We
  Know

          Use Web Standards

                              6
The iPhone:
                What We Know
Use Web Standards
  HTML 4.01
  XHTML 1.0
  CSS 2.1 and partial CSS 3.xx
  JavaScript 1.4, including DOM
  support
  AJAX technologies, including
    XMLHTTPRequest
  PDF
  Quicktime



                                  7
The iPhone:
                  What We Know
Things to Avoid
  Flash
  SVG
  Java applets
  Plug-in installation
  Embedded Video
  Custom x.509 certificates




                                 8
The iPhone:
                      What We Know
Follow Web Best Practices
  Separate HTML, CSS and Javascript
  Use well-structured and valid HTML
  Use columns and blocks
    no wide columns or text across page
  Avoid framesets
    Use CSS or iframes
  Size graphic elements appropriately
    don’t rely on browser scaling!
  Use small background images
    tile the pieces
  Don’t send unneeded data
    no 50K javascript where 10% is used


                                          9
The iPhone:
                   What We Know
The Finger is Not a Mouse
  Fingers are bigger and blunter
    Links and buttons need to be larger
    Select 80px by 80px, with
    20px of free space between




                                          10
The iPhone:
                       What We Know
The Finger is Not a Mouse
  Fingers are bigger and blunter
    Links and buttons need to be larger
    Select 80px by 80px, with
    20px of free space between
  Fingers can do more...
    Double tap
    Zoom in and center a block
    Touch and hold
    Display an information bubble
    One or Two-finder Drag
    Move the viewport or pan
    Flick
    Scroll up or down
    Pinch
    Zoom in or out



                                          11
The
iPhone:
What We
  Know

          Design for Size
                            12
The
iPhone:
What We
  Know

          Be careful during user input
                                         13
The
iPhone:
What We
  Know

          Use Columns

                        14
The
iPhone:
What We
  Know

          Use Small Blocks

                             15
The
iPhone:
What We
  Know

          Orientation a Problem
                                  16
The
iPhone:
What We
  Know

          NY Times Portrait

                              17
The
iPhone:
What We
  Know

          NY Times Landscape

                               18
The
iPhone:
What We
  Know

          Viewports, not Windows
                                   19
The iPhone:
                     What We Know
Viewports not Windows
 Use <meta                       Meta Tag
             name=quot;viewportquot;/>
   defaults to width=quot;480quot;
      may look good on NY Times, but
      probably not on your site
   simple (twice portrait)
   width=quot;640quot;
   native portrait
   width=quot;320quot;; initial-scale=”1.0”;
   maximum-scale=”1.0”; minimum-
   scale=”1.0”; user-scalable=”false”
   useful
   width=quot;480quot;; maximum-scale=”0.6667”;
   your mileage may vary—try, try again!



                                            20
The
iPhone:
What We
  Know
          <body style=quot;-webkit-text-size-adjust:nonequot;>
          <body style=quot;-webkit-text-size-adjust:autoquot;>
          <div style=quot;-webkit-text-size-adjust:200%quot;>


                                                         21
The
iPhone:
What We
  Know
            Use tel:, mailto: &
          maps.google.com/maps?
                                  22
The
iPhone:
What We
  Know

          PDF works

                      23
The
iPhone:
What We
  Know

          H.264 with AAC
                           24
The
iPhone:
What We
  Know

          Use Reference Movies
                                 25
The iPhone:
                  What We Know
Identifying the iPhone
  Use CSS if possible
    iPhone <link media=quot;only  screen and
    (max-device-width: 480px)quot;
    href=quot;iPhone.cssquot;
    type=quot;text/cssquot; rel=quot;stylesheetquot; />
    not-iPhone <link  media=quot;screenquot;
    href=quot;fancy.cssquot; type=quot;text/cssquot;
    rel=quot;stylesheetquot; />
    bug: apple suggested doesn’t work
    on IE - workaround in progress
  Use user-agent only as need
    if(navigator.userAgent.indexOf
    ('iPhone') != -1)




                                           26
The iPhone:
                     What We Know
Working events
    window.onload
    formfield.onfocus
    formfield.onclick
    formfield.onblur
    formfield.onchange
    formfield.onmouseout
    formfield.onmouseover
    formfield.onmousedown *
    formfield.onmouseup
    form.onreset
      * triggered but not as expected
  Others of these may work oddly!




                                        27
The iPhone:
                   What We Know
Non-functional events
    window.oncontextmenu
    window.onresize * (partial, buggy)
    window.onscroll
    window.onerror
    formfield.ondblclick
    formfield.onselect
    formfield.onkeydown
    formfield.onkeypress
    formfield.onkeyup
    form.onsubmit
    formfield.onmouseenter
    formfield.onmouseleave
    formfield.onmousemove
    document.onkeydown
    document.onkeypress
    document.onkeyup


                                         28
The iPhone:
                 What We Know
Be aware, also no...
  window.showModalDialog()
  hover styles
  tool tips
  mousedown, instead happens
    right before mouseup




                                29
The iPhone:
                    What We Know
Limit sizes
    HTML, CSS, Javascript <10MB
    don’t send unneeded Javascript
    Javascript execution <5 sec
    GIF, PNG, and TIFF up to 8 MB
    i.e width * height * 4 < 8 MB
    Animated GIF <2MB
    or only first frame shown
    JPG up to 128MB
    will be subsampled internally
    Non-streamed media <10MB




                                     30
The iPhone:
What we’ve Learned

                     31
The
iPhone:
What We’ve
 Learned

                         Examples
             <http://www.iPhoneWebDev.com/examples/>


                                                       32
The iPhone:
           What We’ve Learned
Examples
 viewport samples
 view source bookmarklet
 selecting di!erent keypads
 changing CSS on orientation change
 hiding the URL bar onload
 mailto: with arguments
 iPhone user-agent detection
 event testing



                                      33
The iPhone:
            What We’ve Learned
Exemplars
  gasapp.com
  Joe Hewitt’s navigation demo
     movie.app (in 5 hours o! of nav)
  telemoose
  tada lists
Soon to be Exemplars
  iPhone dragging




                                        34
The iPhone:
              What We’ve Learned
Bugs & Workarounds
 viewportwindow.pageYO!set always 0
   no workaround
 window.resize event irregular
   but there is hack around based on width
 second text entry fails to invoke
    keyboard
   hack using javascript
 tel: tags do not conform to RFC for p
     and w characters
   use non-conforming comma ,
 bare images in safari render on 980px
   use new page




                                             35
The iPhone:
              What We’ve Learned
Discussions
  Four kinds of iPhone web pages
    compatible, friendly, optimized, and web app
  Standard for an iPhone friendly icon
     for directory apps
  What qualities does an exemplar
     iPhone web app have?
  Two finger scrolling
  Development libraries
  Sound in iPhone web games
  Implementing the back button
  Type faces, type sizes
  Debugging javascript, FireBug
  Alpha/Beta testing new web apps


                                                   36
The
iPhone:
What We’ve
 Learned

                         Examples
             <http://www.iPhoneWebDev/examples.com/>


                                                       37
The iPhone:
What we Don’t Know

                     38
The
iPhone:
What We
Don’t Know

                      Open Questions
             <http://barcamp.org/iPhoneDevCampOpenQuestions>


                                                               39
The iPhone:
          What We Don’t Know
Open Questions
 What is the list CSS3 and how
 should we use it?
 What Canvas support is available
 and how much can we do?
 How do we get the URL input panel?
 Are background pages executing?
 Do we know when the browser is
 interrupted by phone call?
 How do we get/set scaling ratio?
 A CSS3 media query that doesn’t
    break IE?
 Persistent storage - can we rely on
    cookies? Any Google Gears?


                                       40
The iPhone:
                What We Don’t Know
Open Questions (continued)
  Without many events, how do we
  make ui widgets
  How do we make two-finger
     scrolling widgets
  How to do animations faster
    size, direction, tricks?
  What does iSafari do when...
    opening .lnk, .web archives
  What does mail do when...
    receiving .vcf (vCard), .m3u, .url .lnk or .web archives
  How best to use PDF and .doc
  OpenID for iPhone?




                                                               41
The
iPhone:
What We
Don’t Know

                      Open Questions
             <http://barcamp.org/iPhoneDevCampOpenQuestions>


                                                               42
iPhoneDevCamp
   Hack-a-Thon

                 43
iPhone
DevCamp
Hack-a-Thon


              MacHack
              (b:1985 d:2003)

                                44
iPhoneDevCamp
               Hack-a-thon
Values
  Contribution
    assisting the commons
    o!ering value
    usefuless
  Sharing
    helping others
    source code available
  Openness
    good questions
    open to people and ideas
    free or open source
  Fun & Cool!
    but we value simplicity & elegance



                                         45
iPhoneDevCamp
              Hack-a-thon
We may give out tickets or smaller
prizes for...
  best question on Open Questions
  best answer on Open Questions
  travelled furthest
  most useless hack
  best looking
  worst looking
  best docs
  most fun




                                     46
iPhoneDevCamp
              Hack-a-thon
Diverse Teams
  Client coders (javascript)
  Server coders (PHP, Perl, Ruby,
  etc.)
  CSS/DHTML
  Artists
  User Interface/Experience
  Testing
  Documentation
  Hardware


                                    47
iPhone
DevCamp
Hack-a-Thon


              Signup by 1pm Sunday
                 <http://barcamp.pbwiki.com/
                   iPhoneDevCampHackAThon>

                                               48
iPhone
DevCamp
Hack-a-Thon



              5 minutes!
                           49
iPhone
DevCamp
Hack-a-Thon           x2        x3



                Hack-a-Thon Demo &
              Contest, Sunday 2pm-5pm
                                        50
<mailto:ChristopherA@iPhoneWebDev.com>


                                         51

More Related Content

Viewers also liked

Andrejs Vasiljevs (Tilde) at the Industry Leaders Forum 2015
Andrejs Vasiljevs (Tilde) at the Industry Leaders Forum 2015Andrejs Vasiljevs (Tilde) at the Industry Leaders Forum 2015
Andrejs Vasiljevs (Tilde) at the Industry Leaders Forum 2015TAUS - The Language Data Network
 
15 pomysłów na Wielkanoc
15 pomysłów na Wielkanoc15 pomysłów na Wielkanoc
15 pomysłów na WielkanocSmaker.pl
 
AREL for discussions
AREL for discussionsAREL for discussions
AREL for discussionsChris Keris
 
What is Your Library Doing about Emerging Technologies?
What is Your Library Doing about Emerging Technologies?What is Your Library Doing about Emerging Technologies?
What is Your Library Doing about Emerging Technologies?Bohyun Kim
 
iPhone Dev Camp Keynote
iPhone Dev Camp KeynoteiPhone Dev Camp Keynote
iPhone Dev Camp Keynoteietatfandm
 
Dr. atkinson's message
Dr. atkinson's messageDr. atkinson's message
Dr. atkinson's messageKeith Eades
 
Camille Walker Email Copywriting Samples Portfolio
Camille Walker Email Copywriting Samples PortfolioCamille Walker Email Copywriting Samples Portfolio
Camille Walker Email Copywriting Samples PortfolioCamille A. Walker, MS, MBA
 
Deferred Action for Children
Deferred Action for ChildrenDeferred Action for Children
Deferred Action for Childrenmbashyam
 
Wilkes Community College Campus
Wilkes Community College Campus Wilkes Community College Campus
Wilkes Community College Campus Aeriell
 
Ppoooer Avellaner Correcte
Ppoooer Avellaner CorrectePpoooer Avellaner Correcte
Ppoooer Avellaner Correcteguest441812
 
Arpita CV New-1 (1)
Arpita CV New-1 (1)Arpita CV New-1 (1)
Arpita CV New-1 (1)Arpita Roy
 
CFD Analysis and Fabrication of Aluminium Cenosphere Composites
CFD Analysis and Fabrication of Aluminium Cenosphere  CompositesCFD Analysis and Fabrication of Aluminium Cenosphere  Composites
CFD Analysis and Fabrication of Aluminium Cenosphere CompositesIJMER
 
Astley re kelly study
Astley re kelly studyAstley re kelly study
Astley re kelly studyebredberg
 

Viewers also liked (20)

Exchange 4 2013
Exchange 4 2013Exchange 4 2013
Exchange 4 2013
 
Andrejs Vasiljevs (Tilde) at the Industry Leaders Forum 2015
Andrejs Vasiljevs (Tilde) at the Industry Leaders Forum 2015Andrejs Vasiljevs (Tilde) at the Industry Leaders Forum 2015
Andrejs Vasiljevs (Tilde) at the Industry Leaders Forum 2015
 
15 pomysłów na Wielkanoc
15 pomysłów na Wielkanoc15 pomysłów na Wielkanoc
15 pomysłów na Wielkanoc
 
AREL for discussions
AREL for discussionsAREL for discussions
AREL for discussions
 
Alissa Mickelson
Alissa MickelsonAlissa Mickelson
Alissa Mickelson
 
What is Your Library Doing about Emerging Technologies?
What is Your Library Doing about Emerging Technologies?What is Your Library Doing about Emerging Technologies?
What is Your Library Doing about Emerging Technologies?
 
iPhone Dev Camp Keynote
iPhone Dev Camp KeynoteiPhone Dev Camp Keynote
iPhone Dev Camp Keynote
 
Dr. atkinson's message
Dr. atkinson's messageDr. atkinson's message
Dr. atkinson's message
 
escudo de el colegio
escudo de el colegioescudo de el colegio
escudo de el colegio
 
Camille Walker Email Copywriting Samples Portfolio
Camille Walker Email Copywriting Samples PortfolioCamille Walker Email Copywriting Samples Portfolio
Camille Walker Email Copywriting Samples Portfolio
 
Barberen i Sevilla
Barberen i SevillaBarberen i Sevilla
Barberen i Sevilla
 
Erro cópia do pedido
Erro cópia do pedidoErro cópia do pedido
Erro cópia do pedido
 
Deferred Action for Children
Deferred Action for ChildrenDeferred Action for Children
Deferred Action for Children
 
Wilkes Community College Campus
Wilkes Community College Campus Wilkes Community College Campus
Wilkes Community College Campus
 
Ganga Bhandari
Ganga BhandariGanga Bhandari
Ganga Bhandari
 
Ppoooer Avellaner Correcte
Ppoooer Avellaner CorrectePpoooer Avellaner Correcte
Ppoooer Avellaner Correcte
 
Arpita CV New-1 (1)
Arpita CV New-1 (1)Arpita CV New-1 (1)
Arpita CV New-1 (1)
 
CFD Analysis and Fabrication of Aluminium Cenosphere Composites
CFD Analysis and Fabrication of Aluminium Cenosphere  CompositesCFD Analysis and Fabrication of Aluminium Cenosphere  Composites
CFD Analysis and Fabrication of Aluminium Cenosphere Composites
 
Turbó fokozat
Turbó fokozatTurbó fokozat
Turbó fokozat
 
Astley re kelly study
Astley re kelly studyAstley re kelly study
Astley re kelly study
 

Similar to iPhoneDevCamp Keynote

Developer's got talent iPhone
Developer's got talent iPhoneDeveloper's got talent iPhone
Developer's got talent iPhonePiTechnologies
 
I Phone Developer Introduction By Eschipul
I Phone Developer Introduction By EschipulI Phone Developer Introduction By Eschipul
I Phone Developer Introduction By EschipulEd Schipul
 
SmartPhone Design and Delivery
SmartPhone Design and DeliverySmartPhone Design and Delivery
SmartPhone Design and DeliveryJason Diehl
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />tutorialsruby
 
wexarts.org iPhone Project: Developer Documentation
wexarts.org iPhone Project: Developer Documentationwexarts.org iPhone Project: Developer Documentation
wexarts.org iPhone Project: Developer Documentationtutorialsruby
 
Vancouver iPhone Meetup 2010 - Touch Interface Design - Kevin Kimmett
Vancouver iPhone Meetup 2010 - Touch Interface Design - Kevin KimmettVancouver iPhone Meetup 2010 - Touch Interface Design - Kevin Kimmett
Vancouver iPhone Meetup 2010 - Touch Interface Design - Kevin KimmettKevin Kimmett
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & DevelopmentRonnie Liew
 
Smartphone Reporting Done Smarter
Smartphone Reporting Done SmarterSmartphone Reporting Done Smarter
Smartphone Reporting Done SmarterVictor Hernandez
 
Leverage web technology in a mobile world
Leverage web technology in a mobile worldLeverage web technology in a mobile world
Leverage web technology in a mobile worldDieter Blomme
 
打造你的第一個iPhone APP
打造你的第一個iPhone APP打造你的第一個iPhone APP
打造你的第一個iPhone APP彼得潘 Pan
 
HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기JungHyuk Kwon
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapRaymond Camden
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1huyzing
 

Similar to iPhoneDevCamp Keynote (20)

Developer's got talent iPhone
Developer's got talent iPhoneDeveloper's got talent iPhone
Developer's got talent iPhone
 
I Phone Developer Introduction By Eschipul
I Phone Developer Introduction By EschipulI Phone Developer Introduction By Eschipul
I Phone Developer Introduction By Eschipul
 
SmartPhone Design and Delivery
SmartPhone Design and DeliverySmartPhone Design and Delivery
SmartPhone Design and Delivery
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
 
wexarts.org iPhone Project: Developer Documentation
wexarts.org iPhone Project: Developer Documentationwexarts.org iPhone Project: Developer Documentation
wexarts.org iPhone Project: Developer Documentation
 
Vancouver iPhone Meetup 2010 - Touch Interface Design - Kevin Kimmett
Vancouver iPhone Meetup 2010 - Touch Interface Design - Kevin KimmettVancouver iPhone Meetup 2010 - Touch Interface Design - Kevin Kimmett
Vancouver iPhone Meetup 2010 - Touch Interface Design - Kevin Kimmett
 
The future is hybrid
The future is hybridThe future is hybrid
The future is hybrid
 
Doran-C4L2010
Doran-C4L2010Doran-C4L2010
Doran-C4L2010
 
iPad Academy 2014
iPad Academy 2014iPad Academy 2014
iPad Academy 2014
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & Development
 
Smartphone Reporting Done Smarter
Smartphone Reporting Done SmarterSmartphone Reporting Done Smarter
Smartphone Reporting Done Smarter
 
Leverage web technology in a mobile world
Leverage web technology in a mobile worldLeverage web technology in a mobile world
Leverage web technology in a mobile world
 
打造你的第一個iPhone APP
打造你的第一個iPhone APP打造你的第一個iPhone APP
打造你的第一個iPhone APP
 
HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기
 
Web app
Web appWeb app
Web app
 
Web app
Web appWeb app
Web app
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
 

More from Phil Wolff

A Code of Ethics for Product Managers?
A Code of Ethics for Product Managers?A Code of Ethics for Product Managers?
A Code of Ethics for Product Managers?Phil Wolff
 
Seven Reasons This Epic Training Should Matter To You
Seven Reasons This Epic Training Should Matter To YouSeven Reasons This Epic Training Should Matter To You
Seven Reasons This Epic Training Should Matter To YouPhil Wolff
 
14 OpenOakland Leadership Hacks for 2015
14 OpenOakland Leadership Hacks for 201514 OpenOakland Leadership Hacks for 2015
14 OpenOakland Leadership Hacks for 2015Phil Wolff
 
OpenOakland: 3 goals for 2014
OpenOakland: 3 goals for 2014OpenOakland: 3 goals for 2014
OpenOakland: 3 goals for 2014Phil Wolff
 
DRAFT: OpenOakland Product Selection
DRAFT: OpenOakland Product SelectionDRAFT: OpenOakland Product Selection
DRAFT: OpenOakland Product SelectionPhil Wolff
 
So Your Product Is Going To Die. Here's What Happens Next.
So Your Product Is Going To Die. Here's What Happens Next. So Your Product Is Going To Die. Here's What Happens Next.
So Your Product Is Going To Die. Here's What Happens Next. Phil Wolff
 
The Things I Don't Know about Product Retirement Could Fill A Slide Deck
The Things I Don't Know about Product Retirement Could Fill A Slide DeckThe Things I Don't Know about Product Retirement Could Fill A Slide Deck
The Things I Don't Know about Product Retirement Could Fill A Slide DeckPhil Wolff
 
What’s missing from customer service live chat?
What’s missing from customer service live chat?What’s missing from customer service live chat?
What’s missing from customer service live chat?Phil Wolff
 
Proposal: A new City of Oakland Technology Commission
Proposal: A new City of Oakland Technology Commission Proposal: A new City of Oakland Technology Commission
Proposal: A new City of Oakland Technology Commission Phil Wolff
 
Personal Data Economy Action Plan - Get Smart, Get Connected, Get Proof
Personal Data Economy Action Plan - Get Smart, Get Connected, Get ProofPersonal Data Economy Action Plan - Get Smart, Get Connected, Get Proof
Personal Data Economy Action Plan - Get Smart, Get Connected, Get ProofPhil Wolff
 
The Cloud Needs An Operating System – Philip J. Windley
The Cloud Needs An Operating System – Philip J. WindleyThe Cloud Needs An Operating System – Philip J. Windley
The Cloud Needs An Operating System – Philip J. WindleyPhil Wolff
 
Johannes Ernst introduces the first Personal Clouds Community Gathering
Johannes Ernst introduces the first Personal Clouds Community GatheringJohannes Ernst introduces the first Personal Clouds Community Gathering
Johannes Ernst introduces the first Personal Clouds Community GatheringPhil Wolff
 
Why Personal Clouds Need A Network
Why Personal Clouds Need A NetworkWhy Personal Clouds Need A Network
Why Personal Clouds Need A NetworkPhil Wolff
 
What could kill NSTIC? A friendly threat assessment in 3 parts.
What could kill NSTIC? A friendly threat assessment in 3 parts.What could kill NSTIC? A friendly threat assessment in 3 parts.
What could kill NSTIC? A friendly threat assessment in 3 parts.Phil Wolff
 
Fiduciary clouds
Fiduciary cloudsFiduciary clouds
Fiduciary cloudsPhil Wolff
 
Hi! I'm Phil Wolff. And this is PDEC.
Hi! I'm Phil Wolff. And this is PDEC.Hi! I'm Phil Wolff. And this is PDEC.
Hi! I'm Phil Wolff. And this is PDEC.Phil Wolff
 
22 Ways Skype's Digital Identity System Sucks
22 Ways Skype's Digital Identity System Sucks22 Ways Skype's Digital Identity System Sucks
22 Ways Skype's Digital Identity System SucksPhil Wolff
 
Digital Signatures for use by IDA Relying Parties v102
Digital Signatures for use by IDA Relying Parties  v102Digital Signatures for use by IDA Relying Parties  v102
Digital Signatures for use by IDA Relying Parties v102Phil Wolff
 
Skype 2021: The Next 9 Years
Skype 2021: The Next 9 Years Skype 2021: The Next 9 Years
Skype 2021: The Next 9 Years Phil Wolff
 
#Portability4Trust - Personal Data Portability for Trust Frameworks
#Portability4Trust - Personal Data Portability for Trust Frameworks#Portability4Trust - Personal Data Portability for Trust Frameworks
#Portability4Trust - Personal Data Portability for Trust FrameworksPhil Wolff
 

More from Phil Wolff (20)

A Code of Ethics for Product Managers?
A Code of Ethics for Product Managers?A Code of Ethics for Product Managers?
A Code of Ethics for Product Managers?
 
Seven Reasons This Epic Training Should Matter To You
Seven Reasons This Epic Training Should Matter To YouSeven Reasons This Epic Training Should Matter To You
Seven Reasons This Epic Training Should Matter To You
 
14 OpenOakland Leadership Hacks for 2015
14 OpenOakland Leadership Hacks for 201514 OpenOakland Leadership Hacks for 2015
14 OpenOakland Leadership Hacks for 2015
 
OpenOakland: 3 goals for 2014
OpenOakland: 3 goals for 2014OpenOakland: 3 goals for 2014
OpenOakland: 3 goals for 2014
 
DRAFT: OpenOakland Product Selection
DRAFT: OpenOakland Product SelectionDRAFT: OpenOakland Product Selection
DRAFT: OpenOakland Product Selection
 
So Your Product Is Going To Die. Here's What Happens Next.
So Your Product Is Going To Die. Here's What Happens Next. So Your Product Is Going To Die. Here's What Happens Next.
So Your Product Is Going To Die. Here's What Happens Next.
 
The Things I Don't Know about Product Retirement Could Fill A Slide Deck
The Things I Don't Know about Product Retirement Could Fill A Slide DeckThe Things I Don't Know about Product Retirement Could Fill A Slide Deck
The Things I Don't Know about Product Retirement Could Fill A Slide Deck
 
What’s missing from customer service live chat?
What’s missing from customer service live chat?What’s missing from customer service live chat?
What’s missing from customer service live chat?
 
Proposal: A new City of Oakland Technology Commission
Proposal: A new City of Oakland Technology Commission Proposal: A new City of Oakland Technology Commission
Proposal: A new City of Oakland Technology Commission
 
Personal Data Economy Action Plan - Get Smart, Get Connected, Get Proof
Personal Data Economy Action Plan - Get Smart, Get Connected, Get ProofPersonal Data Economy Action Plan - Get Smart, Get Connected, Get Proof
Personal Data Economy Action Plan - Get Smart, Get Connected, Get Proof
 
The Cloud Needs An Operating System – Philip J. Windley
The Cloud Needs An Operating System – Philip J. WindleyThe Cloud Needs An Operating System – Philip J. Windley
The Cloud Needs An Operating System – Philip J. Windley
 
Johannes Ernst introduces the first Personal Clouds Community Gathering
Johannes Ernst introduces the first Personal Clouds Community GatheringJohannes Ernst introduces the first Personal Clouds Community Gathering
Johannes Ernst introduces the first Personal Clouds Community Gathering
 
Why Personal Clouds Need A Network
Why Personal Clouds Need A NetworkWhy Personal Clouds Need A Network
Why Personal Clouds Need A Network
 
What could kill NSTIC? A friendly threat assessment in 3 parts.
What could kill NSTIC? A friendly threat assessment in 3 parts.What could kill NSTIC? A friendly threat assessment in 3 parts.
What could kill NSTIC? A friendly threat assessment in 3 parts.
 
Fiduciary clouds
Fiduciary cloudsFiduciary clouds
Fiduciary clouds
 
Hi! I'm Phil Wolff. And this is PDEC.
Hi! I'm Phil Wolff. And this is PDEC.Hi! I'm Phil Wolff. And this is PDEC.
Hi! I'm Phil Wolff. And this is PDEC.
 
22 Ways Skype's Digital Identity System Sucks
22 Ways Skype's Digital Identity System Sucks22 Ways Skype's Digital Identity System Sucks
22 Ways Skype's Digital Identity System Sucks
 
Digital Signatures for use by IDA Relying Parties v102
Digital Signatures for use by IDA Relying Parties  v102Digital Signatures for use by IDA Relying Parties  v102
Digital Signatures for use by IDA Relying Parties v102
 
Skype 2021: The Next 9 Years
Skype 2021: The Next 9 Years Skype 2021: The Next 9 Years
Skype 2021: The Next 9 Years
 
#Portability4Trust - Personal Data Portability for Trust Frameworks
#Portability4Trust - Personal Data Portability for Trust Frameworks#Portability4Trust - Personal Data Portability for Trust Frameworks
#Portability4Trust - Personal Data Portability for Trust Frameworks
 

Recently uploaded

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Recently uploaded (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

iPhoneDevCamp Keynote

  • 1. July 7th, 2007 The iPhone: What We Know, What We Don’t Know Christopher Allen 1
  • 4. The iPhone: What We Know Essential Reading <http://developer.apple.com/iphone/> 4
  • 5. The iPhone: What We Know Essential Reading <http://www.iPhoneWebDev.com/> 5
  • 6. The iPhone: What We Know Use Web Standards 6
  • 7. The iPhone: What We Know Use Web Standards HTML 4.01 XHTML 1.0 CSS 2.1 and partial CSS 3.xx JavaScript 1.4, including DOM support AJAX technologies, including XMLHTTPRequest PDF Quicktime 7
  • 8. The iPhone: What We Know Things to Avoid Flash SVG Java applets Plug-in installation Embedded Video Custom x.509 certificates 8
  • 9. The iPhone: What We Know Follow Web Best Practices Separate HTML, CSS and Javascript Use well-structured and valid HTML Use columns and blocks no wide columns or text across page Avoid framesets Use CSS or iframes Size graphic elements appropriately don’t rely on browser scaling! Use small background images tile the pieces Don’t send unneeded data no 50K javascript where 10% is used 9
  • 10. The iPhone: What We Know The Finger is Not a Mouse Fingers are bigger and blunter Links and buttons need to be larger Select 80px by 80px, with 20px of free space between 10
  • 11. The iPhone: What We Know The Finger is Not a Mouse Fingers are bigger and blunter Links and buttons need to be larger Select 80px by 80px, with 20px of free space between Fingers can do more... Double tap Zoom in and center a block Touch and hold Display an information bubble One or Two-finder Drag Move the viewport or pan Flick Scroll up or down Pinch Zoom in or out 11
  • 12. The iPhone: What We Know Design for Size 12
  • 13. The iPhone: What We Know Be careful during user input 13
  • 14. The iPhone: What We Know Use Columns 14
  • 15. The iPhone: What We Know Use Small Blocks 15
  • 16. The iPhone: What We Know Orientation a Problem 16
  • 17. The iPhone: What We Know NY Times Portrait 17
  • 18. The iPhone: What We Know NY Times Landscape 18
  • 19. The iPhone: What We Know Viewports, not Windows 19
  • 20. The iPhone: What We Know Viewports not Windows Use <meta Meta Tag name=quot;viewportquot;/> defaults to width=quot;480quot; may look good on NY Times, but probably not on your site simple (twice portrait) width=quot;640quot; native portrait width=quot;320quot;; initial-scale=”1.0”; maximum-scale=”1.0”; minimum- scale=”1.0”; user-scalable=”false” useful width=quot;480quot;; maximum-scale=”0.6667”; your mileage may vary—try, try again! 20
  • 21. The iPhone: What We Know <body style=quot;-webkit-text-size-adjust:nonequot;> <body style=quot;-webkit-text-size-adjust:autoquot;> <div style=quot;-webkit-text-size-adjust:200%quot;> 21
  • 22. The iPhone: What We Know Use tel:, mailto: & maps.google.com/maps? 22
  • 23. The iPhone: What We Know PDF works 23
  • 24. The iPhone: What We Know H.264 with AAC 24
  • 25. The iPhone: What We Know Use Reference Movies 25
  • 26. The iPhone: What We Know Identifying the iPhone Use CSS if possible iPhone <link media=quot;only screen and (max-device-width: 480px)quot; href=quot;iPhone.cssquot; type=quot;text/cssquot; rel=quot;stylesheetquot; /> not-iPhone <link media=quot;screenquot; href=quot;fancy.cssquot; type=quot;text/cssquot; rel=quot;stylesheetquot; /> bug: apple suggested doesn’t work on IE - workaround in progress Use user-agent only as need if(navigator.userAgent.indexOf ('iPhone') != -1) 26
  • 27. The iPhone: What We Know Working events window.onload formfield.onfocus formfield.onclick formfield.onblur formfield.onchange formfield.onmouseout formfield.onmouseover formfield.onmousedown * formfield.onmouseup form.onreset * triggered but not as expected Others of these may work oddly! 27
  • 28. The iPhone: What We Know Non-functional events window.oncontextmenu window.onresize * (partial, buggy) window.onscroll window.onerror formfield.ondblclick formfield.onselect formfield.onkeydown formfield.onkeypress formfield.onkeyup form.onsubmit formfield.onmouseenter formfield.onmouseleave formfield.onmousemove document.onkeydown document.onkeypress document.onkeyup 28
  • 29. The iPhone: What We Know Be aware, also no... window.showModalDialog() hover styles tool tips mousedown, instead happens right before mouseup 29
  • 30. The iPhone: What We Know Limit sizes HTML, CSS, Javascript <10MB don’t send unneeded Javascript Javascript execution <5 sec GIF, PNG, and TIFF up to 8 MB i.e width * height * 4 < 8 MB Animated GIF <2MB or only first frame shown JPG up to 128MB will be subsampled internally Non-streamed media <10MB 30
  • 32. The iPhone: What We’ve Learned Examples <http://www.iPhoneWebDev.com/examples/> 32
  • 33. The iPhone: What We’ve Learned Examples viewport samples view source bookmarklet selecting di!erent keypads changing CSS on orientation change hiding the URL bar onload mailto: with arguments iPhone user-agent detection event testing 33
  • 34. The iPhone: What We’ve Learned Exemplars gasapp.com Joe Hewitt’s navigation demo movie.app (in 5 hours o! of nav) telemoose tada lists Soon to be Exemplars iPhone dragging 34
  • 35. The iPhone: What We’ve Learned Bugs & Workarounds viewportwindow.pageYO!set always 0 no workaround window.resize event irregular but there is hack around based on width second text entry fails to invoke keyboard hack using javascript tel: tags do not conform to RFC for p and w characters use non-conforming comma , bare images in safari render on 980px use new page 35
  • 36. The iPhone: What We’ve Learned Discussions Four kinds of iPhone web pages compatible, friendly, optimized, and web app Standard for an iPhone friendly icon for directory apps What qualities does an exemplar iPhone web app have? Two finger scrolling Development libraries Sound in iPhone web games Implementing the back button Type faces, type sizes Debugging javascript, FireBug Alpha/Beta testing new web apps 36
  • 37. The iPhone: What We’ve Learned Examples <http://www.iPhoneWebDev/examples.com/> 37
  • 38. The iPhone: What we Don’t Know 38
  • 39. The iPhone: What We Don’t Know Open Questions <http://barcamp.org/iPhoneDevCampOpenQuestions> 39
  • 40. The iPhone: What We Don’t Know Open Questions What is the list CSS3 and how should we use it? What Canvas support is available and how much can we do? How do we get the URL input panel? Are background pages executing? Do we know when the browser is interrupted by phone call? How do we get/set scaling ratio? A CSS3 media query that doesn’t break IE? Persistent storage - can we rely on cookies? Any Google Gears? 40
  • 41. The iPhone: What We Don’t Know Open Questions (continued) Without many events, how do we make ui widgets How do we make two-finger scrolling widgets How to do animations faster size, direction, tricks? What does iSafari do when... opening .lnk, .web archives What does mail do when... receiving .vcf (vCard), .m3u, .url .lnk or .web archives How best to use PDF and .doc OpenID for iPhone? 41
  • 42. The iPhone: What We Don’t Know Open Questions <http://barcamp.org/iPhoneDevCampOpenQuestions> 42
  • 43. iPhoneDevCamp Hack-a-Thon 43
  • 44. iPhone DevCamp Hack-a-Thon MacHack (b:1985 d:2003) 44
  • 45. iPhoneDevCamp Hack-a-thon Values Contribution assisting the commons o!ering value usefuless Sharing helping others source code available Openness good questions open to people and ideas free or open source Fun & Cool! but we value simplicity & elegance 45
  • 46. iPhoneDevCamp Hack-a-thon We may give out tickets or smaller prizes for... best question on Open Questions best answer on Open Questions travelled furthest most useless hack best looking worst looking best docs most fun 46
  • 47. iPhoneDevCamp Hack-a-thon Diverse Teams Client coders (javascript) Server coders (PHP, Perl, Ruby, etc.) CSS/DHTML Artists User Interface/Experience Testing Documentation Hardware 47
  • 48. iPhone DevCamp Hack-a-Thon Signup by 1pm Sunday <http://barcamp.pbwiki.com/ iPhoneDevCampHackAThon> 48
  • 50. iPhone DevCamp Hack-a-Thon x2 x3 Hack-a-Thon Demo & Contest, Sunday 2pm-5pm 50