- From: Francois Daoust <fd@w3.org>
- Date: Thu, 20 Mar 2008 14:57:30 +0100
- To: public-bpwg@w3.org
In Seoul's F2F, I said I would summarize the thesis from a BP-centric point of view, so here's my try... Document -------- Performance of Ajax applications on mobile devices by Mikko Pervilä (University of Helsinki, Department of Computer Science) http://www.cs.helsinki.fi/u/pervila/Gradu/index.html In short for BPs ---------------- The thesis (indirectly) mentions already included best practices, may be used to complete/emphasize some of them, but IMHO doesn't mention any new one. The References part includes some really interesting material, and there may be some new BPs there. Abstract -------- The thesis evaluates the presentational capability and measures the performance of five mobile browsers, testing 12 Ajax toolkits and 8 production-quality applications. Ajax is defined as a design pattern: "using any single component technology is not strictly required" where component technology includes Javascript, XMLHttpRequest, XML, hidden IFrame, DOM manipulation, HTTP streaming... I guess this directly matches the way we would also define it. Motivation for Mobile Ajax: improve user input speed, lesser display processing requirements, smaller amounts of transferred data [Whi05], and better compatibility between devices. Results indicate that: - the initial loading time of a full-featured Ajax application can often exceed 20 seconds [and so BPs are probably needed...] - the support for Javascript varies between mobile browsers [I guess it links to our BP 5.9.2 Use Reliable Methods for Determining Script Support] Note the thesis doesn't recommend best practices but rather (indirectly) mentions practices or references docs that list best practices, sometimes explaining the effects of them, and thus the thesis never says "this BP is cool, use it!". New BPs? -------- 1/ Reduce DNS Lookups See http://developer.yahoo.com/performance/rules.html#dns_lookups It's rather an example of something one could have in mind when trying to minimize the number of HTTP requests needed to display a web page 2/ Configure ETags Same thing, and same doc: http://developer.yahoo.com/performance/rules.html#etags To minimize the size of data, improve caching (goes with 5.5.6 Minimize External Script Files?) Actually, the whole Yahoo! document [Yah07e] is about such Best Practices to speed up Web pages downloads and display. It's not specific to mobile, but then, given the constraints of mobile, it may be regarded as making "more" sense in the Mobile Web. Links to existing BPs --------------------- - 5.5.1 Use Transfer Compression for Content "The space and time requirements for XML processing can be much alleviated through the use of binary XML" See p16 - 5.5.3 Use Push Methods to Reduce Pull Traffic It may not be exactly a Push method, but the doc mentions the use of HTTP streaming (also called "Comet") and/or pipelining as a way to save the TCP handshake between requests. I'm not sure we can list that as an example of BP. It seems not to really work with proxies for instance, and proxies are part of everyday life in the Mobile World. See p13, p22, [Aja07b] and [Rus06] - 5.5.6 Minimize External Script Files The doc references some techniques to delay the inclusion of code until it's really needed and thus reduce the amount of data transferred. See p20, [Lun02] and [Aja07a] - 5.9.2 Use Reliable Methods for Determining Script Support Not directly mentioned, but one of the results of the tests is that script support varies greatly from one browser to another. - 5.11.1 Use Power-Efficient Methods More a "maybe" statement than an extensively-verified one: "even extreme Ajax usage does not seem to increase the battery drain by a factor greater than four". (p75) Some interesting references --------------------------- [Aja07b] HTTP streaming, http://ajaxpatterns.org/HTTP_Streaming [Rus06] Russell, A., Comet: Low Latency Data for the Browser. Continuing Intermittent Incoherency, 23.3.2006, http://alex.dojotoolkit.org/?p=545 [Lun02] Lundqvist, D., Remote scripting with javascript, http://www.dotvoid.com/view.php?id=13 [Aja07a] On-Demand JavaScript. AjaxPatterns wiki, http://ajaxpatterns.org/On-Demand_Javascript [Whi05] White, A., Measuring the benefits of Ajax. Developer.com, XML Articles, October 2005, http://www.developer.com/xml/article.php/10929_3554271_1 [Yah07e] Yahoo! BPs for speeding up your web site, http://developer.yahoo.com/performance/rules.html [Kra05] Krantz, P., AJAX and Accessibility. Standards Schmandards, 1.3.2005, http://www.standards-schmandards.com/2005/ajax-and-accessibility/ François.
Received on Thursday, 20 March 2008 13:58:08 UTC