pattern http://default/ en A user interface design pattern library for Drupal http://default/blog/user-interface-design-pattern-library-drupal <span class="field field--name-title field--type-string field--label-hidden">A user interface design pattern library for Drupal</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="http://default/users/roy" typeof="schema:Person" property="schema:name" datatype="" xml:lang="">Roy</span></span> <span class="field field--name-created field--type-created field--label-hidden">06-10-2009</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><blockquote><p>“…Surgical teams that follow a basic checklist in the operating room, from discussing expected blood loss to confirming the patient's name, reduced the rate of deaths and complications by more than a third.” (<a href="http://www.who.int/bulletin/volumes/86/7/08-010708/en/">source</a>)</p></blockquote> <p>Drupal module development will hopefully not cost human lives one way or the other. But when building your module's UI the same principle is at work. It's all too easy to skip the basics, and go straight for the more complex parts of the problem. That’s the interesting part after all.</p> <!--break--><p>There’s literally thousands of contributed modules out there. If you have forty of those installed on your web site, the user experience will be much improved if the UI for each behaves in consistent ways. We hear <a href="http://www.garfieldtech.com/blog/drupalcon-paris">developers wouldn’t mind having some advice on how to do this</a>, either.</p> <div style="width:425px;text-align:left" id="__ss_1975198"> <object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=buildingblockforyourmodulesui-090909181631-phpapp01&stripped_title=building-block-for-your-modules-ui" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=buildingblockforyourmodulesui-090909181631-phpapp01&stripped_title=building-block-for-your-modules-ui" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div> <p>At Drupalcon Paris <a href="http://www.bojhan.nl">Bojhan</a> and I presented the talk ‘<a href="http://paris2009.drupalcon.org/session/building-blocks-your-modules-ui">Building blocks for your module's UI</a>’. Consider it the kick-off for creating this checklist. We'll call it a user interface design pattern library.</p> <p>A design pattern is a generalised, reusable solution to a commonly occurring problem. It should:</p> <ul> <li>Describe the common problem</li> <li>Offer a solution</li> <li>Give a rationale for why (and when) this solution works</li> <li>Provide visual examples</li> </ul> <p>In our presentation we do this for fieldsets, tables and vertical tabs amongst others. There’s a big part on copy writing in there as well. But we’ll save that for another post.</p> <p>So, now to make this first outline into a useful reference for core and contrib developers that will actually get used! The outline and inital content is there. We'll need some help getting it done for real though. Have a look at the presentation if you will. Then, we'd love to hear from you if want to help with documenting and writing these patterns.</p> </div> <div class="field field--name-taxonomy-vocabulary-1 field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><a href="http://default/drupal" hreflang="en">drupalplanet</a></div> <div class="field__item"><a href="http://default/tag/drupal" hreflang="en">Drupal</a></div> <div class="field__item"><a href="http://default/tag/ui" hreflang="en">ui</a></div> <div class="field__item"><a href="http://default/tag/pattern" hreflang="en">pattern</a></div> </div> Tue, 06 Oct 2009 21:45:49 +0000 Roy 37 at http://default