SlideShare a Scribd company logo
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!

More Related Content

Viewers also liked

Traitsys ppt
Traitsys pptTraitsys ppt
Traitsys ppt
karanbatra987
 
Mobile web application development
Mobile web application developmentMobile web application development
Mobile web application development
Vince 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 @ MRMW11
ResearchShare
 
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 Software
guest8861ff
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
Shivaraj R
 
Software testing
Software testingSoftware testing
Software testing
Bala 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 Agile
Chandan Mishra
 
25 php interview questions – codementor
25 php interview questions – codementor25 php interview questions – codementor
25 php interview questions – codementor
Arc & 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
Steve 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 Methods
Riant 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 process
Riant Soft
 

Viewers also liked (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
 

Similar to 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 7
Thomas 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 Down
Apppli
 
Integrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterIntegrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenter
Brian 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 7
Thomas Robbins
 
Kentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery MobileKentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery Mobile
Thomas Robbins
 
Considerations for Your Mobile Library
Considerations for Your Mobile LibraryConsiderations for Your Mobile Library
Considerations for Your Mobile Library
Rachel Vacek
 
2018 jk
2018 jk2018 jk
2018 jk
Nitin Gaur
 
Maxime Thomas - eZBK
Maxime Thomas - eZBKMaxime Thomas - eZBK
Maxime Thomas - eZBK
eZ Publish Community
 
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
Rachel 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 today
AnnSteyaert_vmware
 
Spring Into the Cloud
Spring Into the CloudSpring Into the Cloud
Spring Into the Cloud
Jennifer Hickey
 
Mobile Web Apps Overview
Mobile Web Apps OverviewMobile Web Apps Overview
Mobile Web Apps Overview
Ramon Victor
 
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
Microsoft Mobile Developer
 
Going Mobile with HTML5
Going Mobile with HTML5Going Mobile with HTML5
Going Mobile with HTML5
John Reiser
 
Designing Mobile Applications
Designing Mobile ApplicationsDesigning Mobile Applications
20120802 timisoara
20120802 timisoara20120802 timisoara
20120802 timisoara
Richard Rodger
 
Webinos Project
Webinos ProjectWebinos Project
Webinos Project
Georgios Gionis, PhD
 
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
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 

Similar to 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
 

Recently uploaded

Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 

Recently uploaded (20)

Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 

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

Editor's Notes

  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