SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler 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

Mais conteúdo relacionado

Destaque

What's new in Doctrine
What's new in DoctrineWhat's new in Doctrine
What's new in DoctrineJonathan Wage
 
Aaren D.F. Brown nuc
Aaren D.F. Brown nucAaren D.F. Brown nuc
Aaren D.F. Brown nucAaren Brown
 
Notiplastic agosto 2014
Notiplastic agosto 2014Notiplastic agosto 2014
Notiplastic agosto 2014avipla
 
Skills Portfolio 2011-12
Skills Portfolio 2011-12Skills Portfolio 2011-12
Skills Portfolio 2011-12GemBIUK
 
Bits of Wise Words
Bits of Wise WordsBits of Wise Words
Bits of Wise WordsOH TEIK BIN
 
Finding the Right Information Governance Solution for IT
Finding the Right Information Governance Solution for ITFinding the Right Information Governance Solution for IT
Finding the Right Information Governance Solution for ITDaegis
 
Dr. atkinson's message
Dr. atkinson's messageDr. atkinson's message
Dr. atkinson's messageKeith Eades
 
Conversaciones con cioran
Conversaciones con cioranConversaciones con cioran
Conversaciones con cioranRamón Mendoza
 
Taulukko väestöstä 3
Taulukko väestöstä 3Taulukko väestöstä 3
Taulukko väestöstä 3Urskilehto
 
AREL for discussions
AREL for discussionsAREL for discussions
AREL for discussionsChris Keris
 
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
 

Destaque (20)

What's new in Doctrine
What's new in DoctrineWhat's new in Doctrine
What's new in Doctrine
 
Aaren D.F. Brown nuc
Aaren D.F. Brown nucAaren D.F. Brown nuc
Aaren D.F. Brown nuc
 
Notiplastic agosto 2014
Notiplastic agosto 2014Notiplastic agosto 2014
Notiplastic agosto 2014
 
CV-NERMIN AKBAS
CV-NERMIN AKBASCV-NERMIN AKBAS
CV-NERMIN AKBAS
 
Skills Portfolio 2011-12
Skills Portfolio 2011-12Skills Portfolio 2011-12
Skills Portfolio 2011-12
 
Bits of Wise Words
Bits of Wise WordsBits of Wise Words
Bits of Wise Words
 
Finding the Right Information Governance Solution for IT
Finding the Right Information Governance Solution for ITFinding the Right Information Governance Solution for IT
Finding the Right Information Governance Solution for IT
 
Abuse Perl
Abuse PerlAbuse Perl
Abuse Perl
 
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
 
Ailyn
AilynAilyn
Ailyn
 
Conversaciones con cioran
Conversaciones con cioranConversaciones con cioran
Conversaciones con cioran
 
Taulukko väestöstä 3
Taulukko väestöstä 3Taulukko väestöstä 3
Taulukko väestöstä 3
 
Barberen i Sevilla
Barberen i SevillaBarberen i Sevilla
Barberen i Sevilla
 
AREL for discussions
AREL for discussionsAREL for discussions
AREL for discussions
 
Aisha Email System
Aisha Email SystemAisha Email System
Aisha Email System
 
HTML
HTMLHTML
HTML
 
Alissa Mickelson
Alissa MickelsonAlissa Mickelson
Alissa Mickelson
 
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
 
Turbó fokozat
Turbó fokozatTurbó fokozat
Turbó fokozat
 

Semelhante a iPhone Dev Camp 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
 

Semelhante a iPhone Dev Camp 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
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

iPhone Dev Camp 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