SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Learning from our
    screw-ups
Useful Things — 2008
• Work with the device’s capabilities rather
  than against it
• No popups, don’t scroll all over, don’t use
  blank.gif
• Don’t use nested tables for layout
• http://www.w3.org/TR/mobile-bp/
Learning Before We
    Screw Up
Useful Things — 2010

• Don’t eval() arbitrary JSON
• Cache your AJAX
• Focus on perceived startup time and
  latency
• Think about interaction method variety
More

• Sync local and remote storage
• Use gzip
• When to use SVG or canvas?
• http://www.w3.org/TR/mwabp/
Mobilize your apps!
                                                                                                                                                                       www

Optimize response time                               Set users free                       These guidelines aid the development of rich
                                                                                             and dynamic mobile Web applications.
                                                                                                    For more information :
Every detail matters in mobile Web           Mobile devices are used in various                    www.w3.org/TR/mwabp/
applications and some technical points       contexts, from killing time at home
may significantly boost the overall user     to urgent requests on the go.
experience.                                  Let users know and control what
                                             happens to earn their trust.
• Aggregate static images into a single
  composite resource (sprites).              • Ensure the user is informed about use of                                                               Mobile Web Application
• Include background images inline in CSS
  style sheets.
• Keep DOM size reasonable.
                                               personal and device information.
                                             • Enable automatic sign-in.
                                             • Offer users a choice of interfaces.
                                                                                                                                                      Best Practices
• Minimize perceived latency.                • Don’t change focus when dynamically
• Optimize for application start-up time.      updating page sections.                     Supported by the MobiWebApp FP7 EU project




                                                                                                                                         ® W3C 2010
                                                                                                     mobiwebapp.eu



                                                                                                              !!!"!#"$%&




                                            W3C Sexy Cards
Design for flexibility                                   Remember                                     Spare the network                                Exploit mobile-
                                                         Web Principles                            Use appropriate Web protocol
                                                                                                                                                        specific features
Web applications are run in evolving
and heterogeneous environments.                   Mobile devices are just one way to               features to reduce network bottlenecks         Some Web technologies are
Flexibility allows you to address more            access the Web. Generic Web                      and latency.                                   particularly relevant to mobile devices.
devices and users at reduced cost.                principles also apply to the development                                                        Learn to use them.
                                                                                                   • Use transfer compression.
                                                  of robust mobile Web applications.
• Design for multiple interaction methods.                                                         • Cache resources by fingerprinting resource   • Make telephone numbers "click-to-call".
• Ensure text flows.                                                                                 references.                                  • Consider mobile-specific technologies for
                                                  • Replicate local data.
• Prefer server-side detection where possible.                                                     • Cache AJAX data.                               initiating Web applications.
                                                  • Ensure consistency of state between devices.
• Use client-side detection when necessary.                                                        • Minimize external resources.                 • Use the meta viewport element to identify
                                                  • Do not execute unescaped or untrusted
• Use device classification to simplify content                                                    • Minimize application and data size.            the desired screen size.
                                                    JSON data.
  adaptation.                                                                                      • Avoid redirects.                             • Use appropriate client-side storage
                                                  • Use fragment IDs to drive application view.
• Support a non-JavaScript variant if                                                              • Optimize network requests.                     technologies for local data.
  appropriate.                                                                                     • Use cookies sparingly.
                                                                                                   • Do not send cookie information
                                                                                                     unnecessarily.




                                              W3C Sexy Cards
Speaking of SVG
• Largely mobile-dominated for a long time
• Now gone mainstream
 • shipping in IE9, indexed by Google
• http://berjon.com/blog/2010/09/
  bouncy.xhtml
• http://svg-wow.org/
The Divide Disappears

• Strong current trend towards convergence
 • Though that’s not what it’s called
• Top developers target both
• See http://html5boilerplate.com/
Up Next: DAP
What We Don’t Do

• Geolocation
• Device orientation
• Web Performance
• Web Notification
• Whatever WebApps does
Widgets or Web?

• People hesitate
• Interesting security decisions to make
• The overlap matters more than the
  distinctions
Capture


• Grab pics, audio, video from <input>
• Have an API to instantiate same
Contacts

• Get information from user’s contacts
• Cool for social networking
• Mozilla has an early implementation
And More...

• Calendar
• Messaging
• System Info
• Gallery
• Policy
Privacy
           The application programming interfaces
        (APIs) work that the W3C Device APIs and
       Policy Working Group (DAP) is chartered to
            perform represents the largest and most
            thorough assault on users' privacy ever
             undertaken by a single working group.

