Implementation report for the Mobile Web Application Best Practices

This document is an implementation report for the Mobile Web Application Best Practices W3C Last Call Working Draft dated 13 July 2010.

Implementation under test

Results of checking the Web application with the Best Practices

Best Practice Implemented Partial Comments
1. Use Cookies Sparingly No cookies used at all, unpersonalized app
2. Use Appropriate Client-Side Storage Technologies for Local Data Not used yet at all
3. Replicate Local Data This app lives completely client-side, server data are only read from external webservices.
4. Do not Execute Unescaped or Untrusted JSON data +1 using dojo's JSON methods (mapping to native implementation if exists)
5. Ensure the User is Informed About Use of Personal and Device Information No device data used.
6. Enable Automatic Sign-in no sign-in needed in this app
7. Use Transfer Compression App is executed from local filesystem.
8. Minimize Application and Data Size JavaScript code is minimized.
9. Avoid Redirects Its a one page app.
10. Optimize Network Requests Optimized by the nature of the app, which is running local and only getting data from online.
11. Minimize External Resources +1 lies in the nature of the app
12. Aggregate Static Images into a Single Composite Resource (Sprites) +1 Done rather for convinience than for reducing the number of requests.
13. Include Background Images Inline in CSS Style Sheets Not necessary, all data are served from local.
14. Cache Resources By Fingerprinting Resource References
15. Cache AJAX Data +1 done when possible
16. Do not Send Cookie Information Unnecessarily +1 no cookies used
17. Keep DOM Size Reasonable +1 big issue, we optimized hard for that! AND "make DOM with meaning", means use a LI for a list, etc. imho very important on mobile even more
18. Optimize For Application Start-up Time +1 we optimized by deferring some resource loading
19. Minimize Perceived Latency +1 as above
20. Design for Multiple Interaction Methods +1 very important!! touch and keyboard navigation
21. Preserve Focus on Dynamic Page Updates -1 marginally relevant on touch devices imho
22. Use Fragment IDs to Drive Application View it's an app, there is no necessity to create links, imho this doesnt apply to apps (to websites only!)
23. Make Telephone Numbers "Click-to-Call" good input! but: no phone numbers shown yet
24. Ensure Paragraph Text Flows +1 very important also in our eyes
25. Ensure Consistency Of State Between Devices not relevant (yet)
26. Consider Mobile Specific Technologies for Initiating Web Applications not used yet
27. Use Meta Viewport Element To Identify Desired Screen Size +1
28. Prefer Server-side Detection Where Possible app has no server side component
29. Use Client-side Detection When Necessary Every app is packaged device specificly, no need for client-side detection, handled at build time
30. Use Device Classification to Simplify Content Adaptation not used yet
31. Support a non-JavaScript Variant if Appropriate was not in scope, becomes less relevant imho
32. Offer Users a Choice of Interfaces not done (yet)

The document also contains a small set of advisory notes from the Mobile Web Best Practices Working Group. While implementation of these advisory notes is not required for the document to transition out of Candidate Recommendation, the group invites submitters to provide feedback on these advisory notes as well, when relevant.

Advisory note Implemented Partial Comments
1. Consider Use Of Canvas Element or SVG For Dynamic Graphics
2. Inform the User About Automatic Network Access
3. Provide Sufficient Means to Control Automatic Network Access

Francois Daoust, <fd@w3.org>
Last Modified: $Date: 2010/09/07 11:54:52 $