- From: Lachlan Hunt <lachlan.hunt@lachy.id.au>
- Date: Tue, 14 Aug 2007 04:26:29 +1000
- To: public-html <public-html@w3.org>
Hi, It seems that there are still quite a few people that misunderstand and object to the pave the cowpaths principle and I believe this is because the current wording is quite vague: "When a practice is already widespread among authors, consider adopting it rather than forbidding it or inventing something new." http://www.w3.org/html/wg/html5/principles/#pave-the-cowpaths I get the impression that some people have interpreted that as meaning we should adopt existing markup usage literally, whereas it's actually more about analysing people's behaviour and then designing features based on what they are trying to do and how they are trying to do it. In a sense, it is analogous to Desire Lines http://en.wikipedia.org/wiki/Desire_lines A desire line is, for example, a dirt path formed by people cutting across the grass instead of following the pavement around it, which eventually leaves a dirt track. Landscapers don't look at that situation and decide that it would be a good idea to build dirt paths everywhere. Rather, they look at it and decide that it would be a good idea to pave it. So people can still do what they want to do - in this case, take a short cut - but they no longer have to walk through mud on a rainy day to do it. There are similar problems with the wording of Don't Reinvent the Wheel: "If there's already a widely used and implemented technology covering particular use cases, consider specifying that technology in preference to inventing something new for the same purpose. Sometimes, though, new use cases may call for a new approach instead of more extensions on an old approach." http://www.w3.org/html/wg/html5/principles/#do-not-reinvent-the-wheel That wording doesn't work well when existing solutions have, for example, proven to be harmful, overly complex or far too limited to address the use cases properly. There are some cases where it is better to invent a new solution than attempt to recover some poor makeshift solution, and the principle should make allowances for that clearer. e.g. Replacing the datetime-design-pattern that abuses <abbr> with the new <time> element. These are my proposed revisions to those two principles: Don't Reinvent the Wheel Evaluate the success and failure of existing solutions. For those that have proven reasonably successful in terms of benefits, usage and implementation, consider adopting, retaining and/or improving upon them in preference to dismissing and inventing new features. Pave the Cowpaths Investigate existing practices and design or adopt features that meet the desires of authors. Where possible, solutions should leverage the existing techniques and skill sets of authors which will help promote the adoption of new features. -- Lachlan Hunt http://lachy.id.au/
Received on Monday, 13 August 2007 18:26:46 UTC