http://www.w3.org/2010/api-privacy-ws/papers.html
The Details
• http://www.w3.org/2009/dap/
• http://lists.w3.org/Archives/Public/public-
  device-apis/
• public-device-apis@w3.org
• http://berjon.com/
• @robinberjon
Thanks!

Weitere ähnliche Inhalte

Andere mochten auch

Mobile web application development
Mobile web application developmentMobile web application development
Mobile web application developmentVince Aggrippino
 
Web technologies for mobile engagement: navigating the entry points for engag...
Web technologies for mobile engagement: navigating the entry points for engag...Web technologies for mobile engagement: navigating the entry points for engag...
Web technologies for mobile engagement: navigating the entry points for engag...Merlien Institute
 
Web Technologies for Mobile Engagement | JetJaw presentation @ MRMW11
Web Technologies for Mobile Engagement | JetJaw presentation @ MRMW11Web Technologies for Mobile Engagement | JetJaw presentation @ MRMW11
Web Technologies for Mobile Engagement | JetJaw presentation @ MRMW11ResearchShare
 
Mobile News iPhone/iPad/Android - application development platform for web si...
Mobile News iPhone/iPad/Android - application development platform for web si...Mobile News iPhone/iPad/Android - application development platform for web si...
Mobile News iPhone/iPad/Android - application development platform for web si...Stanfy
 
Diligent or Lazy - was Bill Gates right?
Diligent or Lazy - was Bill Gates right?Diligent or Lazy - was Bill Gates right?
Diligent or Lazy - was Bill Gates right?hugh sheehy
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Softwareguest8861ff
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing Shivaraj R
 
Software testing
Software testingSoftware testing
Software testingBala Ganesh
 
Importance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and AgileImportance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and AgileChandan Mishra
 
25 php interview questions – codementor
25 php interview questions – codementor25 php interview questions – codementor
25 php interview questions – codementorArc & Codementor
 
Practical Use of Microsoft Project for Project Managers
Practical Use of Microsoft Project for Project ManagersPractical Use of Microsoft Project for Project Managers
Practical Use of Microsoft Project for Project ManagersSteve Gladstone
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and MethodsRiant Soft
 
6 basic steps of software development process
6 basic steps of software development process6 basic steps of software development process
6 basic steps of software development processRiant Soft
 

Andere mochten auch (14)

Traitsys ppt
Traitsys pptTraitsys ppt
Traitsys ppt
 
Mobile web application development
Mobile web application developmentMobile web application development
Mobile web application development
 
Web technologies for mobile engagement: navigating the entry points for engag...
Web technologies for mobile engagement: navigating the entry points for engag...Web technologies for mobile engagement: navigating the entry points for engag...
Web technologies for mobile engagement: navigating the entry points for engag...
 
Web Technologies for Mobile Engagement | JetJaw presentation @ MRMW11
Web Technologies for Mobile Engagement | JetJaw presentation @ MRMW11Web Technologies for Mobile Engagement | JetJaw presentation @ MRMW11
Web Technologies for Mobile Engagement | JetJaw presentation @ MRMW11
 
Mobile News iPhone/iPad/Android - application development platform for web si...
Mobile News iPhone/iPad/Android - application development platform for web si...Mobile News iPhone/iPad/Android - application development platform for web si...
Mobile News iPhone/iPad/Android - application development platform for web si...
 
Diligent or Lazy - was Bill Gates right?
Diligent or Lazy - was Bill Gates right?Diligent or Lazy - was Bill Gates right?
Diligent or Lazy - was Bill Gates right?
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
Software testing
Software testingSoftware testing
Software testing
 
Importance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and AgileImportance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and Agile
 
25 php interview questions – codementor
25 php interview questions – codementor25 php interview questions – codementor
25 php interview questions – codementor
 
Practical Use of Microsoft Project for Project Managers
Practical Use of Microsoft Project for Project ManagersPractical Use of Microsoft Project for Project Managers
Practical Use of Microsoft Project for Project Managers
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
 
6 basic steps of software development process
6 basic steps of software development process6 basic steps of software development process
6 basic steps of software development process
 

Ähnlich wie W3C Mobile Web technologies

Kentico Technical Learning - Responsive Design with Kentico CMS 7
Kentico Technical Learning - Responsive Design with Kentico CMS 7Kentico Technical Learning - Responsive Design with Kentico CMS 7
Kentico Technical Learning - Responsive Design with Kentico CMS 7Thomas Robbins
 
Web Apps vs. Native Apps: The Low Down
Web Apps vs. Native Apps: The Low DownWeb Apps vs. Native Apps: The Low Down
Web Apps vs. Native Apps: The Low DownApppli
 
Integrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterIntegrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterBrian Huff
 
Creating Mobile Websites with Kentico CMS 7
Creating Mobile Websites with Kentico CMS 7Creating Mobile Websites with Kentico CMS 7
Creating Mobile Websites with Kentico CMS 7Thomas Robbins
 
Kentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery MobileKentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery MobileThomas Robbins
 
Considerations for Your Mobile Library
Considerations for Your Mobile LibraryConsiderations for Your Mobile Library
Considerations for Your Mobile LibraryRachel Vacek
 
Library Mobile Web Design: Tips, Tricks and Resources
Library Mobile Web Design: Tips, Tricks and ResourcesLibrary Mobile Web Design: Tips, Tricks and Resources
Library Mobile Web Design: Tips, Tricks and ResourcesRachel Vacek
 
Jornada Desarrolladores: WAC: 'Wholesale Applications Community'
Jornada Desarrolladores: WAC: 'Wholesale Applications Community' Jornada Desarrolladores: WAC: 'Wholesale Applications Community'
Jornada Desarrolladores: WAC: 'Wholesale Applications Community' videos
 
Producing a mobile presence. Timeline: Yesterday...
Producing a mobile presence. Timeline: Yesterday...Producing a mobile presence. Timeline: Yesterday...
Producing a mobile presence. Timeline: Yesterday...Nick DeNardis
 
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions  - Deploy and manage tomorrow's applications todayVMware - Snapshot sessions  - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions - Deploy and manage tomorrow's applications todayAnnSteyaert_vmware
 
Mobile Web Apps Overview
Mobile Web Apps OverviewMobile Web Apps Overview
Mobile Web Apps OverviewRamon Victor
 
Going Mobile with HTML5
Going Mobile with HTML5Going Mobile with HTML5
Going Mobile with HTML5John Reiser
 

Ähnlich wie W3C Mobile Web technologies (20)

Kentico Technical Learning - Responsive Design with Kentico CMS 7
Kentico Technical Learning - Responsive Design with Kentico CMS 7Kentico Technical Learning - Responsive Design with Kentico CMS 7
Kentico Technical Learning - Responsive Design with Kentico CMS 7
 
Web Apps vs. Native Apps: The Low Down
Web Apps vs. Native Apps: The Low DownWeb Apps vs. Native Apps: The Low Down
Web Apps vs. Native Apps: The Low Down
 
Integrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterIntegrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenter
 
Creating Mobile Websites with Kentico CMS 7
Creating Mobile Websites with Kentico CMS 7Creating Mobile Websites with Kentico CMS 7
Creating Mobile Websites with Kentico CMS 7
 
Kentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery MobileKentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery Mobile
 
Considerations for Your Mobile Library
Considerations for Your Mobile LibraryConsiderations for Your Mobile Library
Considerations for Your Mobile Library
 
2018 jk
2018 jk2018 jk
2018 jk
 
Maxime Thomas - eZBK
Maxime Thomas - eZBKMaxime Thomas - eZBK
Maxime Thomas - eZBK
 
Library Mobile Web Design: Tips, Tricks and Resources
Library Mobile Web Design: Tips, Tricks and ResourcesLibrary Mobile Web Design: Tips, Tricks and Resources
Library Mobile Web Design: Tips, Tricks and Resources
 
Jornada Desarrolladores: WAC: 'Wholesale Applications Community'
Jornada Desarrolladores: WAC: 'Wholesale Applications Community' Jornada Desarrolladores: WAC: 'Wholesale Applications Community'
Jornada Desarrolladores: WAC: 'Wholesale Applications Community'
 
Producing a mobile presence. Timeline: Yesterday...
Producing a mobile presence. Timeline: Yesterday...Producing a mobile presence. Timeline: Yesterday...
Producing a mobile presence. Timeline: Yesterday...
 
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions  - Deploy and manage tomorrow's applications todayVMware - Snapshot sessions  - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
 
Spring Into the Cloud
Spring Into the CloudSpring Into the Cloud
Spring Into the Cloud
 
Mobile Web Apps Overview
Mobile Web Apps OverviewMobile Web Apps Overview
Mobile Web Apps Overview
 
Ideas for addictive series 40 web apps
Ideas for addictive series 40 web appsIdeas for addictive series 40 web apps
Ideas for addictive series 40 web apps
 
Going Mobile with HTML5
Going Mobile with HTML5Going Mobile with HTML5
Going Mobile with HTML5
 
Designing Mobile Applications
Designing Mobile ApplicationsDesigning Mobile Applications
Designing Mobile Applications
 
20120802 timisoara
20120802 timisoara20120802 timisoara
20120802 timisoara
 
Webinos Project
Webinos ProjectWebinos Project
Webinos Project
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 

Kürzlich hochgeladen

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
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
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
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
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
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Kürzlich hochgeladen (20)

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
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
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
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"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...
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
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
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

W3C Mobile Web technologies

  • 1. Learning from our screw-ups
  • 2. Useful Things — 2008 • Work with the device’s capabilities rather than against it • No popups, don’t scroll all over, don’t use blank.gif • Don’t use nested tables for layout • http://www.w3.org/TR/mobile-bp/
  • 4. Useful Things — 2010 • Don’t eval() arbitrary JSON • Cache your AJAX • Focus on perceived startup time and latency • Think about interaction method variety
  • 5. More • Sync local and remote storage • Use gzip • When to use SVG or canvas? • http://www.w3.org/TR/mwabp/
  • 6. Mobilize your apps! www Optimize response time Set users free These guidelines aid the development of rich and dynamic mobile Web applications. For more information : Every detail matters in mobile Web Mobile devices are used in various www.w3.org/TR/mwabp/ applications and some technical points contexts, from killing time at home may significantly boost the overall user to urgent requests on the go. experience. Let users know and control what happens to earn their trust. • Aggregate static images into a single composite resource (sprites). • Ensure the user is informed about use of Mobile Web Application • Include background images inline in CSS style sheets. • Keep DOM size reasonable. personal and device information. • Enable automatic sign-in. • Offer users a choice of interfaces. Best Practices • Minimize perceived latency. • Don’t change focus when dynamically • Optimize for application start-up time. updating page sections. Supported by the MobiWebApp FP7 EU project ® W3C 2010 mobiwebapp.eu !!!"!#"$%& W3C Sexy Cards
  • 7. Design for flexibility Remember Spare the network Exploit mobile- Web Principles Use appropriate Web protocol specific features Web applications are run in evolving and heterogeneous environments. Mobile devices are just one way to features to reduce network bottlenecks Some Web technologies are Flexibility allows you to address more access the Web. Generic Web and latency. particularly relevant to mobile devices. devices and users at reduced cost. principles also apply to the development Learn to use them. • Use transfer compression. of robust mobile Web applications. • Design for multiple interaction methods. • Cache resources by fingerprinting resource • Make telephone numbers "click-to-call". • Ensure text flows. references. • Consider mobile-specific technologies for • Replicate local data. • Prefer server-side detection where possible. • Cache AJAX data. initiating Web applications. • Ensure consistency of state between devices. • Use client-side detection when necessary. • Minimize external resources. • Use the meta viewport element to identify • Do not execute unescaped or untrusted • Use device classification to simplify content • Minimize application and data size. the desired screen size. JSON data. adaptation. • Avoid redirects. • Use appropriate client-side storage • Use fragment IDs to drive application view. • Support a non-JavaScript variant if • Optimize network requests. technologies for local data. appropriate. • Use cookies sparingly. • Do not send cookie information unnecessarily. W3C Sexy Cards
  • 8. Speaking of SVG • Largely mobile-dominated for a long time • Now gone mainstream • shipping in IE9, indexed by Google • http://berjon.com/blog/2010/09/ bouncy.xhtml • http://svg-wow.org/
  • 9. The Divide Disappears • Strong current trend towards convergence • Though that’s not what it’s called • Top developers target both • See http://html5boilerplate.com/
  • 11. What We Don’t Do • Geolocation • Device orientation • Web Performance • Web Notification • Whatever WebApps does
  • 12. Widgets or Web? • People hesitate • Interesting security decisions to make • The overlap matters more than the distinctions
  • 13. Capture • Grab pics, audio, video from <input> • Have an API to instantiate same
  • 14. Contacts • Get information from user’s contacts • Cool for social networking • Mozilla has an early implementation
  • 15. And More... • Calendar • Messaging • System Info • Gallery • Policy
  • 16. Privacy The application programming interfaces (APIs) work that the W3C Device APIs and Policy Working Group (DAP) is chartered to perform represents the largest and most thorough assault on users' privacy ever undertaken by a single working group. http://www.w3.org/2010/api-privacy-ws/papers.html
  • 17. The Details • http://www.w3.org/2009/dap/ • http://lists.w3.org/Archives/Public/public- device-apis/ • public-device-apis@w3.org • http://berjon.com/ • @robinberjon

Hinweis der Redaktion

  1. These were the things we decided to list as bad ideas in 2008 &amp;#x2014; they&amp;#x2019;re very much old school
  2. Things change really fast
  3. In fact if Google knew anything about cool technology they&amp;#x2019;d have used it
  4. like, File