<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-11827417</id><updated>2013-04-19T01:15:26.969+10:00</updated><category term="barcamp" /><category term="flash" /><category term="work life" /><category term="user engagement" /><category term="blog tools" /><category term="wds12" /><category term="aria" /><category term="we05" /><category term="bug" /><category term="meta-data" /><category term="web directions south" /><category term="events" /><category term="adobe" /><category term="interfaces" /><category term="eeepc" /><category term="barcampsydney" /><category term="chrome" /><category term="user generated concepts" /><category term="corporate websites" /><category term="mouse" /><category term="john allsopp" /><category term="configuration" /><category term="govhack" /><category term="bandwidth theft" /><category term="intranets" /><category term="spam" /><category term="jaws" /><category term="email" /><category term="unicode" /><category term=".htaccess" /><category term="barcampbrisbane" /><category term="myspace" /><category term="mashup" /><category term="xhtml" /><category term="andrew krespanis" /><category term="pagerank" /><category term="tikiwiki" /><category term="hcard" /><category term="opera" /><category term="semantic markup" /><category term="human stuff" /><category term="barcampcanberra" /><category term="facebook" /><category term="jaiku" /><category term="blobular" /><category term="rel tag" /><category term="wifi" /><category term="rel-tag" /><category term="hci" /><category term="telcos" /><category term="sydjs" /><category term="information" /><category term="opera widgets" /><category term="humour" /><category term="government" /><category term="wacom bamboo" /><category term="web 2.0mfg" /><category term="meta post" /><category term="computers" /><category term="australia" /><category term="wds09" /><category term="web connections" /><category term="big stonking post" /><category term="ui" /><category term="patent" /><category term="lachlan hunt" /><category term="captions" /><category term="trackball" /><category term="flickr" /><category term="ie6" /><category term="barcampsydney3" /><category term="wdx" /><category term="netvibes" /><category term="palm" /><category term="enterprise applications" /><category term="power" /><category term="design" /><category term="lcms" /><category term="specifications" /><category term="disable" /><category term="source order" /><category term="ipod touch" /><category term="code commenting" /><category term="web directions" /><category term="google" /><category term="permanent beta" /><category term="silly" /><category term="education" /><category term="wds07" /><category term="podcast" /><category term="milestone" /><category term="hack day" /><category term="colours" /><category term="web blast" /><category term="captioning" /><category term="about" /><category term="pattern recognition" /><category term="personalisation" /><category term="advocacy" /><category term="creativity" /><category term="portable" /><category term="whitelist" /><category term="content management" /><category term="web patterns" /><category term="australian it" /><category term="information retrieval" /><category term="v2" /><category term="frontend" /><category term="lgwn08" /><category term="hotlinking" /><category term="wd06" /><category term="productivity" /><category term="micropatronage" /><category term="code" /><category term="open and closed project" /><category term="markup" /><category term="wds08" /><category term="wireless keyboard" /><category term="uwa" /><category term="comments" /><category term="konfabulator" /><category term="stylus" /><category term="screen readers" /><category term="landlines" /><category term="joe clark" /><category term="interoperability" /><category term="pownce" /><category term="technofear" /><category term="syndication" /><category term="widgets" /><category term="ie" /><category term="seo" /><category term="derek featherstone" /><category term="acid test" /><category term="copyright" /><category term="acid2" /><category term="chris khalil" /><category term="ipod" /><category term="mobile computing" /><category term="telecommunications" /><category term="twitter" /><category term="mobile web" /><category term="coffee" /><category term="jeremy keith" /><category term="web standards group" /><category term="problem" /><category term="graphics tablet" /><category term="openid" /><category term="curriculum" /><category term="cheryl lead" /><category term="css naked day" /><category term="vcard" /><category term="old browsers" /><category term="dom inspector" /><category term="firebug" /><category term="tablet pc" /><category term="wsg" /><category term="mobile phones" /><category term="white backgrounds" /><category term="open source" /><category term="user generated content" /><category term="geek toys" /><category term="wds11" /><category term="validation" /><category term="presentation" /><category term="windows 7" /><category term="widescreen" /><category term="firefox" /><category term="iphone" /><category term="accessibility" /><category term="pda" /><category term="folksonomy" /><category term="css" /><category term="secunia" /><category term="opera dragonfly" /><category term="web 2.0" /><category term="keyboard" /><category term="wds10" /><category term="microformat" /><category term="loves you" /><category term="review" /><category term="presence stream" /><category term="safari" /><category term="notes" /><category term="ben buchanan" /><category term="e prefix" /><category term="disappearing content" /><category term="xml" /><category term="screen resolution" /><category term="sydney" /><category term="security" /><category term="ubiquity" /><category term="mobile device" /><category term="andy clarke" /><category term="ux" /><category term="web standards" /><category term="shameless self-promotion" /><category term="contrast" /><category term="redesign" /><category term="backflip" /><category term="griffith university" /><category term="ie8" /><category term="microformats" /><category term="limitations" /><category term="firefox 3" /><category term="tutorials" /><category term="kelly goto" /><category term="netscape" /><category term="software" /><category term="keyboard users" /><category term="bamboo" /><category term="html" /><category term="geeks on the grass" /><category term="X-UA-Compatible" /><category term="testing" /><category term="whatwg" /><category term="plugins" /><category term="xp mode" /><category term="w3c" /><category term="khoi vinh" /><category term="dragonfly" /><category term="ansi art" /><category term="blackboard" /><category term="yahoo" /><category term="firefox 2" /><category term="wiki" /><category term="lgwebnetwork" /><category term="trust" /><category term="javascript" /><category term="apple" /><category term="semantic alchemy" /><category term="browser testing" /><category term="version targeting" /><category term="ipad" /><category term="web development" /><category term="cork'd" /><category term="zoomr" /><category term="wacom" /><category term="conference" /><category term="browsers" /><category term="console" /><category term="archive" /><category term="lms" /><category term="social networking" /><category term="feedback" /><category term="wordle" /><category term="virtual pc" /><category term="comparison" /><category term="chat" /><category term="html 5" /><category term="ambient personalisation" /><category term="version numbers" /><category term="oz-ia" /><category term="barcampadelaide" /><category term="meta refresh" /><category term="barcampsydney4" /><category term="lowered expectations" /><category term="pay tv" /><category term="meme" /><category term="don't be evil" /><category term="law" /><category term="markup semantics headings titles" /><category term="ajax" /><category term="barcampgoldcoast" /><category term="broadband" /><category term="ultraportable" /><category term="ugc" /><category term="target" /><category term="tribalism" /><category term="ie 7" /><category term="developer tools" /><category term="communication" /><category term="interpretation" /><category term="ascii" /><category term="realign" /><category term="dialup" /><category term="eric meyer" /><category term="liveblog" /><category term="xhtml 2" /><category term="tags" /><category term="blogger" /><category term="gian sampson-wild" /><category term="multiple ie" /><category term="search" /><category term="microsoft" /><category term="nick cowie" /><category term="opera 9" /><category term="web essentials" /><category term="data" /><category term="mark pesce" /><title type="text">the 200ok weblog</title><subtitle type="html">Web development and standards, as seen by Ben Buchanan.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://weblog.200ok.com.au/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default?start-index=26&amp;max-results=25" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>259</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/The200okWeblog" /><feedburner:info uri="the200okweblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><logo>http://weblog.200ok.com.au/feed-image.gif</logo><entry><id>tag:blogger.com,1999:blog-11827417.post-6974596579560183560</id><published>2013-03-24T21:24:00.003+11:00</published><updated>2013-03-25T13:59:39.430+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="accessibility" /><category scheme="http://www.blogger.com/atom/ns#" term="presentation" /><category scheme="http://www.blogger.com/atom/ns#" term="aria" /><title type="text">ARIA (sydjs lightning talk)</title><content type="html">&lt;p&gt;
Last week I did a five-minute lightning talk about ARIA, at &lt;a href="http://sydjs.com/"&gt;Sydjs&lt;/a&gt;. The main point was to illustrate a secondary benefit to using ARIA, beyond the primary purpose of accessibility: taking advantage of the standardised definition of state.&lt;/p&gt;

&lt;p&gt;If you already have to define state and declare element relationships for your JavaScript, why not use ARIA attributes instead of generic classes or data attributes?&lt;/p&gt;

&lt;p&gt;
The technique of using ARIA to attach behaviour is something we've been trying in the Atlassian frontend team. We have some components (and component options) which only work when the required DOM states and relationships are declared using ARIA. Leave out the ARIA attributes and they simply don't work. To put it another way: ARIA is part of the API.&lt;/p&gt;

&lt;p&gt;
Note this is an experimental technique, the main downside is if we need to modify our ARIA implementation we are effectively changing the API. Of course that's no different to changing any other attribute- or markup-based API and we use templating to lessen the impact. I'm simply calling out the point as maintenance impacts should be considered before you decide to roll out any technique in your own scenario! Also you must remember that including ARIA attributes doesn't guarantee accessibility - you must still test it works (and re-test after changes).&lt;/p&gt;

&lt;p&gt;
If you have an established API, you are of course totally free to add ARIA in your scripts. For example, if you already declare an equivalent to &lt;code&gt;aria-owns&lt;/code&gt;, you should add in &lt;code&gt;aria-owns&lt;/code&gt; when your JavaScript processes it. It's a small cost to pay for making your rich internet application accessible.&lt;/p&gt;

&lt;p&gt;
Anyway, here are the slides from the lightning talk, plus a more detailed transcript than the one generated by Slideshare.&lt;/p&gt;

&lt;h2&gt;Slides&lt;/h2&gt;
&lt;iframe src="http://www.slideshare.net/slideshow/embed_code/17434300" width="597" height="486" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen webkitallowfullscreen mozallowfullscreen&gt; &lt;/iframe&gt;
&lt;p&gt;(&lt;a href="http://www.slideshare.net/200ok/aria-sydjs-lightning-talk"&gt;View ARIA (SydJS lightning talk) on slideshare&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;Transcript&lt;/h2&gt;
&lt;h3&gt;Slide 1&lt;/h3&gt;
&lt;p&gt;  ARIA&lt;br /&gt;
  SydJS lightning talk, 2013.03.20 &lt;br /&gt;
  Ben Buchanan / @200okpublic weblog.200ok.com.au &lt;/p&gt;
&lt;h3&gt;Slide 2&lt;/h3&gt;
&lt;p&gt;&amp;quot;The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect.&amp;quot; - Tim Berners-Lee, 1997 
&lt;/p&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt; You've probably seen this quote before. It gets used a lot because it demonstrates the fact Tim Berners-Lee's vision for the web has always been one of inclusivity. &lt;/li&gt;
  &lt;li&gt; Quote source: http://www.w3.org/Press/IPO-announce or http://www.w3.org/standards/webdesign/accessibility if you prefer.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Slide 3&lt;/h3&gt;
&lt;p&gt;(Photo of &amp;quot;This is for everyone&amp;quot; tweet from Olympics opening ceremony.)&lt;/p&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt; During a recent speaking tour, he said accessibility has come a very long way (when considered over a decade-long period – big picture). But he also warned that JS-heavy applications were a great risk to that progress. &lt;/li&gt;
  &lt;li&gt;Image source: http://www.pocket-lint.com/news/46694/sir-tim-berners-lee-olympic-tweet &lt;/li&gt;
  &lt;li&gt;TimBL paraphrased from a Q&amp;amp;A session at UNSW, 2013.02.01&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Slide 4&lt;/h3&gt;
&lt;p&gt;This is relevant to your interests. &lt;/p&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt; As the people writing those JS-heavy applications, this is relevant to your interests...&lt;/li&gt;
  &lt;li&gt; For a long time, accessibility was touted as a bluntly JS-on or JS-off dichotomy. That misled many people into thinking accessibility was too hard; or that if you wanted to do cool stuff you were excused from accessibility. &lt;/li&gt;
  &lt;li&gt;That of course is bullshit. You can do all the JS ninja stuff you want and still make it accessible.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Slide5&lt;/h3&gt;
ARIA
&lt;ul&gt;
  &lt;li&gt;  Accessible Rich Internet Applications&lt;/li&gt;
  &lt;li&gt; Enhances the DOM&lt;/li&gt;
  &lt;li&gt;Describes richer interactions &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;The basics are still pretty easy: test the keyboard, check the colours, ensure there's alt text. It's the richer DOM work that is harder: updating the DOM, linking elements, elements behaving like other elements. The problem with screen readers they were built to meet a load once, render once paradigm; but DOM changes weren't picked up. ARIA describes the state of the DOM in ways assistive tech can read, basically bolting accessibility back on where it had fallen off.&lt;/p&gt;
&lt;h3&gt;  Slide 6&lt;/h3&gt;
&lt;p&gt;Reasons to use it&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;   Obviously, because a11y is good&lt;/li&gt;
  &lt;li&gt;But also its freakin useful &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt; The cool thing though is you should also think about using ARIA purely because it's frickin useful.&lt;/p&gt;
&lt;h3&gt;Slide 7&lt;/h3&gt;
&lt;p&gt; State reinvented over and over and over&lt;/p&gt;
&lt;p&gt;&lt;code&gt;
  class=&amp;quot;disabled&amp;quot;&lt;br /&gt;
  class=&amp;quot;enabled&amp;quot;&lt;br /&gt;
  class=&amp;quot;on&amp;quot;&lt;br /&gt;
  class=&amp;quot;off&amp;quot;&lt;br /&gt;
  class=&amp;quot;ticked&amp;quot;&lt;br /&gt;
  class=&amp;quot;checked&amp;quot;&lt;br /&gt;
  class=&amp;quot;focus&amp;quot;&lt;br /&gt;
  class=&amp;quot;active&amp;quot;&lt;br /&gt;
class=&amp;quot;hidden&amp;quot; &lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt; People reinvent state, over and over and over. Disabled, enabled, on, off, active, hidden...&lt;/p&gt;
&lt;h3&gt;Slide 8&lt;/h3&gt;
&lt;p&gt;  ...and over&lt;/p&gt;
&lt;p&gt;&lt;code&gt;data-my-awesome-namespace=&amp;quot;disabled&amp;quot;&lt;br /&gt;
  data-my-awesome-namespace=&amp;quot;enabled&amp;quot;&lt;br /&gt;
  data-my-awesome-namespace=&amp;quot;on&amp;quot;&lt;br /&gt;
  data-my-awesome-namespace=&amp;quot;off&amp;quot;&lt;br /&gt;
  data-my-awesome-namespace=&amp;quot;ticked&amp;quot;&lt;br /&gt;
  data-my-awesome-namespace=&amp;quot;checked&amp;quot;&lt;br /&gt;
  data-my-awesome-namespace=&amp;quot;focus&amp;quot;&lt;br /&gt;
  data-my-awesome-namespace=&amp;quot;active&amp;quot;&lt;br /&gt;
data-my-awesome-namespace=&amp;quot;hidden&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt; No matter how you're bunging this stuff into the DOM, you're still having to define and implement it all; and document it for the next person.&lt;/p&gt;
&lt;h3&gt;Slide 9&lt;/h3&gt;
&amp;quot;What meaningful properties does this object have at this time?&amp;quot; - http://www.w3.org/TR/2010/WD-wai-aria-primer-20100916/#properties 
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;What's interesting is all this information is the same information assistive technology needs. In order to describe rich interaction, ARIA had to define it.&lt;/p&gt;
&lt;h3&gt;Slide 10&lt;/h3&gt;
&lt;p&gt;  Description requires definition &lt;/p&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt; This gives us a standardised list of common interaction states, element attributes and roles... AND it makes that accessible to assistive technology.&lt;/p&gt;
&lt;h3&gt;Slide 11&lt;/h3&gt;
&lt;p&gt;  Link elements&lt;br /&gt;
  Bad: &lt;br /&gt;
  &lt;code&gt;&amp;lt;a&amp;gt;Trigger&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tooltip&amp;quot; id=&amp;quot;foo&amp;quot;&amp;gt;Not announced&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;A quick example here is a tooltip. The second element is often generated from title text, but the title has to be suppressed to avoid double up. So once you turn it into a tooltip it's no longer available to assistive tech. There is no link between these two elements in the DOM, the DIV is commonly appened to BODY and positioned with JS.&lt;/p&gt;
&lt;h3&gt;Slide 12&lt;/h3&gt;
&lt;p&gt;  Link elements&lt;br /&gt;
  Good:&lt;br /&gt;
  &lt;code&gt;&amp;lt;a aria-describedby=&amp;quot;foo&amp;quot;&amp;gt;Trigger&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;div role=&amp;quot;tooltip&amp;quot; id=&amp;quot;foo&amp;quot;&amp;gt;Announced&amp;lt;/div&amp;gt; &lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;Simply by changing the class to a role; and using described-by, you can solve these problems. The elements are linked in the DOM and assistive tech knows that random DIV is actually tooltip (which is a defined widget type). I can vouch this works as I've tested it, while creating a pull request that's been ignored for going on six months now... (we've since forked that library).&lt;/p&gt;
&lt;p&gt;CAVEAT: presumes there is a role=&amp;quot;application&amp;quot; or &amp;quot;document&amp;quot; higher up the DOM.&lt;/p&gt;
&lt;h3&gt;Slide 13&lt;/h3&gt;
&lt;p&gt;Side by side&lt;br /&gt;
  Bad: &lt;br /&gt;
  &lt;code&gt;&amp;lt;a&amp;gt;Trigger&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tooltip&amp;quot; id=&amp;quot;foo&amp;quot;&amp;gt;Not announced&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Good:&lt;br /&gt;
  &lt;code&gt;&amp;lt;a aria-describedby=&amp;quot;foo&amp;quot;&amp;gt;Trigger&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;div role=&amp;quot;tooltip&amp;quot; id=&amp;quot;foo&amp;quot;&amp;gt;Announced&amp;lt;/div&amp;gt; &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Notes:&lt;br /&gt;
  And just a quick side by side to make it easier to see how similar the code is. While ARIA can be a little verbose, it's quite readable.&lt;/p&gt;
&lt;h3&gt;Slide 14&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt; Dont overdo it...&lt;/li&gt;
  &lt;li&gt;Use core HTML where valid: &lt;code&gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; disabled /&amp;gt;&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt; ARIA fills in the gaps: &lt;code&gt;&amp;lt;span role=&amp;quot;checkbox&amp;quot; aria-checked=&amp;quot;false&amp;quot; tabindex=&amp;quot;0&amp;quot; id=&amp;quot;chk1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; &lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt; The ARIA spec itself is very clear on this: use ARIA when there is a gap that needs to be fixed. That includes gaps you've put in yourself ;) Checkbox code from https://developer.mozilla.org/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_checkbox_role&lt;/p&gt;
&lt;h3&gt;Slide 15&lt;/h3&gt;
&lt;p&gt;  Separate your functional CSS&lt;/p&gt;
&lt;p&gt;DOM:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;aria-hidden=&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;CSS:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[aria-hidden=&amp;quot;true&amp;quot;] { display: none; }&lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;What's interesting is once you start using ARIA states like this, you can separate the CSS that's not concerned with how things look. Many widgets have a small amount of functionality-related CSS; so you can attach that to the same attributes you're using for behaviour.&lt;/p&gt;
&lt;h3&gt;Slide 16&lt;/h3&gt;
&lt;p&gt; Support (chart showing good cross-browser support)&lt;/p&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt; Screenshot from http://caniuse.com/#feat=wai-aria&lt;/p&gt;
&lt;h3&gt;Slide 17&lt;/h3&gt;
&lt;p&gt; Careful! Browsers may rock at ARIA, but suck at assistive tech. eg. Firefox + NVDA = good Chrome + NVDA = bad &lt;/p&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;Just be aware that not all combinations are equal. This is not cause to panic, just test with the right stuff. Webaim have a great guide for this: http://webaim.org/articles/screenreader_testing/&lt;/p&gt;
&lt;h3&gt;Slide 18&lt;/h3&gt;
&lt;p&gt; To summarise: Rejoice! ARIA means Javascript no longer kills kittens! &lt;/p&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt; You already define state and manipulate the DOM. Use ARIA to do it and make your stuff accessible!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;(this was the end of the actual lightning talk, more info slide just for sharing)&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;h3&gt;More info&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;&amp;quot;&lt;a href="https://dvcs.w3.org/hg/aria-unofficial/raw-file/tip/index.html"&gt;Using WAI-ARIA in HTML&lt;/a&gt;&amp;quot;&lt;/li&gt;
  &lt;li&gt;    &amp;quot;&lt;a href="http://www.w3.org/WAI/PF/aria-practices/"&gt;WAI-ARIA 1.0 Authoring Practices&lt;/a&gt;&amp;quot;&lt;/li&gt;
  &lt;li&gt; &lt;a href="https://developer.mozilla.org/en-US/docs/Accessibility/ARIA"&gt;ARIA on MDN&lt;/a&gt; 
    &lt;/li&gt;
  &lt;li&gt; &lt;a href="http://blog.paciellogroup.com/category/wai-aria/"&gt;ARIA posts on TPG blog&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;One little home truth about ARIA is the specs are really hard to read. Seek out these dev-friendly options instead of the raw specs!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=CwY5E1dGD_U:BWRuzsH-CW8:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=CwY5E1dGD_U:BWRuzsH-CW8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=CwY5E1dGD_U:BWRuzsH-CW8:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=CwY5E1dGD_U:BWRuzsH-CW8:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/CwY5E1dGD_U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/6974596579560183560/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2013/03/aria-sydjs-lightning-talk.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/6974596579560183560" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/6974596579560183560" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/CwY5E1dGD_U/aria-sydjs-lightning-talk.html" title="ARIA (sydjs lightning talk)" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2013/03/aria-sydjs-lightning-talk.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-7665907640159707440</id><published>2012-10-23T22:40:00.001+11:00</published><updated>2012-10-24T22:33:39.321+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="wds12" /><category scheme="http://www.blogger.com/atom/ns#" term="big stonking post" /><category scheme="http://www.blogger.com/atom/ns#" term="web directions" /><category scheme="http://www.blogger.com/atom/ns#" term="web directions south" /><title type="text">wds12, the big stonking post™</title><content type="html"> &lt;p&gt;
The speaking is done, the blankets packed away to save us from the freezing aircon again next year, drinks consumed and planes have returned our friends to various corners of the globe. &lt;/p&gt;
&lt;p&gt;
It must be time for the Web Directions South 2012 Big Stonking Post™.&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://4.bp.blogspot.com/-7xSdJfwV7Kg/UIaILKF717I/AAAAAAAAC2o/dnT8TZi6csY/s1600/wds12-blankets.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="400" width="400" src="http://4.bp.blogspot.com/-7xSdJfwV7Kg/UIaILKF717I/AAAAAAAAC2o/dnT8TZi6csY/s400/wds12-blankets.jpg" alt="Pile of appropriate-coloured blankets" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;small&gt;(&lt;a href="http://instagram.com/p/QyFKVED9WX/"&gt;photo by webdirections&lt;/a&gt;)&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;
These are my rough notes hammered out on a laptop (to aid my own recall) and posted here in case they're useful for you too. &lt;/p&gt;
&lt;p&gt;
The usual notes: they're done in a hurry, if you need exact quotes check the videos later. Presume everything is a paraphrase rather than a quote.&lt;/p&gt;
&lt;p&gt;
Jump menu is old school but hey it's a big post. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Day One
&lt;ul&gt;
&lt;li&gt;&lt;a href="#josh-clark-beyond-mobile"&gt;Josh Clark: Beyond Mobile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#charlie-gleason"&gt;Charlie Gleason: Design to Dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mark-boulton"&gt;Mark Boulton: Responsive Design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#cam-adams"&gt;Cam Adams: Opening Credits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#tim-gleeson"&gt;Tim Gleeson – Music Mash Up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#dmitry-baranovskiy"&gt;Dmitry - Animation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#john-allsopp"&gt;John Allsopp: What we talk about when we talk about the web&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#ben-hammersley"&gt;Ben Hammersley: The flower, the field and the stack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Day Two
&lt;ul&gt;
&lt;li&gt;&lt;a href="#tom-coates"&gt;Tom Coates: An animating spark&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#lea-verou"&gt;Lea Verou: More CSS Tips&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#douglas-crockford"&gt;Douglas Crockford: Programming Style &amp;amp; Your Brain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#chaals"&gt;Chaals: Beyond HTML5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#josh-clark-buttons-are-a-hack"&gt;Josh Clark: Buttons are a hack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#jon-kolko"&gt;Jon Kolko: A means to an end&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="josh-clark-beyond-mobile"&gt;
Josh Clark: Beyond Mobile – Where no geek has gone before&lt;/h2&gt;
&lt;p&gt;
We are hurtling into an era of science fiction... right now! But what's keeping Josh up at night is &lt;em&gt;what's next&lt;/em&gt;? What's going to happen post-mobile?&lt;/p&gt;
&lt;p&gt;
Let's look into the future and think about what it means for the work we do and the way we work...&lt;/p&gt;
&lt;p&gt;
First where are we now? Mobiles were the first truly &lt;em&gt;personal&lt;/em&gt; computer – not just because they're always on us, but they know so much about us and they have so many sensors about what's happening to us. GPS, audio, video, motion detector, gyro... yet mobile is often considered the &amp;quot;companion&amp;quot; or light computing experience.&lt;/p&gt;
&lt;p&gt;
The question is not how to strip down an experience – not to do less on a mobile, but how do we do &lt;em&gt;more&lt;/em&gt; on a mobile? How can we push the boundaries? How can we make use of information ghosts – all the information about us, about the events we're in.&lt;/p&gt;
&lt;p&gt;
We need to think beyond proximity – mapping things that are nearby has been a big focus so far. How else can these devices help us in our lives? &lt;/p&gt;
&lt;p&gt;
eg. &lt;/p&gt;
&lt;p&gt;
&amp;quot;Shopper&amp;quot; app which rearranges your shopping list according the store you're in.&lt;/p&gt;
&lt;p&gt;
&amp;quot;Into_Now&amp;quot; is like Shazam for TV, so you can figure out which season and episode you're watching.&lt;/p&gt;
&lt;p&gt;
Then there's augmented reality, where we can add visuals to things around us. So far it's been fairly gimmicky in its implementation, but there have been some compelling examples, eg. Skinvaders which makes your face into the game environment. &lt;/p&gt;
&lt;p&gt;
&amp;quot;Word Lens&amp;quot; is a little more practical, which uses OCR to live translate signs into different lanuages – even keeping the font. &lt;/p&gt;
&lt;p&gt;
This is really significant because it &lt;strong&gt;moves the interface off the device&lt;/strong&gt;. The UI has to be designed for the environment around us, rather than the device screen. &lt;/p&gt;
&lt;p&gt;
&amp;quot;Table Drum&amp;quot; turns any surface into a drum kit. These apps are replacing more traditional input methods.&lt;/p&gt;
&lt;p&gt;
&amp;quot;Anytouch&amp;quot; uses the camera to turn anything into a game controller.&lt;/p&gt;
&lt;p&gt;
Of course anyone with a Kinect knows you don't even need objects to be controllers. Sometimes the best touch interface is no touch at all. There are other sensors that offer a more natural interaction than touch – touch is just the first mature sensor. Voice controls are still early days – but they are just around the corner, we can see them coming. Siri has opened up expectations.&lt;/p&gt;
&lt;p&gt;
Then there are the combinations to consider – we tend to think of designing for touch, OR speech, OR gesture... but they will develop together. Perhaps we will use a gesture to tell a device to listen to what you say next.&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Gesture + Speech = MAGIC&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
Then there is the truly free-form world of custom inputs and sensors. The medical world is doing a lot in this area. There are experiments going on with embedding blood pressure sensors in the body, even trying to download their collected data via touch (that is, put your finger on a sensor and the data is transferred).&lt;/p&gt;
&lt;p&gt;
You can get a sensor that turns plants into touch inputs! Although it seems kind of crazy, why &lt;em&gt;not&lt;/em&gt; access your calendar using the bamboo on your desk? &lt;/p&gt;
&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/EcRSKEIucjk" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;
Farmers are trialling monitors on cows that detect when they're in heat and texts the farmer. Cue the jokes...&lt;/p&gt;
&lt;p&gt;
Mirroring – sharing data between devices – turns dumb devices into smart ones. Link your sensor-laden phone with your traditional television. Then you have things like the Samsung TV that uses voice and gesture instead of a remote control.&lt;/p&gt;
&lt;p&gt;
&amp;quot;Everything around us could potentially become smart devices – it's always toasters and fridges for some reason – but what I really don't want is all of them on different OSes with different UIs to learn. I don't need more devices and OSes in my life!&amp;quot;&lt;/p&gt;
&lt;p&gt;
We get into the era of remote control.&lt;/p&gt;
&lt;p&gt;
Games often lead the way in this area – eg. Games that turn your ipad into a controller for what's happening on the TV. (&amp;quot;metal storm&amp;quot; plane game)&lt;/p&gt;
&lt;p&gt;
Innovation is going on in proprietary zones, standards bodies are terrible places for innovation... but lots of things are being done that way before they get standardised (which will help them spread without fragmentation..?)&lt;/p&gt;
&lt;p&gt;
Microsoft is almost an underdog but they understand the importance of the ecosystem, so they're doing things like &amp;quot;Smart Glass&amp;quot; which makes your phone into a controller.&lt;/p&gt;
&lt;p&gt;
Then pushing further into the future – migrating interfaces. Where the interface adapts to where you are. The most common example is plugging your phone into the car, so the call comes through your car... but you can unplug the phone and continue your call just on the phone. The phone was handling the call all the while, but its control surface migrated to the car.&lt;/p&gt;
&lt;p&gt;
Putting a Siri button on steering wheels, while a sad example of being stuck in proprietary solutions... is a sign we're moving towards more powerful migratory interfaces.&lt;/p&gt;
&lt;p&gt;
Corningware makes all the glass on touch devices... they made a concept video where they really tried to make it real; and show how it really would work in your life. Example of a bedroom mirror that's a huge display for your tablet.&lt;/p&gt;
&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/X-GXO_urMow" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;
This is what Microsoft is trying to do with Windows 8 – make an OS that works across a wide range of devices. This is something we will all have to design for in the next few years, it's a challenge that's waiting for us to tackle it.&lt;/p&gt;
&lt;p&gt;
Much of Corningware's video is just not possible due to the cost of the materials. But higher demand usually leads to lower cost; so when might we really see this in the world?&lt;/p&gt;
&lt;p&gt;
Bill Buxton says 20 years from conception to widespread use. So the things we'll be using in five years have been in the lab for fifteen years! So we can look into the future now...&lt;/p&gt;
&lt;p&gt;
(slides stop showing.... &amp;quot;uh, we've lost my slides – this is also part of the future!&amp;quot;)&lt;/p&gt;
&lt;p&gt;
Flipping contexts becomes very fun, very sexy! You can use a grab gesture at your tv and a touch on your phone, and it feels like you're putting screenshots onto the phone – it brings natural physical gestures to our devices.&lt;/p&gt;
&lt;p&gt;
&amp;quot;Siftio&amp;quot; game cubes are little devices that are aware of each other and also connect back to your main PC.&lt;/p&gt;
&lt;p&gt;
Just in time, not just in case.&lt;/p&gt;
&lt;p&gt;
Our PCs are just in case – everything is on there just in case we need them. Even our phones are like that with apps. But Siftio cubes just download the little bit of software they need at the time, then discard that to make room for the next thing. Think of &lt;em&gt;The Matrix &lt;/em&gt;where you download the knowledge you need right there and then. &lt;/p&gt;
&lt;p&gt;
(shows Matrix clip of downloading the ability to fly a helicopter)&lt;/p&gt;
&lt;p&gt;
&amp;quot;Gratuitous Matrix clip.... you're welcome&amp;quot;&lt;/p&gt;
&lt;p&gt;
Next we get passive devices. Things that are smart enough to just do what they do, passively – that is, without your direct intervention. An example is the &amp;quot;Nest&amp;quot; thermostat which is smart enough to detect you're home, use wifi to check the weather, etc. It's a smart-dumb device.&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The device itself is very simple, fairly dumb, but connects to smarter devices when they are available.&lt;/strong&gt; We think devices are going to get ever more powerful; but the truth is we're going to have a lot more dumb devices, that do less. That do one simple thing.&lt;/p&gt;
&lt;p&gt;
How do we design for this future? We can't be future proof, but we can be future friendly.&lt;/p&gt;
&lt;p&gt;
&amp;quot;metadata is the new art direction&amp;quot; - Ethan Resnick @studip101&lt;/p&gt;
&lt;p&gt;
We need to use metadata as one of our most important tools. We need to structure our data well, describe it well, set up an API for our content. Let the robots do the work! Metadata gives the machines information about how to format the content appropriately.&lt;/p&gt;
&lt;p&gt;
Example: newspaper. We know the importance, the editorial judgement, based on the layout. But how do we get that information out of the InDesign file? Do you just have an Editor for every possible stream and device? The Guardian did it with metadata. They put the editorial priority into their content and let each stream order appropriately – the iPad edition could be an entirely different layout but show the priority well for that stream.&lt;/p&gt;
&lt;p&gt;
Presentation deprecates! Our work goes out of date, yet that's what we tend to focus all our attention on... as tom coates would say &amp;quot;your product is not a website!&amp;quot;. The individual containers of our services and content are not the product. &lt;/p&gt;
&lt;p&gt;
We need to look beyond the application we're working on today, to look at the big picture. &lt;/p&gt;
&lt;p&gt;
As Designers we need to work together across the whole stack; backenders need to design the content storage to cope with multiple displays.&lt;/p&gt;
&lt;p&gt;
What do we do?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Push sensors – push the web to use things like cameras and other sensors and get access to things everywhere, not just on phones in native apps&lt;/li&gt;
&lt;li&gt; Think social&lt;/li&gt;
&lt;li&gt; Think about your ecosystem – you're not building an app or website, you're building an overall system that has to keep up with  a multi-device future&lt;/li&gt;
&lt;li&gt; We're all cloud developers&lt;/li&gt;
&lt;li&gt; Mind your metadata – data is for everyone to design, you  need to know you can get at your content and display it properly to  any device&lt;/li&gt;
&lt;li&gt; Think about new input methods – we think too visually right now, we think about &amp;quot;pointing at stuff&amp;quot; too much. For those of you who've been designing for screen readers, you're ready for when  speech becomes the interface!&lt;/li&gt;
&lt;li&gt; The future is here! Bill Buxton's 20 year rule tells us the labs are full of the future!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;quot;We have the best jobs in the world! The coolest jobs in the world in the most exciting time in the history of technology!&amp;quot; Think about the near future as well as how to bring this to your current work. Make something amazing!&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/globalmoxie"&gt;@globalmoxie&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="charlie-gleason"&gt;
Charlie Gleason: How to go from Design to Dev&lt;/h2&gt;
&lt;p&gt;
&amp;quot;Who is this talk aimed at? Me! It's stuff I wish people had told me as a designer starting to do development.&amp;quot; Charlie is a designer/dev.&lt;/p&gt;
&lt;p&gt;
He loves code and highly encourages designers to learn it.&lt;/p&gt;
&lt;p&gt;
But wait whut, he wasn't good at maths and stuff... so why do this? You are not a bad designer if you don't code, but &lt;em&gt;you'll be a better one if you do&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;
Disclaimers and uke chord warnings for the lolcats in the presentation. &amp;quot;Everyone wins, nobody throws fruit at me!&amp;quot; &lt;/p&gt;
&lt;p&gt;
&amp;quot;If you stuck around to do honors, or as I thought of it 'more wine and less growing up'...&amp;quot;&lt;/p&gt;
&lt;p&gt;
He was inspired to make postofficebox16, an art sharing project. He designed it but was frustrated he couldn't build it. So he tried to ask for help from a dev.&lt;/p&gt;
&lt;p&gt;
&amp;quot;How not to talk to developers 101&amp;quot;... a placement's art project isn't a high priority.&lt;/p&gt;
&lt;p&gt;
Learning how to learn – also important to ask &amp;quot;why to learn&amp;quot;. Not everyone has to learn to develop... the question really is &amp;quot;do you have something to build&amp;quot;? ...and if not, maybe just make up something to build.&lt;/p&gt;
&lt;p&gt;
Embrace your ideas – the tram is never on time, so how could the internet help with that? Charlie once made a website for a cafe he liked. 5/10 it's a bad idea. 4/10 someone's already built it. The other 1/10 you won't be able to get the domain name. But that's awesome, it means you are working up to something great.&lt;/p&gt;
&lt;p&gt;
If you build it, they might come, but at least you learned something. Charlie built &lt;em&gt;the 98 against&lt;/em&gt; partly because he wanted to learn how to screen scrape.&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://2.bp.blogspot.com/-hCtAwrMgfvw/UIZ83uz3mII/AAAAAAAAC1I/CWM2kRulTp8/s1600/the98against.png" imageanchor="1" style=""&gt;&lt;img border="0" height="215" width="400" src="http://2.bp.blogspot.com/-hCtAwrMgfvw/UIZ83uz3mII/AAAAAAAAC1I/CWM2kRulTp8/s400/the98against.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
The internet is full of people who will helpfully and/or snidely answer your questions. So the only thing you really need is boundless enthusiasm for getting annoyed at your computer!&lt;/p&gt;
&lt;p&gt;
What to learn? HTML, CSS, JS. Maybe some PHP, it doesn't have such a high learning curve. Python is very hip. Or ruby – check out Why's (Poignant) Guide To Ruby. Don't get hung up on what people think of the languages, just start.&lt;/p&gt;
&lt;p&gt;
Be forewarned about languages: everyone hates every one of them. Every language is hated. Everyone hates everything. Haters gonna hate. If it works it works. Find out what your friends use, what your employer uses, what you find easy to pick up.&lt;/p&gt;
&lt;p&gt;
As long as you're thinking about it, writing it and enjoying it then it doesn't really matter.&lt;/p&gt;
&lt;p&gt;
Charlie likes ruby+sinatra+haml+sass+git+github. Loves the fact the goal of Ruby is to make people happy.&lt;/p&gt;
&lt;p&gt;
Be ready for the fact you will get bad feedback. Do whatever to make YOU happy. If people say your choice of language is bad, or your ideas are bad, or your content is bad... don't let that deflate you and your enthusiasm. Not all criticism is constructive!&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://4.bp.blogspot.com/-pOSb0JJmuuY/UIZ9OTrOr5I/AAAAAAAAC1U/hOThyUqvA8w/s1600/charlie-gleason-aside.png" imageanchor="1" style=""&gt;&lt;img border="0" height="230" width="400" src="http://4.bp.blogspot.com/-pOSb0JJmuuY/UIZ9OTrOr5I/AAAAAAAAC1U/hOThyUqvA8w/s400/charlie-gleason-aside.png" alt="An aside on how great you are. I think it’s worth mentioning, anyone who tells you that the language you’re using is terrible or that the code that you’re writing is terrible or that your ideas are terrible are just really boring. Don’t let that hot air balloon of your boundless self esteem be deflated by cranky humans. You are great. You have great hair, and a great fashion sense, and you’re doing good. There is a big difference between constructive criticism and being a giant jerk face. Life is short - if someone is making you feel crummy, they’re probably not worth your time. End aside!" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
Tools to learn? The Internet! With an exclamation mark! (get list of specific resources from site)&lt;/p&gt;
&lt;p&gt;
&amp;quot;Everyone has to start somewhere.&amp;quot;&lt;/p&gt;
&lt;p&gt;
There are sites, blogs, tutorials, books... ask your friends that make stuff! If you don't know people that make stuff, there are meetups for people who do; coworking spaces; podcasts...&lt;/p&gt;
&lt;p&gt;
Coworking spaces - &amp;quot;the best way to get involved in a community is to start living in that community&amp;quot;.&lt;/p&gt;
&lt;p&gt;
OK so you've started making things and you broke it: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; You can walk away! Get away from the angry. Walk around the block, google lolcats. Charlie's office has a swing - &amp;quot;it's quite hard to be angry on a swing&amp;quot;&lt;/li&gt;
&lt;li&gt; Google it&lt;/li&gt;
&lt;li&gt; ask a friend, noting they will tell you to Google it&lt;/li&gt;
&lt;li&gt; ask Stack Overflow – but ask a sensible, detailed question&lt;/li&gt;
&lt;li&gt; find a mentor - &amp;quot;I'm yet to find one who couldn't be swayed with cake&amp;quot;&lt;/li&gt;
&lt;li&gt; ask on IRC, but it's terrifying...&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
(Digression into colour theory – every other movie poster is orange and teal. Love how Charlie distracted us with colour theory then showed us how to install stuff on the command line! Bait and switch for designers? ;))&lt;/p&gt;
&lt;p&gt;
Soapbox: we need you, ladies! Don't be put off by crap like Brogramming memes. We need more female coders.&lt;/p&gt;
&lt;p&gt;
Four things to take away:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; Plan ahead – not planning is a recipe for disaster, doesn't have to be big. But write down what you want to do and how it would  work.&lt;/li&gt;
&lt;li&gt; Design to build – learning to build makes you better at designing things that have to be built. It helps when you want to advocate things like A/B testing... &amp;quot;If all we have is data, let's look at data. If all we have are opinions, let's go with mine.&amp;quot; - Jim Barksdale (Former CEO of Netscape)&lt;/li&gt;
&lt;li&gt; Less is more – build mobile first...&lt;/li&gt;
&lt;li&gt; Ask more questions – get onto Stack Overflow, get onto blogs, share what you learn&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;a href="http://wds12.charliegleason.com/"&gt;http://wds12.charliegleason.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/superhighfives"&gt;@superhighfives&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mark-boulton"&gt;
Mark Boulton – Responsive Design&lt;/h2&gt;
&lt;p&gt;
Talking about content and business: the technical side is really the simple bit of the equation – but the business needs to change and it hurts. This talk will be cathartic, it will be about pain and you can all nod knowingly to each other...&lt;/p&gt;
&lt;p&gt;
(film clip – alice down the rabbit hole from The Matrix. You are living in a prison for your mind. Take the red pill and stay in wonderland and see how deep the rabbit hole goes...)&lt;/p&gt;
&lt;p&gt;
John Allsopp's article A Dao Of Web Design showed us, long ago, that the web is not a medium of control. The first page ever made on the web was fluid, it was responsive, it adapted to whatever it was viewed on. Then we broke the web. But now we have finally taken the red pill.&lt;/p&gt;
&lt;p&gt;
Quote from Bobby Solomon (Disney) – that they're bored of talking about responsive design; it's how self-respecting websites should behave in 2012. But that's ok for Disney, who are huge and don't have clients the same way as designers! For the rest of us this has been hard.&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://2.bp.blogspot.com/-NGN_y2e_AYI/UIaFeuSvTvI/AAAAAAAAC2U/-65HGbnU0G8/s1600/500px-Van_de_Graaf_canon_in_book_design.png" imageanchor="1" style=""&gt;&lt;img border="0" height="304" width="400" src="http://2.bp.blogspot.com/-NGN_y2e_AYI/UIaFeuSvTvI/AAAAAAAAC2U/-65HGbnU0G8/s400/500px-Van_de_Graaf_canon_in_book_design.png" alt="Diagram of Van de Graaf canon" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
Designers have been making books for a long, long time. You can make a beautiful, legible, readable thing. Text block based on the object (shows an example of a &lt;a href="http://en.wikipedia.org/wiki/Canons_of_page_construction"&gt;canon&lt;/a&gt;) start with the page and work in to set the grid. Responsive design turns that upside down. We can no longer design from the edge inwards any more, because we no longer know what the edges are!&lt;/p&gt;
&lt;p&gt;
Centuries of knowledge about creating grids... that's a lot of baggage to discard. That's a lot of knowledge to throw away. It's painful. We're already trying to force pages back into responsive design with breakpoints.&lt;/p&gt;
&lt;p&gt;
But what happens in between the breakpoints? That's where it needs to be fluid and we need to be designing in that fluidity. &lt;/p&gt;
&lt;p&gt;
So how does responsive design affect and challenge businesses?&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;It costs more&lt;/strong&gt;. Perhaps 30-50% more time than a traditional fixed website design. Because it's hard and we're still  freaking out about it. We don't have a good body of knowledge about  it yet. This costs money, so how do you convince the client to pay more? Well certainly don't pitch two options where responsive is more expensive... they'll pick the cheaper one or the one they at least understand. Instead sell the usefulness, sell the ways it will win them more customers/business, say you'll build something that adapts to different devices (don't say &amp;quot;responsive&amp;quot;!). Use distraction techniques! Talk about sustainable design... &lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Advertising. &lt;/strong&gt;&amp;quot;Advertising has been ruining the design of content websites for 20 years&amp;quot; -  Roger Black. Elephant in the room! It can make things into a non-starter. When big display ads bring in the cash, the sales teams will say no. Technically speaking serving responsive ads would be fairly straightforward; but the way ads have been made and sold has  been set for a long time. People buy slots and put known ad sizes into them. Including those massive takeovers. How do you make crap like that responsive? You can't really. The cultural shift required  is to stop people buying &amp;quot;a slot&amp;quot; and start buying a set of  slots; the same ad in different contexts/breakpoints/etc. But that's not what really kills it dead is mobile sites (m sites, m.foo.com) with their own teams and revenue streams. So going responsive kills  an entire team and revenue stream. That can kill responsive dead. Dead in the water. It's difficult but not impossible to solve... but it's a big bit of business pain. &lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Process challenges&lt;/strong&gt;.  (&amp;quot;Google 'bob ross squirrel', I'm not going to say why...&amp;quot;). Bob Ross always turned little mistakes into something in his paintings.  &amp;quot;Everyone has a game plan until you punch them in the face.&amp;quot; - Mike Tyson. Responsive design is a right hook to design process. Mark spends much more time sketching now; and more of the time with  clients. Good clients can handle it... you get more honest feedback. Some get a bit freaked out by the design process, they thought they  were buying a pretty picture. But it works to get them involved. The old design processes don't work – wireframes don't work, are you going to multiply your work by the number of breakpoints? Prototypes work, get into the browser sooner. It gets you into the environment  sooner - it gets the client into the Content Problem(tm) sooner (and they all have a content problem they don't want to deal with...). &lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Teams&lt;/strong&gt; – specifically, silos. Break the silos, get people sitting together, you will learn heaps from each other. Work  in product teams (not discipline teams) and iterate quickly. &lt;/p&gt;
&lt;p&gt;
&amp;quot;Does this work in X browser?&amp;quot; isn't really a question you can even answer any more. X browser in X resolution at X size...... &lt;/p&gt;
&lt;p&gt;
&amp;quot;Responsive design forces a focus on content that many organisations don't understand&amp;quot; - @baskwalla ...Mark would say &amp;quot;don't &lt;em&gt;want&lt;/em&gt; to  understand&amp;quot;. &lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Editorial process&lt;/strong&gt;. News, for example. A news story starts as a little seed of content, it could be one single sentence when news breaks. More content comes in from  the wire, from leads and contacts, other news organisations. The story coalesces, snowballs, picks things up on the way. The story, the content, is not a page! It has quotes, blogs, tweets, videos, links... this big snowball of stuff is the story. The content is not the page. The story is the link – the links between all that content. The story is the metadata. &lt;/p&gt;
&lt;p&gt;
We're the only people who resize  their browser. (mimes us waving the browser window back and  forwards) Only we do this! &lt;/p&gt;
&lt;p&gt;
The web is made of HTTP, links, files. But what is our content made of? &lt;/p&gt;
&lt;p&gt;
Talking about CERN – they have the LHC, but they also just invent things to solve their unusual problems. They have brilliantly interesting stories that aren't  being told. They think boring graphs are awesome content. Mark had to develop a guide to &amp;quot;what is the wonder of this content&amp;quot;?  Mapped out the comprehension levels from scientist to general public. Got the great visualisations instead of boring graphs. &lt;/p&gt;
&lt;p&gt;
We need to have good content with good metadata, so we can put it together into great things.&lt;/p&gt;
&lt;p&gt;
We've taken the red pill, it's an incredibly exciting time. We're changing design theory of thousands of years. It's up to us to push this forward, to push the tools forward, to challenge the way things are done.&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/markboulton"&gt;@markboulton&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="cam-adams"&gt;
Cam Adams: Opening Credits - behind the scenes &lt;/h2&gt;
&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/RM0tVvrW3zE" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;
Creative coding – having an idea and the ability to implement it.&lt;/p&gt;
&lt;p&gt;
First off, why have an opening titles roll at a web conference? It sets up the event... inspirations for Cam include Saul Bass title designs; Catch Me If You Can titles; Se7en titles (which sparked a renaissance in title design).&lt;/p&gt;
&lt;p&gt;
Brainstorming – the title designs for WDS are quite visual, there's no speaking. Cam sketches ideas, works out what will work together, get the ideas down and work out how to fit them together.&lt;/p&gt;
&lt;p&gt;
Also for WDS being a web conference... it &amp;quot;behooves you to USE web technology&amp;quot;. Video might be better for Cam's heart rate; but using web tech will push some new ideas onto your process.&lt;/p&gt;
&lt;p&gt;
Live video = the web + the real world. Developed the theme for the credits. &lt;/p&gt;
&lt;p&gt;
Flow – key aspect of the title. How do I get from one idea to another. Can be a technically complex problem – but the answer is &amp;quot;use a lot of duct tape&amp;quot;.&lt;/p&gt;
&lt;p&gt;
Specific inspirations: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mark-boulton"&gt; Chemical Brothers film clip for Star Guitar&lt;/a&gt;.  Everything visually syncs to the music.&lt;/li&gt;
&lt;li&gt; &lt;a href="https://www.google.com.au/search?q=joy+division+unknown"&gt;Waveform from Joy Division &lt;em&gt;Unknown&lt;/em&gt; album cover&lt;/a&gt;&lt;/li&gt;
&lt;li&gt; &amp;quot;really bad 3d glasses&amp;quot; to get the red/blue blur effect&lt;/li&gt;
&lt;li&gt; video called &amp;quot;Replica&amp;quot; art installation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Technical breakdown:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Joy Division opening – the landscape is from the music waveform (frequency and volume) grabbed with the Web Audio API (really good API with a clear metaphor driving it, that of a producer's physical studio – hooking things up). Take colour values from the webcam (with WEBRTC); and apply those colours to the lines. Put that into 3.js (webgl).&lt;/li&gt;
&lt;li&gt; 3D lettering: CSS3. Didn't do text in WEBGL as that's a pain  in the arse. CSS3 is great with text; even if the performance isn't  so great.&lt;/li&gt;
&lt;li&gt; Bridged CSS3 to WEBGL for the 3D shapes.&lt;/li&gt;
&lt;li&gt; MASH IT UP! Moving from CSS to WEBGL is not neat, don't dig into that code too much.&lt;/li&gt;
&lt;li&gt; 3D shapes formed into letters with canvas and random  generation of shapes mapped to on/off pixels mapped from the original text.&lt;/li&gt;
&lt;li&gt; Forest scene – layered PNGs for the screen; CSS3 text and text shadow for blurring.&lt;/li&gt;
&lt;li&gt; Sliced video was a canvas manipulation.
(Note for anyone who skipped the first video, the colours were from Cam waving glow sticks at his laptop!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/themaninblue"&gt;@themaninblue&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="tim-gleeson"&gt;
Tim Gleeson – Music Mash Up&lt;/h2&gt;
&lt;p&gt;
Web Audio API – included in HTML5 media set. Currently in editorial draft with the W3C. Support is not great, but it is emerging technology so let's hold out for it.&lt;/p&gt;
&lt;p&gt;
At the base of the API is the audio context, which is currently webkit prefixed (yey). You can load audio a few ways; it depends what you are loading – long or short soundtracks.&lt;/p&gt;
&lt;p&gt;
(The demo gods strike! No audio coming through!)&lt;/p&gt;
&lt;p&gt;
You can pass your audio signal to things like gain. Create a gain node; then you have access to change the gain value. gain_node.gain.value = 0.5;&lt;/p&gt;
&lt;p&gt;
Compression: compressors can take different sources and normalises the volume.&lt;/p&gt;
&lt;p&gt;
Filters allow you filter out frequencies based on filter type – there are 8 in the API. First in the default is Lowpass, which lets you get a bassier audio track. Highpass brings out treble. Panning controls the direction/position.&lt;/p&gt;
&lt;p&gt;
(DEMO GODS!! Panning not working... friendly sound guy helps out ;))&lt;/p&gt;
&lt;p&gt;
Finally – frequency analysis, which gets data which can be rendered as waveforms and so on. But use this wisely! Do not play audio when your website loads!&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/timjgleeson"&gt;@timjgleeson&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="dmitry-baranovskiy"&gt;
Dmitry - Animation&lt;/h2&gt;
&lt;p&gt;
&lt;em&gt;(&amp;quot;next up is Dmitry, if you don't know his surname you haven't been paying attention&amp;quot;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
What is animation &lt;em&gt;for&lt;/em&gt;? It's for clarity, not to have fun. Make it easier for people to understand what the heck is going on. If you move things around with no animation or transition it's hard to follow what's going on. Sometimes the initial and final states look the same; so you might not even know something changed.&lt;/p&gt;
&lt;p&gt;
So, animation is important.&lt;/p&gt;
&lt;p&gt;
What is animation on the web? Usually we have a value; change it over a duration; and if we're luck we have easing; extra lucky we have iterations; and delay. That's the anatomy of web animation. That sucks! It's very primitive! But nobody complains.&lt;/p&gt;
&lt;p&gt;
Easing – we just have cubic-bezier. This is not enough! Why are you not complaining about this stuff? I'm not happy with this stuff!&lt;/p&gt;
&lt;p&gt;
Discrete animation – common example is a spinner – this is not as easy as it should be.&lt;/p&gt;
&lt;p&gt;
Reusing animation – you can't do it! You have to make multiple animations even if the result is the same. But then you can't apply multiple animations to one element.&lt;/p&gt;
&lt;p&gt;
Getting and setting animation status – you can't do that!&lt;/p&gt;
&lt;p&gt;
Want custom animation! I want to be able to write things that maybe my browser doesn't know about. Would prefer if the browser just did it...&lt;/p&gt;
&lt;p&gt;
There is hope! &lt;a href="https://dvcs.w3.org/hg/FXTF/raw-file/tip/web-anim/index.html"&gt;Web Animations 1.0&lt;/a&gt; is an emerging web standard from the W3C. Only problem is it could be done wrong, of course.&lt;/p&gt;
&lt;p&gt;
Dmitry is one of the editors of the spec so he is trying to put his money where his mouth is.&lt;/p&gt;
&lt;p&gt;
So why is he talking to us? We should be complaining about the state of animation! &lt;/p&gt;
&lt;p&gt;
&amp;quot;&lt;em&gt;Being happy and smiling all the time is not productive! We should be productively unhappy!&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
If we don't complain it means you're happy; if you're happy nothing needs to change; then progress won't happen. Developers are too happy to talk about how good things are – but only seem to complain about javascript for some reasons... (&amp;quot;I think it's perfect.&amp;quot;)&lt;/p&gt;
&lt;p&gt;
Be productively unhappy, change the world.&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/DmitryBaranovsk"&gt;@DmitryBaranovsk&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="john-allsopp"&gt;
John Allsopp: What we talk about when we talk about the web&lt;/h2&gt;
&lt;p&gt;
&amp;quot;Warning: you will get nothing practical and useful out of this! It's a philosophical discussion.&amp;quot;&lt;/p&gt;
&lt;p&gt;
Reference &amp;quot;what we talk about when we talk about love&amp;quot; in which two couples discuss love. You'd think even if we couldn't define it we would know it when we saw it. But in the book people disagree deeply.&lt;/p&gt;
&lt;p&gt;
So how does this apply to WDS? Well, what &lt;em&gt;is&lt;/em&gt; the web?&lt;/p&gt;
&lt;p&gt;
The proverb of the blind men and the elephant teaches us observation is important... but the web is constantly changing whether we observe or not; it does not exist as an object; it is the product of our minds.&lt;/p&gt;
&lt;p&gt;
But as a city is more than its buildings and roads and places, the web is more than specs and implementation.&lt;/p&gt;
&lt;p&gt;
To understand we need to look back and understand where we came from.&lt;/p&gt;
&lt;h3&gt;
Precambrian web &lt;/H3&gt;&lt;p&gt;
TimBL built the web – the protocols and the tools. But they were very simple, links for example were one-directional, non-annotatable hyperlinks. It was very simple and not extensible.&lt;/p&gt;
&lt;p&gt;
Sometimes it's the things which don't change that are interesting. The principles of the web haven't changed. TimBL later wrote 'the web and the web of life' which clearly links real world philosophical principles to the principles driving the web. Decentralisation, invention expecting the results to be good but unpredictable. Tolerance – a tolerant protocol is robust. Interoperability.&lt;/p&gt;
&lt;p&gt;
&amp;quot;try to find screenshots of websites from the early nineties...&amp;quot;&lt;/p&gt;
&lt;p&gt;
In the early days even the conversations were difficult – Microsoft had a conflicting definition of what a &amp;quot;link&amp;quot; was (&amp;quot;embed here&amp;quot; not &amp;quot;go there&amp;quot;). There was no W3C, just a rough working consensus of code – and the consensus was often &lt;em&gt;very rough&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;
Cambrian explosion&lt;/H3&gt;&lt;p&gt;
There was a great deal of innovation going on – IMG, FONT even the allegedly-meant-as-a-joke BLINK. Speaking about things like accessibility and cross-browser support was often referred to as holding things back.&lt;/p&gt;
&lt;p&gt;
Creating Killer Websites was a massive book; and the website was...well...we'd consider it terrible but people were so excited about it!&lt;/p&gt;
&lt;p&gt;
From this era things like the Web Standards Project were born, where people were trying to sell the standards-based approach. They'd been talking about a better way to build things.&lt;/p&gt;
&lt;h3&gt;
Triassic&lt;/H3&gt;&lt;p&gt;
Then IE5 for mac and IE6 for windows happened... and they introduced doctype switching so you could move forward without breaking the old; and they supported CSS quite well.&lt;/p&gt;
&lt;p&gt;
The 2002 Wired redesign was news; and the CSS Zen Garden showed what was possible. &lt;/p&gt;
&lt;p&gt;
The conversations about the web change the web. We do need to take time to think about what we do, not just spend all our time on implementation.&lt;/p&gt;
&lt;p&gt;
But a lot of talking was referring to the past; and redoing things better.&lt;/p&gt;
&lt;p&gt;
Around this point the name AJAX appeared; which encouraged people to talk about an idea that had been around for a while. Giving things a name changes things because it enables people to talk about it.&lt;/p&gt;
&lt;p&gt;
Generally people talked about Web 2.0. (a term used in Darcy DiNucci's &amp;quot;Fragmented Future&amp;quot; article)&lt;/p&gt;
&lt;h3&gt;
Now&lt;/h3&gt;
&lt;p&gt;
The current discussions around HTML5 &amp;quot;readiness&amp;quot; remind John of the Making Killer Websites conversations. We focus on what's bad (eg. peformance) and not enough about the great things we can do with it.&lt;/p&gt;
&lt;p&gt;
Scott Jensen describes native apps as a remnant of the Jurassic period of the web.&lt;/p&gt;
&lt;p&gt;
Many discussions now are focussing on minutiae and not so much about where we are going. Talking about how things look; how we can make them... important discussions but &lt;em&gt;not the only ones to have&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;
Walter Benjamin – Theses on the Philosophy of History; pictures the angel of history having his face turned to the past.&lt;/p&gt;
&lt;p&gt;
We should think of ourselves standing on the beach of a vast ocean with continents beyond the horizon; talking about how best to ride waves back to shore. We should think about going forwards too.&lt;/p&gt;
&lt;p&gt;
&amp;quot;I want to walk about a web that isn't just a two point oh.&amp;quot; How can it augment us, how can it help us know ourselves better, know our society better, know our world better. How can it help stop us killing ourselves and our planet – to understand the true cost and result of our actions.&lt;/p&gt;
&lt;p&gt;
What will this web look like? That's what John wants to talk about when we talk about the web.&lt;/p&gt;
&lt;p&gt;
Of course we will still design interactions and they will still be interesting interactions. We will still be using all the techincal pieces and talk about those things; but we need to rediscover the unpredictability that made the web grow. We need to look into the future and not focus on history, look ahead not behind.&lt;/p&gt;
&lt;p&gt;
&amp;quot;So that's what we should talk about when we talk about the web: we should talk about the future.&amp;quot;&lt;/p&gt;
&lt;h3&gt;
Questions...&lt;/h3&gt;
&lt;p&gt;
Miles E: is Win8 the dream, of the web &lt;strong&gt;being&lt;/strong&gt; &amp;quot;native&amp;quot;?&lt;/p&gt;
&lt;p&gt;
John: it's not the first time we've seen this, there have been other implementations using web technology as their native technology. Win8 is probably the most ambitious attempt to date. It's a lot of the way there. At the moment though it's not 100%, the capabilities exposed to a Win8 app still aren't all made available to the browser. But we're still thinking about apps, discrete packages of code – silos of functionlity. But what about decoupled things, small pieces loosely coupled.&lt;/p&gt;
&lt;p&gt;
This is not all to say we're talking about the wrong things – just that we should ask &amp;quot;what else should we be talking about&amp;quot;.&lt;/p&gt;
&lt;p&gt;
Chaals: one of the reasons why we build apps is because we can sell them. In the future where does the money go?&lt;/p&gt;
&lt;p&gt;
John: it's kind of a miracle that the money's in apps. If you are not in the top 250 apps in the iOS store you will not make enough money to support two developers... &lt;/p&gt;
&lt;p&gt;
Really we are building services, not apps. Users engage with that service (netflix, amazon) not the specific apps. Business is in service. Some people make a lot of money making apps; but so too some people make a lot of money gambling. We're success-biased.&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/johnallsopp"&gt;@johnallsopp&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="ben-hammersley"&gt;
Ben Hammersley: The flower, the field and the stack&lt;/h2&gt;
&lt;p&gt;
&lt;em&gt;No slides – possibly a Web Directions first!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
&amp;quot;You may not know this, but the Normals are freaking out.&amp;quot; &lt;/p&gt;
&lt;p&gt;
They are losing their minds about the things we do – the web, technology, digital design... they are completely losing it.&lt;/p&gt;
&lt;p&gt;
Pretty much every country in the world has a law or push to attempt to &amp;quot;record everything on the web and monitor and censor it&amp;quot;... he worries politicians have shares in hard drive companies.&lt;/p&gt;
&lt;p&gt;
Recently Britain had some &amp;quot;rather rubbish&amp;quot; riots; and in response the PM wanted to be able to turn off social media during times of crisis. &amp;quot;this is the level of discussion we have...&amp;quot;&lt;/p&gt;
&lt;p&gt;
We can be outraged or simply confused why anyone would think this was a good idea... but before we can have any real debates with politicians we need to understand why people outside this room (WDS12) is confused and worried and scared.&lt;/p&gt;
&lt;p&gt;
Without understanding the social context of the work we do, we can't do the really good stuff or answer criticism from people who don't like what we're doing.&lt;/p&gt;
&lt;p&gt;
Moore's Law – every year or so computing power doubles for the same price. We already know this, it's why our devices are rubbish as soon as we've bought them. What you might not be aware of is this is the first time in the history of humanity to have this phenomenon. Swords did not get twice as sharp, horses did not get twice as fast. We live under Moore's Law and this breaks many things; modifies politics and so on.&lt;/p&gt;
&lt;p&gt;
We also never used the same tools to make the next tool – swords did not make swords.&lt;/p&gt;
&lt;p&gt;
While we, developers, are used to a fast cadence, other people are not. Politicians are used to making laws to last 10, 20 years.&lt;/p&gt;
&lt;p&gt;
In ten years our phones will be radically more powerful; or the equivalent device will be 1/64th the cost. How do you come up with a policy that still makes sense in ten years time, even though you don't understand the iphone in your pocket now?&lt;/p&gt;
&lt;p&gt;
We don't know what technology will even look like in 2040, but people try to predict what will be happening; and it's incredibly hard to predict.&lt;/p&gt;
&lt;p&gt;
We have careers other people don't understand. But every generation before had a simple career path with careers that lasted their whole lives and didn't change much. &lt;/p&gt;
&lt;p&gt;
This all adds up to the social undercurrent of what's going on right now.&lt;/p&gt;
&lt;p&gt;
&amp;quot;You may not have realised this, but you are all slightly rubbish cyborg.&amp;quot; Our phones are our robot brain. We all have one, it's rarely more than three feet away and we love them. If you lost your laptop you'd be upset and looking forward to buying a new one; but if you lost your phone you would freak out. We don't remember stuff, we use our phone to remember things. Scientific studies show we are using part of our brain to monitor our phone – even if it's turned off.&lt;/p&gt;
&lt;p&gt;
Everyone feels phantom vibration, heavy social media users have been known to feel phantom vibration &lt;em&gt;even while holding the phone in their hand.&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;
It's become part of our emotional mind. If you have been on social networks long enough you have learned to monitor the general state of mind of people you connect with. If their pattern or style changes or stops, you will start to notice their absence and you will reach out.&lt;/p&gt;
&lt;p&gt;
This is all freaking out the Normals.&lt;/p&gt;
&lt;p&gt;
The internet also came into business like Godzilla into Tokyo. It destroyed things – the media industry, education... - and rebuilt them in its own image. &lt;/p&gt;
&lt;p&gt;
Some people may be thinking &amp;quot;fuck em, we won&amp;quot;. We spent years being teased by the jocks and we have finally finally won after centuries of being beaten down. We just have to wait for the old guys to die out. &lt;/p&gt;
&lt;p&gt;
&amp;quot;Well yeah, but the thing is they're not dying out fast enough. Moore's Law also applies to medical technology...&amp;quot;&lt;/p&gt;
&lt;p&gt;
This is also a repeat of the renaissance, where a few thousand people in specific cities around the world – in many respects – control the culture. &amp;quot;You lot. You guys. And your friends and peers and heroes.&amp;quot; This tiny group controls the culture of millions.&lt;/p&gt;
&lt;p&gt;
We've tried to do this. All the big buzzwordy technologies have been about getting into the psyches of people around the world. The nerds controlling the minds of millions. Making sites more sticky, campaigns and apps more viral... it's all about controlling how people deal with technology.&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;There comes a time in every expressive technology where people stop wondering &lt;em&gt;how &lt;/em&gt;they were going to do things, and starting wondering &lt;em&gt;what they should be doing and why&lt;/em&gt;. Because if they build the wrong thing, they can really hurt the people who are affected.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&amp;quot;Smart cities... put this in your CV now!&amp;quot; &lt;/p&gt;
&lt;p&gt;
It turns out sensors are cheap and so is the technology to connect them to the internet. So now cities can be measured. People can use the data to optimise their lives. In many cities public transport has GPS giving people real time access to information about when the bus really will arrive. You can decide if you have time at the pub for another beer.&lt;/p&gt;
&lt;p&gt;
But this movement is being driven by technology companies who will be selling things. They optimise for things like an efficient commute. But the university city of Orhuse(sp?), &amp;quot;one fifth hipster&amp;quot;, decided that was a problem. It's optimising for what IBM wants to sell. They wanted to optimise not for an efficient commute, but for the beauty and serendipity of the commute.&lt;/p&gt;
&lt;p&gt;
Every city in the world is now being pushed up against technology made somewhere else – somewhere entirely outside the social context of its use. The people who create hardware and software need to be mindful of what it's doing.&lt;/p&gt;
&lt;p&gt;
Software is political. Facebook is the Zuckerbergian vision of the world made real. It is designed to make everyone into Zuckerbergian thought monsters. It pushes the political ideal that there should not be any privacy, everything should be open. Every decision that is made at Facebook is influenced to strengthen Zuckererg's vision. The same goes for Twitter, Microsoft, everything. &lt;/p&gt;
&lt;p&gt;
If we agree that we have become good at this stuff and the technology has become very intimate – it's in our daily lives – and we want people to use it all the time... then we have to admit to ourselves that our culture will be imposed on our users. The time is now to be mindful of this.&lt;/p&gt;
&lt;p&gt;
The world is still run by grey haired baby boomers who really don't understand what's going on. We have unfortunately elected people to drive our future who are very confused by our present.&lt;/p&gt;
&lt;p&gt;
If you can remember &lt;em&gt;not having a phone&lt;/em&gt;, your social duty now is to translate. We need translators. We need people to guide the CEOS, the ministers, the senior professionals into the modern day. If we don't, they will continue to legislate against modernity. They will continue to enact legislation that is pointless or harmful and we will continue to have the same tired debates.&lt;/p&gt;
&lt;p&gt;
There are changes we've not remarked upon. &lt;/p&gt;
&lt;p&gt;
Ubiquity of reviewing is a huge change – we can now review anything we do. You no longer have to spend years become a restaurant critic, you just need to go to a review website and write something. There are sites to review everything. We have become used to the idea that we should be able to slag them off online &lt;em&gt;and expect a quick response&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;
(reference to J Curve theory of revolution) the speed of change isn't as fast as people expect it to be.&lt;/p&gt;
&lt;p&gt;
We've also changed the speed of group forming – no matter what you're into you can find other people online who are into it to. It's become impossible to be alone if you don't want to be.&lt;/p&gt;
&lt;p&gt;
These are huge social drivers. We are coming to a point where we could bring about massive change for the better. But if we continue to make things blindly, maximising simply for income or hype; or continue to blindly consume things; then we'll never be able to use the revolutionary properties of the web to change the world for the good. But if you do, you are living in a great time to change the world.&lt;/p&gt;
&lt;p&gt;
It is an awesome responsibility and an awesome power.&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/benhammersley"&gt;@benhammersley&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="tom-coates"&gt;
Tom Coates: An animating spark&lt;/h2&gt;
&lt;p&gt;
&amp;quot;&lt;em&gt;I've decided to come up with a hash tag for this talk, here it is! #besttalkever&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.flickr.com/photos/joshclark/8101122081/" title="Aw, I love @tomcoates, too. #wds12 by Josh Clark, on Flickr"&gt;&lt;img src="http://farm9.staticflickr.com/8056/8101122081_f233344346.jpg" width="500" height="500" alt="Aw, I love @tomcoates, too. #wds12"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
Interested in how connecting things makes new possibilities, how a network of data and services can transform what we produce.&lt;/p&gt;
&lt;p&gt;
The possibility space for new products is defined by how many data sets are connected, mashed together... take multiple data sources and elements and you multiply the product possibility space.&lt;/p&gt;
&lt;p&gt;
New product possibility space: (all technologies + all data data sources)n&lt;/p&gt;
&lt;p&gt;
(n being the number of ways you can put them together)&lt;/p&gt;
&lt;p&gt;
Talking about mundane things receiving the spark of creativity, the spark of animation, similar to the spark of electricity bringing Frankenstein's monster to life. Of day to day objects receiving a small amount of intelligence and agency... and how you will feel about it? This is not a vision of the future – this is a vision of now.&lt;/p&gt;
&lt;p&gt;
How do we get things out of the labs and into the shops?&lt;/p&gt;
&lt;p&gt;
Tom has a theory that when people explore new technologies have one main goal... it's to articulate why the technology is interesting. We're trying to sell it and impress... which gets people excited but over-sells and sets up big expectation. Also while selling things the examples are exaggerated and crazy to get attention and prove the project should be funded. Especially as early technology can be relatively expensive – during development, Kinect-equivalent tech cost closer to $10,000 than something priced to attach to your television.&lt;/p&gt;
&lt;p&gt;
An uncharitable theory: the way we think about the future is betraying our present.&lt;/p&gt;
&lt;p&gt;
Tom wants us to think about tangible and real application of ubiquitous computing, what the &amp;quot;internet of things&amp;quot; – being the same internet after all – can really do. We can look at everyday devices in our homes and see what extra value we could add to them, considering how cheap it is to add network functionality to them.&lt;/p&gt;
&lt;p&gt;
LCD clocks were initially expensive but demand for them increased to such an extent they became cheap. Then LCD clocks were stuck all over the place, even in places they didn't really add value.&lt;/p&gt;
&lt;p&gt;
&amp;quot;What was once expensive is now trivial. This opens up opportunities.&amp;quot;&lt;/p&gt;
&lt;p&gt;
Raspberry Pi is a fully functional computer that's as powerful as the computer Tom used through university... and you can buy it for about $25. &lt;/p&gt;
&lt;p&gt;
Kindle with permanently-on free worldwide 3G – a few years ago would have seemed impossible and yet there it is. &lt;/p&gt;
&lt;p&gt;
&amp;quot;Hundred dollar devices&amp;quot; with the ability to connect to the internet – what doors does that open?&lt;/p&gt;
&lt;p&gt;
Mundane Computing – a term by Chris Heathcote – most of the time life is routine; and Chris was interested in how technology can make some of those daily moments better. It's not bad, just think of it as not chasing a unicorn but instead doing something useful.&lt;/p&gt;
&lt;p&gt;
Example of the problem: washing machines that beep. Tom is &amp;quot;obsessed with machines that beep&amp;quot;. When the machine is done it beeps at you. It doesn't respect the fact you're doing something else, it just keeps on beeping. And that's infuriating! It's like GPS devices that are disappointed in you when you take a wrong turn.&lt;/p&gt;
&lt;p&gt;
These devices should chill out! The problem could be fixed with a network connection and an app – devices could talk to an app that you could tie in to your more-polite-than-beeping notification systems.&lt;/p&gt;
&lt;p&gt;
Muji – sells lovely minimal, elegant things. Why aren't ubiquitous computing devices packaged so nicely? &amp;quot;Able to be invited into the home&amp;quot;... something which makes you want it in your life.&lt;/p&gt;
&lt;p&gt;
Mujicomp online taps into this idea.&lt;/p&gt;
&lt;p&gt;
Although &amp;quot;mundane computing&amp;quot; doesn't make a sexy buzzword it allows us to think about daily things. How can you take a &amp;quot;boring problem&amp;quot; and push it to the limit. The &amp;quot;Nest&amp;quot; thermostat is one example; Twitter could be thought of as SMS pushed to its limits.&lt;/p&gt;
&lt;p&gt;
Fighting the futurists... fuckyeahinternetfridge.tumblr.com (want to &lt;a href="http://fuckyeahinternetfridge.tumblr.com/post/32464037078/who-buys-an-internet-fridge-and-doesnt-already"&gt;get really meta&lt;/a&gt;?)... you'd be surprised how many network-enabled fridges are being pitched and made right now. It doesn't make sense to have Twitter on your fridge – who has an expensive fridge and DOESN'T have an iPad or some other more suitable device for reading twitter and playing music?&lt;/p&gt;
&lt;p&gt;
It's a misunderstanding of what &amp;quot;connected to the internet&amp;quot; means – it doesn't mean it has to have a browser. Don't add cost by adding a screen, for $5 you can network it without a screen. Increasing the cost is not helping things become useful.&lt;/p&gt;
&lt;p&gt;
The average life cycle of a fridge is over fifteen years. Imagine if you'd got an internet enabled fridge fifteen years ago... it'd have windows 95 on it! So actually you really want as little as possible on the device. Otherwise your appliances become hopelessly out of date much faster than before.&lt;/p&gt;
&lt;p&gt;
(referring to the Corningware vision) Do we really want every surface around us to be a screen? How often do you refit your kitchen? Do you really want to be using your bathroom mirror to bash out email? Do you keep every surface &lt;strong&gt;that&lt;/strong&gt; pristine clean? Actually it's a bit gross!&lt;/p&gt;
&lt;p&gt;
Stewart Brand's home shearing layers (from &amp;quot;How Buildings Learn&amp;quot;) shows us that the structure changes far too slowly to put technology directly into them.&lt;/p&gt;
&lt;p&gt;
Matt Rolandson, Ammunition Group, made the point – &lt;strong&gt;use the network to &lt;/strong&gt;&lt;em&gt;&lt;strong&gt;amplify the tool's core purpose&lt;/strong&gt;&lt;/em&gt;&lt;strong&gt;, not to be another web browser or Twitter client. The internet != web browser.&lt;/strong&gt; A network enabled coffee machine should be better at being a coffee machine.&lt;/p&gt;
&lt;p&gt;
Ideas to make things more useful....&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; Make it easy  to set up&lt;/li&gt;
&lt;li&gt; Make  sure it works when it's offline (it just works &lt;em&gt;better&lt;/em&gt; when it's online)&lt;/li&gt;
&lt;li&gt; Put the bulk  of the intelligence online, not in the device (helps the upgrade cycle)&lt;/li&gt;
&lt;li&gt; The interface for the device isn't embedded in the device, it's wherever you need  it.&lt;/li&gt;
&lt;li&gt; The best way  to enhance an object is to make it easer to control or understand.&lt;/li&gt;
&lt;li&gt; Devices should be polite &lt;em&gt;(? not sure I got this point right)&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Mundane computing: what if all devices over $100 had an API that said...&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; where are you&lt;/li&gt;
&lt;li&gt; who do you belong to&lt;/li&gt;
&lt;li&gt; what are you  doing right now&lt;/li&gt;
&lt;li&gt; how have you  been used/usage and error log&lt;/li&gt;
&lt;li&gt; how much  power have you used/are you using&lt;/li&gt;
&lt;li&gt; how well are  you functioning&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
You should be able to...&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; control (safe) basic functions&lt;/li&gt;
&lt;li&gt; receive alerts when there's a problem&lt;/li&gt;
&lt;li&gt; receive alerts when a job is  completed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
@houseofcoates is a feed of everything in Tom's house.&lt;/p&gt;
&lt;p&gt;
Anthropomorphising things can make them fun. Race your Scooba against other peoples Scooba. When we engage with things this way we intuit motives – your device doesn't need charging any more, it's &lt;em&gt;feeling tired&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;
&amp;quot;We always overestimate the change that will occur in the next two years, and underestimate the change that will occur in the next ten years.&amp;quot; - Bill Gates&lt;/p&gt;
&lt;p&gt;
Having a history of a device changes purchasing, maintenance, even the way we buy or rent them in the first place. Being able to track ownership and location – what does that mean for ownership and theft?&lt;/p&gt;
&lt;p&gt;
The infrastructure is there, if devices are tapping into it, we're already bootstrapped and the spark required is &lt;em&gt;creativity&lt;/em&gt;. Ideas for things that can happen when &lt;em&gt;things&lt;/em&gt; are brought into the domain of &lt;em&gt;the internet&lt;/em&gt;. People who manufacture things often have no idea about the internet – this is where our responsibility comes in as designers and developers.&lt;/p&gt;
&lt;p&gt;
Raymond Loewy thought the goal of industrial design was MAYA: Most Advanced Yet Acceptable. This is a good way to think of mundane computing.&lt;/p&gt;
&lt;p&gt;
We also have a responsibility to bring the general public &lt;em&gt;with us into the future&lt;/em&gt;. Make it friendly to everyone.&lt;/p&gt;
&lt;p&gt;
(books at the end: Bruce Sterling's &amp;quot;Shaping Things&amp;quot;, Adam Greenfield &amp;quot;Everyware&amp;quot;, Mike Kuniavsky &amp;quot;Smart Things&amp;quot;. John also calls out Aussie startup, Ninja Blocks.)&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/tomcoates"&gt;@tomcoates&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="lea-verou"&gt;
Lea Verou – more css tips&lt;/h2&gt;
&lt;p&gt;
&lt;a href="http://1.bp.blogspot.com/-AB6W7cG0TCg/UIaEtN3Qf4I/AAAAAAAAC2I/eqcweYyr9Q0/s1600/background-attachment-local.png" imageanchor="1" style=""&gt;&lt;img border="0" height="232" width="400" src="http://1.bp.blogspot.com/-AB6W7cG0TCg/UIaEtN3Qf4I/AAAAAAAAC2I/eqcweYyr9Q0/s400/background-attachment-local.png" alt="Screenshot from slides showing background-attachment local" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
Following the 2011 &amp;quot;10 secrets talk&amp;quot; (worth reviewing) this is another ten secrets.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; shadow that gradually appears – used in Google Reader via JS but can be done with pure CSS. Background-attachment: local; … combined with multiple gradients you can make a shadow that only appears when you scroll down.&lt;/li&gt;
&lt;li&gt; fixed width, fluid background – using calc on a parent can remove the need to add wrapper divs for fixed width designs&lt;/li&gt;
&lt;li&gt; using transitions to avoid js for things like lightbox effects (also showed using a big box shadow instead of a blanket div)&lt;/li&gt;
&lt;li&gt; lined background that snaps to text using a linear gradient and background size. Uses background-origin:content-box so the background doesn't move away when the padding changes. You can also  use the technique to create zebra striping.&lt;/li&gt;
&lt;li&gt; Opposite transitions to keep a child element positioned normally while the parent is rotated or skewed etc. you can create an image slider/comparison with CSS transforms.&lt;/li&gt;
&lt;li&gt; Clockwise animation of an element, using keyframes and a  cancelling animation to keep the element horizontal (smiley face kept upright but moving in a circle)... however it does require an extra element. Better way from Aryeh gregor uses the frame-by-frame  nature of transforms to get the same effect as attaching two origins to a single element.&lt;/li&gt;
&lt;li&gt; Alternative to box-shadow proposed by Adobe, &amp;quot;filter&amp;quot; to  use SVG filters on all elements. Gives box shadow effect on speech bubbles created with pseudo elements. Currently only in Chrome; and  obviously the name &amp;quot;filter&amp;quot; is a problem for IE.&lt;/li&gt;
&lt;li&gt; Pseudo element set to absolute position zero all 'round and copy of background image... you can hack together a background blur  effect. It's hacky and messy and it works.&lt;/li&gt;
&lt;li&gt; Hyphens:auto – good but still patchy support&lt;/li&gt;
&lt;li&gt; frame-by-frame animation using a sprite and keyframes and steps(n) to prevent smooth transitions which aren't giving us animation. This gives us access to alpha transparency, which animated gifs don't do. Credit: simurai.com. IE9+&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
(Plug for &lt;a href="http://www.webplatform.org/"&gt;webplatform.org&lt;/a&gt; – vendor neutral documentation platform, to bring together the currently-separate efforts being made by all the browser companies.)&lt;/p&gt;
&lt;p&gt;
&lt;a HREF="http://lea.verou.me/more-css-secrets"&gt;http://lea.verou.me/more-css-secrets&lt;/A&gt;&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/leaverou"&gt;@leaverou&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="douglas-crockford"&gt;
Douglas Crockford – Programming Style &amp;amp; Your Brain&lt;/h2&gt;
&lt;p&gt;
The two topics: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; programming style, the stuff which is ignored by the compiler/parser and why it's still important &lt;/li&gt;
&lt;li&gt; your brain, the big squishy thing you carry around and how it is linked to your code&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
There is an idea in economics that people work towards their own interests... but it is in fact not true. Humans do not always work in their own interests.&lt;/p&gt;
&lt;p&gt;
We have two systems: head and gut. Your gut is fast and you can't turn it off. Your brain can lie to you! Look at a &lt;a href="https://www.google.com.au/search?hl=en&amp;q=Edward+H+Adelson's+checkerboard+illusion"&gt;Edward H Adelson's checkerboard illusion&lt;/a&gt; – your brain can be tricked.&lt;/p&gt;
&lt;p&gt;
Advertising knows this! They have been crafting messages that work on the gut for years. The head knows $199 is not a lot less than $200 but our gut says differently. &lt;/p&gt;
&lt;p&gt;
This is all important because our head and gut are in play when we make code. Code, programming, is some of the most complex stuff humans make... and we are still doing it entirely by hand, because AI isn't advanced enough to do it for us. We can't express what we want in small enough pieces for a computer to calculate it all for us.&lt;/p&gt;
&lt;p&gt;
Our primary tool is the programming language. We write the language, the computer can transform it into something that can be executed by the machine.&lt;/p&gt;
&lt;p&gt;
The thing that makes programming so hard is that is requires perfection, because if it's not perfect, the machine has license to do the worst thing possible – not work correctly. But we can't actually achieve perfection; and even if we did achieve it we have no way to recognise it. We can't hold software back to be perfect, we'd never release it. That's why we release things early so we can find problems quickly.&lt;/p&gt;
&lt;p&gt;
We have the brains of hunters and gatherers. Nothing in our evolution has prepared us for writing programs.&lt;/p&gt;
&lt;p&gt;
Programming makes use of head and gut. There are tradeoffs. Doug &amp;quot;I have no evidence at all that gut is involved... but my gut says it's true!&amp;quot;... but the gut doesn't really have the data it needs to make rational decisions, that's the head.&lt;/p&gt;
&lt;p&gt;
…&lt;/p&gt;
&lt;p&gt;
Good and bad code... naturally the examples are in JS.&lt;/p&gt;
&lt;p&gt;
JS has good and bad parts; which is why Doug wrote JSLint, to tell him when the code is using a bad part. &lt;/p&gt;
&lt;p&gt;
WARNING: JSLINT WILL HURT YOUR FEELINGS! Doug &amp;quot;It really does, it hurts me too!&amp;quot;&lt;/p&gt;
&lt;p&gt;
People have an emotional reaction to the results of JSLint. Rationally they went to a code quality tool and asked for advice; but they don't like the advice.&lt;/p&gt;
&lt;p&gt;
Braces on the same line ("on the right") or on a new line (&amp;quot;on the left&amp;quot;):&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;foo {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
foo&lt;br /&gt;
{&lt;br /&gt;
}
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
If someone is told to go between the systems, they get upset. The gut dislikes it so the head tries to rationalise it.&lt;/p&gt;
&lt;p&gt;
In JS though, you can actually break stuff due to automatic semicolon insertion:&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;return&lt;br /&gt;
{&lt;br /&gt;
ok: false;&lt;br /&gt;
}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
SILENT ERROR! Because ASI has put a semicolon after &amp;quot;return&amp;quot;. So in JS there is a very good reason to say put the brace on the right. So you should &lt;strong&gt;prefer forms that are error resistant. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
Switch statement fallthrough hazard. It kind of persists the problems of goto. While there is a problem, DC initially decided not to create a warning as it would lose some elegance to avoid an error that hardly ever happens. But then the next day it was proved he had that error in JSLint! &lt;/p&gt;
&lt;p&gt;
&amp;quot;I had a moment of enlightenment.&amp;quot; Elegance for its own sake is worthless. &lt;/p&gt;
&lt;p&gt;
Also &lt;strong&gt;saying &amp;quot;that hardly ever happens&amp;quot; is the same as saying &amp;quot;it happens&amp;quot;&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;
Code style should not be about personal preference, it should be about making more robust code, something closer to perfection than we could do otherwise.&lt;/p&gt;
&lt;p&gt;
While the Romans WROTEINUPPERCASEWITHNOPUNCTUATIONORSPACES people who had to copy it later introduced lowercase, word breaks and punctuation because it reduced the error rate, it removed ambiguity.&lt;/p&gt;
&lt;p&gt;
Programs must communicate clearly to people, not just to the compiler. People are important. Use elements of good composition where applicable. For example, use a space after a comma, not before.&lt;/p&gt;
&lt;p&gt;
We want people to focus on the substance and not the formatting.&lt;/p&gt;
&lt;p&gt;
Good rule: no space between a function name and the first bracket; one space everywhere else. But then you get to Immediately Invocable Function Expressions...&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;(function () {&lt;br /&gt;
...&lt;br /&gt;
})();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
...but then you have the extra brackets floating around in the middle of nowhere. DC feels this is more readable:&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;(function () {&lt;br /&gt;
...&lt;br /&gt;
}());&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
Never rely on ASI! This breaks:&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;x = y&lt;br /&gt;
(function () {&lt;br /&gt;
...&lt;br /&gt;
}());&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
So put the semicolon in!&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;x = y;&lt;br /&gt;
(function () {&lt;br /&gt;
...&lt;br /&gt;
}());&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
Don't use the &lt;code&gt;with&lt;/code&gt; statement. It's useful but never not confusing. Confusion must be avoided, it creates bugs!&lt;/p&gt;
&lt;p&gt;
Always use &lt;code&gt;===&lt;/code&gt; as the result of &lt;code&gt;==&lt;/code&gt; is hard to anticipate. &amp;quot;It turns out you don't need double equal...&amp;quot;. If there is a feature of a language that is sometimes problematic and another feature that's reliable, use the reliable form.&lt;/p&gt;
&lt;p&gt;
Multiline string literal example – breaks when there's a space after the \ ...you can't see the problem, but it's there.&lt;/p&gt;
&lt;p&gt;
Make your programs look like what they do!&lt;/p&gt;
&lt;p&gt;
Declare all your vars at the top; declare all functions before you call them. Because of hoisting.&lt;/p&gt;
&lt;pre&gt;for (var i) {}&lt;/pre&gt;
&lt;p&gt;
...i is not scoped to the loop, it gets hoisted too!&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;let&lt;/code&gt; is coming and that will have block scope. When that's available DC's advice will change. Unless of course you need to support IE in which case stick to &lt;code&gt;var&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;
Global vars are evil but sometime necessary; they should be rare and stick out like a sore thumb so DC's advice is to write them in UPPERCASE.&lt;/p&gt;
&lt;p&gt;
New prefix – forgetting new can clobber globals. To help avoid problems, name constructor functions with TitleCase (?)&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Write in a way that clearly communicates your intent.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
++ … &amp;quot;this will be controversial. Controversial does not equal wrong.&amp;quot;&lt;/p&gt;
&lt;p&gt;
The value of ++ is to reduce large amounts of code to one line; but that's a bad trade as it becomes incomprehensible. DC eventually just stopped using it. When he has to add one to something he adds one.&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;++&lt;/code&gt; vs. &lt;code&gt;x += 1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
You can get subtle off by one errors if you use &lt;code&gt;++&lt;/code&gt; and DC has even seen two instances of &lt;code&gt;++x&lt;/code&gt; when &lt;code&gt;x += 2&lt;/code&gt; would have worked.&lt;/p&gt;
&lt;p&gt;
Who are the bad stylists? DC identifies four groups:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Under educated – just picked up bad habits &lt;/li&gt;
&lt;li&gt; Old school – came to JS from other languages, would rather be writing A Man's Language and there's no way I'm going to learn JS properly! &lt;/li&gt;
&lt;li&gt; Thrill seeker – the ones who are just willing to take chances. &lt;/li&gt;
&lt;li&gt; Exhibitionist – they have read the spec and found all the weirdest ways to write the code and show  how smart they are&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Designing a programming style is not about selecting features because they are liked, disliked or pretty. It's about avoiding &lt;strong&gt;the abyss.&lt;/strong&gt; It's about avoiding broken code, avoiding debugging.&lt;/p&gt;
&lt;p&gt;
Devs can do this because we are optimists – we know we can go down into the abyss and come out with a fix. It's why we can't schedule (estimate) for CRAP. &lt;/p&gt;
&lt;p&gt;
If we want to be more efficient, it's not about saving keystrokes it's about avoiding time spent in the abyss of debugging.&lt;/p&gt;
&lt;p&gt;
Forms that can hide defects are considered defective.&lt;/p&gt;
&lt;p&gt;
Language subsetting - &amp;quot;only a madman would use all of C++&amp;quot; - liberate yourself from the parts that don't work, that will trip you up and cause you pain.&lt;/p&gt;
&lt;p&gt;
&amp;quot;There will be bugs. Do what you can to move the odds to your favor.&amp;quot;&lt;/p&gt;
&lt;p&gt;
Good style is good for your gut.&lt;/p&gt;
&lt;h3&gt;
Q&amp;amp;A&lt;/H3&gt;&lt;p&gt;
Coffeescript – good to learn from, exposes good parts and not too many bad parts; but has bad parts of its own and not great tooling yet... not recommended for production.&lt;/p&gt;
&lt;p&gt;
What does DC think about the comma first style? &amp;quot;I think it's stupid.&amp;quot; Main benefit appears to be saving a few keystrokes, are people truly that feeble?&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.jslint.com/"&gt;jslint.com&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="chaals"&gt;
Chaals – Beyond HTML5&lt;/h2&gt;
&lt;p&gt;
Where are we?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; HTML5 &amp;quot;plan 2014&amp;quot; - it's gunna be ready soon(er than 2022)!
&lt;ul&gt;
&lt;li&gt; ...and they did that by saying  anything that wasn't ready didn't go into 5.0, it went to 5.1 &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt; W3C is working on HTML 5.1 &lt;/li&gt;
&lt;li&gt; WHAT-WG keeps going on their living standard &lt;/li&gt;
&lt;li&gt; The web is more than HTML &lt;/li&gt;
&lt;/ul&gt;
W3C HTML
&lt;p&gt;
In feature freeze and wanting to patch WHATWG bugs; they're making extension specs for 5.0.5.1/... controversial things are being postponed. That's problematic because accessibility features are being deemed controversial if they don't work 100% of the time – problem is most accessibility stuff doesn't work 100% of the time. HTML5 has to go through a Last Call 2, for patent issues.&lt;/p&gt;
&lt;p&gt;
WHAT-WG &lt;/p&gt;
&lt;p&gt;
The living standard is huge, 6meg of HTML is truly gigantic. In fact it's too big to read. Almost nobody has read it end to end; not even the editors.&lt;/p&gt;
&lt;p&gt;
While WHAT-WG is problematic it is still the biggest source of ideas at the moment.&lt;/p&gt;
&lt;p&gt;
HTML EXTENSIONS&lt;/p&gt;
&lt;p&gt;
Proposed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Encrypted media (DRM) &lt;/li&gt;
&lt;li&gt; Media Source (adaptive streams) &lt;/li&gt;
&lt;li&gt; Responsive Images &lt;/li&gt;
&lt;li&gt; Headers/Outlines &lt;/li&gt;
&lt;li&gt; &amp;lt;maincontent&amp;gt;&lt;/li&gt;
&lt;li&gt; @longdesc&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
If you want to influence these decisions, get involved and give feedback. Tell the editors what works for you as a developer. It turns out the people in the room have a lot more say than those who aren't saying anything; and things move faster when the editors aren't guessing.&lt;/p&gt;
&lt;p&gt;
Outside HTML:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; hypervideo – allowing videos to link to other videos more akin to html &lt;/li&gt;
&lt;li&gt; Audio API – commonly demonstrated &lt;/li&gt;
&lt;li&gt; Speech API – not so commonly demonstrated, people do talk to their devices! &lt;/li&gt;
&lt;li&gt; Sensors, Near Field Communications, gamepad &lt;/li&gt;
&lt;li&gt; getUserMedia() &lt;/li&gt;
&lt;li&gt; Push API, RTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Inside:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Web Intents – revolutionary, came from google, going to work out how to do plugins on the web. This time, instead of actual software plugged in; you'll use a service on the web to do what that downloaded plugin would have  done. &lt;/li&gt;
&lt;li&gt; Web components – ability to make your own markup, much like XHTML used to be extensible, except  this time to make it actually work. Ability to collapse common features down to custom markup that shorthands whole sets of CSS and JS. &lt;/li&gt;
&lt;li&gt; Web Animation &lt;/li&gt;
&lt;li&gt; Fullscreen &lt;/li&gt;
&lt;li&gt; Clipboard &lt;/li&gt;
&lt;li&gt; 3D (and printing)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Getting input:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; pointer events &lt;/li&gt;
&lt;li&gt; gesture &lt;/li&gt;
&lt;li&gt; speech &lt;/li&gt;
&lt;li&gt; IMEs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
DOM 3 events &lt;strong&gt;almost&lt;/strong&gt; done.&lt;/p&gt;
&lt;p&gt;
Where does all this lead? To making an Operating System! The web can be an operating system, and that's where all this work is heading.&lt;/p&gt;
&lt;p&gt;
But there are a few curious issues – eg. The web has no concept of a file system. Things the web runs on have file systems but the web itself does not.&lt;/p&gt;
&lt;p&gt;
Building a network hits i18n issues like multilingual web – even just getting keyboard shortcuts to map to different layouts turns out to be very very poorly done and flaky.&lt;/p&gt;
&lt;p&gt;
Identity on the web is still a pain point – we don't have a good, single solution. Currently people mostly just re-use a specific service login (Facebook, Twitter). The useful case is wanting to vote online – you need some way to be reasonably sure each vote really came from one person.&lt;/p&gt;
&lt;p&gt;
&amp;quot;What we do with Moore's Law is what we do with freeways – we build more of them!&amp;quot; We download much higher-resolution images of cats. We forget that we will fill the capacity doing the same thing with bigger files.&lt;/p&gt;
&lt;p&gt;
Ecommerce is curious – you can almost but not quite get a whole homeloan online; you can do small payments, but not a genuine micropayment of less than $1 without an ongoing relationship. In developing countries with low incomes this is a really big problem. The ability to transfer phone credit between phones has led people in Kenya to think of a mobile-phone based bank.&lt;/p&gt;
&lt;p&gt;
When lots of money starts getting passed around in a visible form in such a nation, the government can – often for the first time – start to tax their population's cash flow. Which suddenly puts the government into peoples lives, when previous they were largely decoupled. Then, people start reacting to the government... and when that happens, you can get genuine revolution.&lt;/p&gt;
&lt;p&gt;
That's the exciting – and scary – part of where technology is taking us... it can change the world.&lt;/p&gt;
&lt;p&gt;
[My writeup doesn't do justice to the conclusion. You had to be there.]&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/chaals"&gt;@chaals&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="josh-clark-buttons-are-a-hack"&gt;
Josh Clark – Buttons are a hack&lt;/h2&gt;
&lt;p&gt;
&amp;quot;I hate the ipad back button with the fire of a million suns&amp;quot;&lt;/p&gt;
&lt;p&gt;
Fitt's Law – roughly, the smaller and further away a target it is, the harder it is to hit. Also we have issues with accessibility and discoverability... not everyone can even use a touch screen (he met a cabbie with a hook instead of a hand...) and even if they can how do they know what to do.&lt;/p&gt;
&lt;p&gt;
Gestures are the keyboard shortcuts of touch. They are patterns that are more forgiving, they can be done anywhere on the screen; they don't require as much precision.&lt;/p&gt;
&lt;p&gt;
Buttons are a hack – an inspired hack, but still a hack. Even in the physical world they're a hack – a button over there for a light up there is not intuitive.&lt;/p&gt;
&lt;p&gt;
The internet is not the browser – we have been reminded many times here at WDS12.&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://1.bp.blogspot.com/-zBq_bSnr7P4/UIaBzWMXgVI/AAAAAAAAC10/hHo1FsBgm-U/s1600/the-internet-does-not-mean-browser.png" imageanchor="1" style=""&gt;&lt;img border="0" height="238" width="400" src="http://1.bp.blogspot.com/-zBq_bSnr7P4/UIaBzWMXgVI/AAAAAAAAC10/hHo1FsBgm-U/s400/the-internet-does-not-mean-browser.png" alt="Photo of Tom Coates on stage, with speech bubble - internet does not mean browser" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
The web (browser) is inside of every application instead of every application being inside the web (browser). - Luke Wroblewski&lt;/p&gt;
&lt;p&gt;
You can do some touch stuff in browsers; but a lot of gestures have already been reserved by the browser itself. So for the time being the greatest/richest level of gestural interface design is going on in native apps.&lt;/p&gt;
&lt;p&gt;
App demo – quick prototyping with Adobe Proto. Would't work all that nicely on desktop but it's perfect for an ipad.&lt;/p&gt;
&lt;p&gt;
Also showed Clear – really good exploration of touch driven interface, inspired by playing a musical instrument.&lt;/p&gt;
&lt;p&gt;
Discoverability... &lt;/p&gt;
&lt;p&gt;
How do you find what you can't see? Especially when there's no prior familiarity to fall back on? How do we get to the stage we're at for keyboards – muscle memory.&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&amp;quot;There's no such thing as an intuitive interface. Everything is learned, there's no such thing as intuitive.&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
UIs are social conventions, we can't truly rely on them. Many can get solid; but you can design to remove uncertainty. Example: salt and pepper shakers, the very best is the one with glass that lets you see what's inside. The content itself tells you what's happening.&lt;/p&gt;
&lt;p&gt;
Design the content as the interface. We may finally get to a point where the message is actually the medium.&lt;/p&gt;
&lt;p&gt;
Many apps still give you a complete set of instructions when you start them; which asks people to become experts before they're novices. Front loading the instructions makes it seem complex even if it's not.&lt;/p&gt;
&lt;p&gt;
Besides, nobody reads the manual. We all have incomplete knowledge of the tools we use, because we don't read the manual. It drives us nuts when our users don't read the manual, but we know they really don't.&lt;/p&gt;
&lt;p&gt;
But people watch TV, maybe a screencast will work? Example video: Al Gore introducing an app, but it's a very dry, boring video.&lt;/p&gt;
&lt;p&gt;
So what else? We don't have to give people an instruction book. &lt;/p&gt;
&lt;p&gt;
Nature doesn't have instructions, even though it has a pretty complex interface. We all spent years learning the interface to the world. We've got it now, which is great, but it took work.&lt;/p&gt;
&lt;p&gt;
Some people use skeumorphism to tap into prior knowledge, but if you don't follow the metaphor all the way through you make a much worse situation. Eg. Apple Calendar is skeuomorphic but for the first 18 months you couldn't &amp;quot;turn the page&amp;quot;.&lt;/p&gt;
&lt;p&gt;
When you're teaching things to users, think of the patience and tolerance you would show to children. They don't know things yet and we accept that. When an interface is unintuitable, why expect people to get things instantly?&lt;/p&gt;
&lt;p&gt;
To learn great ways to teach people how to use a UI... play more games! Games use... &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;coaching &lt;/li&gt;
&lt;li&gt;levelling up &lt;/li&gt;
&lt;li&gt;power ups &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
...to great effect.&lt;/p&gt;
&lt;p&gt;
Some sites and apps use little popups/inline dialogs... but we are haunted by the ghost of Clippy past, where the terrible content and persistence despite dismissal drove us nuts.&lt;/p&gt;
&lt;p&gt;
If you add a hint or callout, make sure you stop showing it once the user has actually done it – when they know, you don't need to tell them. If they've done the gesture or said ok, stop hassling them.&lt;/p&gt;
&lt;p&gt;
Provide visual cues for custom gestures. A suitcase without a handle is useless; a gesture with no affordance is useless.&lt;/p&gt;
&lt;p&gt;
The best time to give a hint is when people need it – games may pause and tell you how to block when you're getting heavily attacked.&lt;/p&gt;
&lt;p&gt;
Apple took it a step further and forced people to learn to scrollin in OSX Lion – you had to scroll before you got a continue button, it was just that important.&lt;/p&gt;
&lt;p&gt;
Power ups in games give you super powers – they let you shortcut things and reward you for effort. They can be used by anyone but are especially effective when used by experts.&lt;/p&gt;
&lt;p&gt;
If people are doing a slow version of an interaction, after the tenth time you can offer a hint about a quicker way. You can even require them to do it to proceed.&lt;/p&gt;
&lt;p&gt;
Even so this all shows we don't have conventions. We don't have enough commonality to form standards. So talk to each other, be generous. Ask people why they built something the way they did.&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/globalmoxie"&gt;@globalmoxie&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="jon-kolko"&gt;
Jon Kolko: A means to an end&lt;/h2&gt;
&lt;p&gt;
Two parts to the talk – Means, and Ends.&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Means...&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
(mesmerising time lapse of Jon making a clay pot)&lt;/p&gt;
&lt;p&gt;
Jon learned how to make ceramics from a very young age and it took him a long time to appreciate craftsmanship, that the goal is to get things &lt;em&gt;right&lt;/em&gt; not do them &lt;em&gt;fast. &lt;/em&gt; &lt;/p&gt;
&lt;p&gt;
EXPERTISE: CRAFT, MATERIAL, PROCESS, VOICE&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://3.bp.blogspot.com/-bd_mMTLZ-vA/UIZ_UElSmPI/AAAAAAAAC1g/ggTulNNdEIA/s1600/craft-material-process-voice.png" imageanchor="1" style=""&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-bd_mMTLZ-vA/UIZ_UElSmPI/AAAAAAAAC1g/ggTulNNdEIA/s400/craft-material-process-voice.png" alt="CRAFT, MATERIAL, PROCESS, VOICE" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;small&gt;&lt;a href="http://www.jonkolko.com/projectFiles/preso/kolko_2012_10_meansToEnd.pdf"&gt;source: slide deck (pdf)&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;
Craft is about engagement and quality.&lt;/p&gt;
&lt;p&gt;
What happens when you gain expertise? You learn what the medium can and can't do; you gain patience; you slowly gain understanding. You learn what the medium wants to do, how it wants to work.&lt;/p&gt;
&lt;p&gt;
&amp;quot;Art resides in the quality of doing, process is not magic.&amp;quot; - Charles Eames.&lt;/p&gt;
&lt;p&gt;
There is a message to creation, there is a wider reason for making things in the first place.&lt;/p&gt;
&lt;p&gt;
Where do we choose to aim our mastery of craft, material, process and voice? &lt;/p&gt;
&lt;p&gt;
What problem do we solve?&lt;/p&gt;
&lt;p&gt;
Ask these three questions...&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Should I make things?&lt;/li&gt;
&lt;li&gt;What things should I make?&lt;/li&gt;
&lt;li&gt;For whom should I make these things?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;Your selection of subject matter is a complex political decision which always has consequences.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
If you do a wonderful job of designing a McDonald's website, did you cause the rise in diabetes? Probably not. But did you &lt;em&gt;amplify&lt;/em&gt; something that was already happening?&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Ends...&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
Ethonography around homelessness in Austin, TX...&lt;/p&gt;
&lt;p&gt;
His students set up a sign at a gathering saying &amp;quot;hi can we ask you a question?&amp;quot; and they asked &amp;quot;what do you want to have happen by the end of the day&amp;quot;.&lt;/p&gt;
&lt;p&gt;
They realised homeless people are a lot more like them than they realised. They have phones, they have Facebook accounts... they just don't have homes. They realised self-actualisation was important to them. What if they were teaching something?&lt;/p&gt;
&lt;p&gt;
So they set up HourSchool; and an online platform for people to teach things. &amp;quot;We believe that when people teach, they gain self-worth; and that empowers them to take control and change their situation.&amp;quot; (inexact transcription)&lt;/p&gt;
&lt;p&gt;
Notion of a &lt;em&gt;social entrepreneur&lt;/em&gt; – someone who takes on risk and reaps a reward in a social context. They can still make money, they can still be financially successful, without sacrificing positive social impact.&lt;/p&gt;
&lt;p&gt;
Design is now getting into the boardroom; it's not longer a service to the business, it's part of the entire strategy. &lt;/p&gt;
&lt;p&gt;
Three ways to control the subject matter:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;build a theory of change&lt;/li&gt;
&lt;li&gt;become a social entrepreneur&lt;/li&gt;
&lt;li&gt;run the show – get into the boardroom&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;a href="http://wickedproblems.com/"&gt;http://wickedproblems.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://twitter.com/jkolko"&gt;@jkolko&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
End...&lt;/h2&gt;
&lt;p&gt;
(Once again, the end of Web Directions has arrived so fast your head spins.)&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=tBZcyWxrsSc:rrBfdBIpa9k:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=tBZcyWxrsSc:rrBfdBIpa9k:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=tBZcyWxrsSc:rrBfdBIpa9k:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=tBZcyWxrsSc:rrBfdBIpa9k:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/tBZcyWxrsSc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/7665907640159707440/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2012/10/wds12-big-stonking-post.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/7665907640159707440" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/7665907640159707440" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/tBZcyWxrsSc/wds12-big-stonking-post.html" title="wds12, the big stonking post™" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-7xSdJfwV7Kg/UIaILKF717I/AAAAAAAAC2o/dnT8TZi6csY/s72-c/wds12-blankets.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2012/10/wds12-big-stonking-post.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-1104003036798118557</id><published>2011-10-17T00:30:00.012+11:00</published><updated>2011-10-18T00:33:26.191+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="big stonking post" /><category scheme="http://www.blogger.com/atom/ns#" term="web directions south" /><category scheme="http://www.blogger.com/atom/ns#" term="wds11" /><title type="text">WDS11, the big stonking post™</title><content type="html">&lt;p&gt;Welcome to the Web Directions South 2011 Big Stonking Post&amp;trade;, my rough notes hammered out on a laptop (to aid my own recall) and posted here for your enjoyment.&lt;/p&gt;
&lt;p&gt;The usual notes: These are very raw notes - excuse typos, and if you need an exact quote please check the podcast as some of my quotes end up more like paraphrases (I can only type so fast...). Anything marked &amp;quot;Aside:&amp;quot; is my own thought and not something the speaker said.&lt;/p&gt;
&lt;p&gt;Since it's so big I've gone old school and added a jump menu.&lt;/p&gt;
&lt;div id="toc"&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;a href="#annegalloway"&gt;A 21st Century Bestiary - Anne Galloway&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#simonscott"&gt;Designing for change - Simon Wright, Scott Bryant &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#addyosmani"&gt;Scalable JS Design Patterns - Addy Osmani &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#johnallsopp"&gt;A Dao of the Web - John Allsopp &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#martintomitsch"&gt;Using the world as a canvas - Martin Tomitsch &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#stephenpanderson"&gt;Long after the thrill - Stephen P. Anderson &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#mikekuniavsky"&gt;Design [in|for|and] the age of ubiquitous computing - Mike Kuniavsky &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#rellyannettbaker"&gt;All the small things - Relly Annett-Baker &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#rahulsen"&gt;Interaction Design Bauhaus - Rahul Sen &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#dmitrybaranovskiy"&gt;The origins of magic - Dmitry Baranovskiy &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#gregrewis"&gt;CSS3 Transforms - Greg “Wickedly Cool” Rewis&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#jamesbridle"&gt;Waving at the machines - James Bridle &lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;p&gt;Day one.&lt;/p&gt;

&lt;h3 id="annegalloway"&gt;A 21st Century Bestiary - Anne Galloway&lt;/h3&gt;
&lt;p&gt;The concept of a bestiary is ultimately about how we relate to the world, allegories for life.&lt;/p&gt;
&lt;p&gt;We use pets as a way to understand who we are, understand our place in the world. Pets are good to think with because so many of us choose to have them. We can take lessons from pets in terms of how humans relate to non-animals. Remember pets and computers both fall into this category!&lt;/p&gt;

&lt;p&gt;&lt;img src="http://4.bp.blogspot.com/-DgjzaULilYI/TprUylVxxnI/AAAAAAAAAOg/vcRfjCipLn8/s1600/hovercat.jpg" alt="HOVERCAT: monorail cat now obsolete" /&gt;&lt;/p&gt;
&lt;p&gt;LOLcats demonstrate our shared understanding &amp;ndash; we understand cats, we understand the idea that monorail cat could &amp;ldquo;become obsolete&amp;rdquo; because we also understand technology.&lt;/p&gt;
&lt;p&gt;We can look at how we treat pets for an idea how we might treat people in future. &lt;/p&gt;
&lt;p&gt;If we have an etag on a cat door to stop the wrong cats getting in, we might well do the same thing to people. &lt;/p&gt;
&lt;p&gt;(Aside: we already do, really &amp;ndash; think swipe cards to get into your office or carpark.)&lt;/p&gt;
&lt;p&gt;We try ideas out on animals before we would do it to people &amp;ndash; having tracking devices on them, implanting locator chips and so on. Over time we try them on people too.&lt;/p&gt;
&lt;p&gt;Poultry Internet &amp;ndash; remote care device for looking after a chicken. The idea could be extended to having your cat wear a jacket that lets you pat it by remote.&lt;/p&gt;
&lt;p&gt;Comparison: Cow Clicker vs a real national farm &amp;ldquo;game&amp;rdquo; where people had a say about the running of a real farm. She learned far more about farming from the real game.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Why not an internet of cows?&amp;rdquo; If we can have an internet of things, why not an internet of cows? Or is that the Internet Fridge of today?&lt;/p&gt;
&lt;p&gt;The best way to think of it is looking at cases with real data, like Teat Tweet which gives people some level of real insight into life on a farm. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/-fkEzKnemSQ4/TprVgyQqbwI/AAAAAAAAAPE/1CgruzXmdd0/s1600/cow-tweets.png"&gt;&lt;img src="http://2.bp.blogspot.com/-fkEzKnemSQ4/TprVgyQqbwI/AAAAAAAAAPE/1CgruzXmdd0/s400/cow-tweets.png" alt="Screenshot of cow tweeting about giving 12kg of milk" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;The cow gave 12kg of milk? That's a lot of milk! I didn't know...&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Across the world lots of data is being collected, including things like a company called Spark that tracks cows and their health. Each cow generates around 200megs of data per year... but then the question comes up about jurisdiction over that data. Who has the right to it? Who owns it? Do animal rights laws get involved?&lt;/p&gt;
&lt;p&gt;Technology enables connections to things, to people, to other locations. There is a system (&lt;a href="http://wheresyoursfrom.com/"&gt;wheresyoursfrom.com&lt;/a&gt;) which prints a number on eggs so you can look it up and see where it came from, even see a photo of the farmer.&lt;/p&gt;
&lt;p&gt;Icebreaker added &amp;ldquo;baacodes&amp;rdquo; to their products so you could look up the story of the sheep. Although it's a bit spurious, since any one item of clothing will probably use wool from half a dozen sheep. But people don't really mind since they just wanted to match back to a farm. Since Icebreaker trade somewhat on the idea that they are ethical from beginning to end, letting people check in gives that message some credibility. This is not technology doing the tracing, it's really marketing giving a view into the process to reinforce the brand. There is no real way to &lt;em&gt;actually&lt;/em&gt; check up on it.&lt;/p&gt;
&lt;p&gt;Sidenote from Anne: Why do we insist on bad puns and general infantilisation of anything to do with animals and farming? Although they are fun, it's unclear why we don't treat farmers like adults.&lt;/p&gt;
&lt;p&gt;Moving further from humans... pets, to livestock, to wildlife... everyone uses this spectrum.&lt;/p&gt;
&lt;p&gt;People love watching wild animals &amp;ndash; we have heaps of webcams in zoos, they popped up really fast as the web took off. &lt;/p&gt;
&lt;p&gt;The ability to watch and follow animals runs the risk of us reading human ideas and values into it, rather than observing what the animals are really doing. We tend to use animals as a reflection of humans and human values. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.pigeonblog.mapyourcity.net/"&gt;Pigeonblog&lt;/a&gt; &amp;ndash; people are collecting air quality data from homing pigeons. Notion of &amp;ldquo;citizen science&amp;rdquo;, where people can get data in creative new ways.&lt;/p&gt;
&lt;p&gt;CYBORGS.... looping back, imagining new ways to think about people, animals and technology. This is the beastiary's role in challenging our understanding of who we are.&lt;/p&gt;
&lt;p&gt;Mouse Match &amp;ndash; dating site for people who breed mice. Talk about a niche!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://lukalive.wordpress.com/"&gt;Luka, The Wifi Dog&lt;/a&gt; &amp;ndash; a much friendlier way to explore the ideas presented in Minority Report. Notions of freedom, privacy and so on are easier to discuss around a dog than a human.&lt;/p&gt;
&lt;p&gt;The military &amp;ndash; especially the US military &amp;ndash; is big on the idea of cyborg animals. The US have robotic beetles they can quite literally control by remote. &lt;/p&gt;
&lt;p&gt;&amp;ldquo;While I would love to have a cyborg beetle, what I don't like is the US military having them&amp;rdquo; (rough quote)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.angelovermeulen.net/?page_id=152"&gt;Corrupted C#N#M# (angelo vermeulen) used hissing cockroaches to disrupt video signals&lt;/a&gt; &amp;ndash; what if the next denial of service is done by roaches?&lt;/p&gt;
&lt;p&gt;Project: &lt;a href="http://medgadget.com/2008/07/respiratory_dog_mans_bestest_friend.html"&gt;Respiratory Dog&lt;/a&gt;. Explored the idea that ex-racing greyhounds could power respirators for humans. Both the dog and the human get to keep living!&lt;/p&gt;
&lt;p&gt;Even freakier: &lt;a href="http://www.designculturelab.org/2011/08/06/dialysis-sheep-sacrificial-lambs-black-sheep-and-speculative-designs-publics/"&gt;Dialysis Sheep&lt;/a&gt;, a combined-DNA sheep that could replace dialysis machines. The human and sheep DNA are recombined in a way that makes them compatible; so the sheep processes the human's blood overnight, instead of a dialysis machine.&lt;/p&gt;
&lt;p&gt;Technology is enabling significant new ways to connect humans and animals. Who do we become if we avail ourselves of these new connections?&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/annegalloway"&gt;@annegalloway&lt;/a&gt;, &lt;a href="http://www.designculturelab.org/"&gt;designculturelab.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(&lt;a href="#toc"&gt;Top&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="simonscott"&gt;Designing for change - Simon Wright, Scott Bryant &lt;/h3&gt;
&lt;p&gt;News.com.au does about 5m unique browsers per month for 130m page impressions... so fairly intimidating numbers. &lt;/p&gt;
&lt;p&gt;With their relaunch they added features they expected people to find as they explored &amp;ndash; to surprise and delight them.&lt;/p&gt;
&lt;p&gt;They needed to give editorial staff lots of ways to present the content; and to let the writers express more personality through the design.&lt;/p&gt;
&lt;p&gt;Typography was a big deal, which is why they used an embedded font &amp;ndash; to make type a hero of the page.&lt;/p&gt;
&lt;p&gt;In the presso: sharing some feedback as they go... negative stuff tends to be quite funny because people rant. The positive stuff tends to be quite straightforward.&lt;/p&gt;
&lt;p&gt;Classic feedback: suggestions the design was done by schoolkids or people with crayons.&lt;/p&gt;
&lt;p&gt;So what do we really mean by disruption? CHANGE. Not just to users but to internal processes.&lt;/p&gt;
&lt;p&gt;Si: hates it when supermarkets move things around, it's really frustrating and stressful. It disrupts your flow, distracts you from achieving your goals. Frustration taps into our emotions &amp;ndash; anxiety, surprise, anger, delight... &lt;/p&gt;
&lt;p&gt;We may not be changing entire industries &amp;ndash; most of us will not launch an iPhone &amp;ndash; but we're still disrupting our users.&lt;/p&gt;
&lt;p&gt;Don't redesign, realign &amp;ndash; make small changes rather than blow everything up at once. Although blowing it up is fun for designers it's not great for users.&lt;/p&gt;
&lt;p&gt;However when realign just isn't enough... you still do have to blow things up.&lt;/p&gt;
&lt;p&gt;They started with wireframing but it wasn't stretching things enough and it wasn't resonating with users in testing sessions. Realised the big picture had changed &amp;ndash; realign wasn't enough.&lt;/p&gt;
&lt;p&gt;There's still an obsession with getting things above the fold &amp;ndash; but because it's so prevalent users tend to expect it on news sites. But elsewhere people scroll and this should eventually come across.&lt;/p&gt;
&lt;p&gt;One key thing to remember is ads push design trends because people have to accommodate the same three primary ad sizes. This is why news sites in australia look so &amp;ldquo;same-y&amp;rdquo;. The three-col design is prevalent because it accommodates the ads.&lt;/p&gt;
&lt;p&gt;Change vs Innovation. Stakeholders constantly say &amp;ldquo;we need to be innovative!&amp;rdquo; but you don't automatically have to do that. You need to balance that desire for innovation against the users' desire for stability and familiarity.&lt;/p&gt;
&lt;p&gt;There are really &lt;a href="http://newsmap.jp/"&gt;innovative designs out there for displaying news&lt;/a&gt; &amp;ndash; but could you really whack your banner at the top and give them to users? They'd freak out!&lt;/p&gt;
&lt;p&gt;In a previous redesign they'd introduced drag and drop, and the ability to move content modules around and expand the ones you're interested in reading. What emerged is people &lt;em&gt;loved the idea&lt;/em&gt;, but only a really small number of people &lt;em&gt;actually did it&lt;/em&gt;. Ultimately you have to decide if the cost of maintaining that feature is truly worth it.&lt;/p&gt;
&lt;p&gt;Decided to explore realigning with the younger 18-39 age group that is news.com.au's prime audience. Looked at the way users were getting news through facebook or twitter &amp;ndash; found people thought it was valuable to have their friends' input and curation.&lt;/p&gt;
&lt;p&gt;Having decided to redesign, take a moment to ask... what are we actually designing? Check your requirements and user stories (although it's hard to say &amp;ldquo;as a user I want to see advertising!&amp;rdquo;). Get the big first list then simplify that list. They worked with key stakeholders that could determine the list of five measures that would give the definition of &amp;ldquo;done&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Key things: differentiate from competitors, engage users who tune out sections, more opportunities for top stories traffic, appeal more to target market, address the gender imbalance (avoid the usual male focus of australian news websites).&lt;/p&gt;
&lt;p&gt;People tune out sections on quite blunt demographic lines (eg. males ignore entertainment) &amp;ndash; but then they miss stories that they would actually find interesting, just because they're categorised a certain way.&lt;/p&gt;
&lt;p&gt;So what does success look like for design/ux? What were the design objectives, in design language, rather than business goals.&lt;/p&gt;
&lt;p&gt;Si was quoted: &amp;ldquo;It should feel like a website today &lt;strong&gt;interacts&lt;/strong&gt;. You shouldn't be able to print it out. Made for the medium, made for the web.&amp;rdquo; &amp;hellip;.this quote was kept through the whole process afterwards, even when Si tried to throw out that piece of butcher's paper.&lt;/p&gt;
&lt;p&gt;Content, not design, is the hero. How can we elevate content and retain a good user experience? That's how they ended up with what is really a quite simple and minimalist design (particularly in the News Ltd stable).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/-W6rnnj_CH8w/TprV0okPKEI/AAAAAAAAAQI/UQ3MbsuAf3M/s1600/news-redesign-small.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/-W6rnnj_CH8w/TprV0okPKEI/AAAAAAAAAQI/UQ3MbsuAf3M/s400/news-redesign-small.jpg" alt="Photo of meeting room bedecked with sketches and printouts" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;a href="http://www.flickr.com/photos/diversionary/6137846731/in/photostream/"&gt;Photo by Simon Wright&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;Black Ops... or stakeholder hide and seek. For several weeks, they snuck around the building and stole meeting rooms. Every second day they'd arrange a stakeholder catch up to see progress, answer questions and give feedback. Constant iterative process. The earlier investment in requirements made the stakeholders feel happy that things were on track, so they were largely &amp;ldquo;left alone&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Sidenote: the Daily Mail is simply a massive website, printout went from ceiling to floor and still had to be rolled up.&lt;/p&gt;
&lt;p&gt;They did a lot of sketching through the process &amp;ndash; right through to the end, not just something that was done at the start. But they didn't just sit in photoshop the whole time.&lt;/p&gt;
&lt;p&gt;Kept the rolling set of iterative printouts on the wall &amp;ndash; last four or five printouts in a row, so stakeholders could see the progression of ideas and the response to feedback.&lt;/p&gt;
&lt;p&gt;After every stakeholder meeting, they'd pack up and move to another meeting room &amp;ndash; it became a really fun part of the process. People would start scouting to find them ahead of the meeting. Also kept Si happy as he got to see all the different chairs in the building (chair afficionado in an office full of different chairs..). &lt;/p&gt;
&lt;p&gt;However the moves also helped them reset and refocus every other day, to help keep the process going. It also stopped anything becoming a blind spot &amp;ndash; printouts that sit on the wall start fading out, but moving around stopped that happening.&lt;/p&gt;
&lt;p&gt;Simply sketching things BIG on butcher's paper helped people think about it; and adding post it notes to simulate interactions. They kept the huge roll of discarded paper (even though it's taped shut at this point) as an artefact of the creation process and a reminder that &amp;ldquo;building websites kills a lot of trees&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;It was important to give &lt;strong&gt;confidence&lt;/strong&gt; to the stakeholders; so they decided to do some focus groups to try out some real interactions. Got some internal, non-developer users to try things out so they could give some cross-checking and reassurance to stakeholders. It also meant they could get people back to try things again later.&lt;/p&gt;
&lt;p&gt;Tools: sketching, Photoshop, Axure, HTML/CSS (especially to do rapid prototyping with CSS transitions).&lt;/p&gt;
&lt;p&gt;Noting that the major information architecture didn't really change. Also there were &lt;strong&gt;no CMS changes&lt;/strong&gt;, the entire change was done by the awesome frontend dev team.&lt;/p&gt;
&lt;p&gt;When it gets big, having those big goals helps keep things on track. Being flexible is important as you must respond to changes in requirements and environment &amp;ndash; eg. Not getting stressed as they had to swap things around in the top right corner.&lt;/p&gt;
&lt;p&gt;Feedback &amp;ndash; remember that getting any feedback in the first place is a measure of success, because people are noticing and engaging with it. The craziest, nastiest feedback happens in the first 36 hours during the shock of the new; then it changes. Some people even come back and comment that they're getting used to it.&lt;/p&gt;
&lt;p&gt;Feedback from lots of sources &amp;ndash; keep track of where it's coming from. Twitter gives you very quick, but cryptic feedback; so take it as a rough gauge. Facebook gives more details but is by far the angriest (the theory is those users feel very close to the site, but did not feel close to the redesign process); email gives even more detailed and long feedback. Internal feedback cuts through all your filters.&lt;/p&gt;
&lt;p&gt;Naturally there was a &lt;a href="https://www.facebook.com/pages/Bring-the-old-Newscomau-back/253262354712281"&gt;&amp;ldquo;bring the old news.com.au back&amp;rdquo; facebook group&lt;/a&gt; &amp;ndash; Si: &amp;ldquo;I kind of feel like we've made it now we have a 'put it back' facebook group&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Big part of the feedback process was having a blog post - &amp;ldquo;&lt;a href="http://www.news.com.au/top-stories/new-homepage/story-e6frfkp9-1226121328423"&gt;Honey, we blew up the website&lt;/a&gt;&amp;rdquo;. One suggestion is to try putting that up ahead of time to prepare users for the change, rather than putting it up at the same time.&lt;/p&gt;
&lt;p&gt;When you get the feedback storm &amp;ndash; take a deep breath. Keep it in perspective, you will get negative feedback. Is it actually coming from your target market? Use the medium to ask follow-up questions and explore the problems? They instinctively used personal twitter accounts, but it did make it more human. Also, you do just need to let things go sometimes. You don't know what is going on in their world and sometimes you just won't make sense of their reaction.&lt;/p&gt;
&lt;p&gt;Know where you fit into their lives. For news.com.au it's 9am starting the day - &amp;ldquo;don't mess with routine&amp;rdquo; rule. &lt;/p&gt;
&lt;p&gt;Best bit of feedback ever comes from the 2008 relaunch:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/-XWPuLBHpMEI/TprV0bJQMQI/AAAAAAAAAQA/nlD2teGOwU8/s1600/newscomau-feedback-try-viogner.PNG"&gt;&lt;img src="http://2.bp.blogspot.com/-XWPuLBHpMEI/TprV0bJQMQI/AAAAAAAAAQA/nlD2teGOwU8/s400/newscomau-feedback-try-viogner.PNG" alt="User: When I saw your new layout, I literally vomited. My $400 monitor was sprayed with a mist of chicken risotto and chardonnay. I was so repulsed that I also soiled my pants. Thanks a lot, News Limited. Editor: Chardonnay’s probably a bit heavy for risotto, next time try a sauvignon blanc or maybe even a viognier." /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best rule of website feedback: it's just a website, don't take it too seriously!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/diversionary"&gt;@diversionary&lt;/a&gt; &lt;a href="http://twitter.com/ScotTheLot"&gt;@ScotTheLot&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(&lt;a href="#toc"&gt;Top&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="addyosmani"&gt;Scalable JS Design Patterns - Addy Osmani &lt;/h3&gt;
&lt;p&gt;Most empires start out quite small, then grow (imagine adding ships to a fleet). Each of the pieces need to talk to each other, which is easier when things are small.&lt;/p&gt;
&lt;p&gt;You can solve this issue by introducing a central control &amp;ndash; a Death Star in the middle. Everyone talks to the single entity which communicates back out.&lt;/p&gt;
&lt;p&gt;Also you want the fleet to keep working even if one ship is lost or swapped out. However you also want the flexibility to move to a whole new death star if you need to, in case IT blows up. &lt;/p&gt;
&lt;p&gt;Part I: Patterns, a New Hope&lt;/p&gt;
&lt;p&gt;Design Patterns, JS, Scalable Application Architecture.&lt;/p&gt;
&lt;p&gt;We all do things differently and we try to address scalability differently. Small differences in syntax and approach. But that doesn't work when you scale, it leads to problems.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;We search for some kind of harmony between two intangibles....&amp;rdquo; - Christopher Alexander &amp;ndash; father of design patterns.&lt;/p&gt;
&lt;p&gt;These patterns are solid and reliable, they've proved themselves in the past. Some of the patterns which emerged 20 years ago still apply now to JS!&lt;/p&gt;
&lt;p&gt;Patterns are reusable, they give us a vocabulary for expressing solutions elegantly. It's easier than describing deep details &amp;ndash; they are problem agnostic. They ultimately prevent minor problems which turn into big problems down the line.&lt;/p&gt;
&lt;p&gt;Part II: JS Strikes Back&lt;/p&gt;
&lt;p&gt;Common pattern is the anonymous self- and immediately-executing function. It has problems with privacy, so you use modules to make things private within the module.&lt;/p&gt;
&lt;p&gt;It's very flexible, it's a very old pattern. You can apply this to jQuery, YUI, Dojo, ExtJS.&lt;/p&gt;
&lt;p&gt;Better pattern: Asych Module Definition (AMD). It's a stepping stone from the module system. Has define() and require() methods, conventions for declaring dependencies and so on.&lt;/p&gt;
&lt;p&gt;An alternative is CommonJS, does similar things.&lt;/p&gt;
&lt;p&gt;ES Harmony Modules: a module format proposed for EcmaScript Harmony.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;There are people who do things right, there are people who do things wrong, then there are people who write Google Dart.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Facade Pattern &amp;ndash; gives a limited, readable API and doesn't directly expose the underlying code. The exposed API can differ greatly from the underlying modules.&lt;/p&gt;
&lt;p&gt;Mediator Pattern &amp;ndash; the death star from earlier. It acts as a mediator to handle disparate things. It's the air traffic control &amp;ndash; the planes don't talk to each other, they talk to the tower. Modules broadcast or listen, without being too tied to specifics. Pub/sub on a central mediator.&lt;/p&gt;
&lt;p&gt;Scalable Application Architecture: strategies for decoupling and future-proofing large apps.&lt;/p&gt;
&lt;p&gt;Possible problems: how much is reusable? Can a single module exist on its own? Can a single module be tested independently? How much do modules depend on each other? If one part fails, will the whole thing still function?&lt;/p&gt;
&lt;p&gt;Think long term. You may decide to switch libraries somewhere down the track.&lt;/p&gt;
&lt;p&gt;The secret to building large apps is never build large apps, build small pieces that fit together.&lt;/p&gt;
&lt;p&gt;Acknowledge from the start that you don't know how it's going to grow, so you design defensively.
&lt;/p&gt;
&lt;p&gt;Putting it together.&lt;/p&gt;
&lt;p&gt;Components communicate with the facade, which communicates with the mediator. Components do not communicate directly with the mediator. &lt;/p&gt;
&lt;p&gt;Some people call the facade a &amp;ldquo;sandbox controller&amp;rdquo;. Same concept.&lt;/p&gt;
&lt;p&gt;Application core manages the module lifecycle &amp;ndash; when is it safe to start, when should it stop, when they should be restarted. Modules should execute automatically when started.&lt;/p&gt;
&lt;p&gt;Modules should inform the app when something interesting happens &amp;ndash; publish events. This includes errors, when something goes wrong it should publish a useful error.&lt;/p&gt;
&lt;p&gt;Useful example is the Gmail chat widget can restart and recover without stopping you checking your email.&lt;/p&gt;
&lt;p&gt;Aura preview &amp;ndash; a framework he's building at AOL to provide a boilerplate for one way to approach implementing this architecture. It will be open source.&lt;/p&gt;
&lt;p&gt;gituhub: addyosmani &amp;ndash; &lt;a href="https://github.com/addyosmani/todomvc"&gt;todomvc&lt;/a&gt;, a &amp;ldquo;to do&amp;rdquo; list example shown in a variety of libraries.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/addyosmani"&gt;@addyosmani&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(&lt;a href="#toc"&gt;Top&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="johnallsopp"&gt;A Dao of the Web - John Allsopp &lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Aside: &lt;a href="http://www.alistapart.com/articles/dao/"&gt;John's original Dao of the web article on A List Apart&lt;/a&gt; is one of the most influential posts ever written about modern web development. I can not immediately think of any other post I still reference more than a decade later. It is required reading! If you have not read the article, you should.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/-JtiHkG-8TtU/TprV0Cf3iHI/AAAAAAAAAPo/f-r0T9G_deg/s1600/john-allsopp-speaking.jpg"&gt;
&lt;img src="http://4.bp.blogspot.com/-JtiHkG-8TtU/TprV0Cf3iHI/AAAAAAAAAPo/f-r0T9G_deg/s400/john-allsopp-speaking.jpg" border="0" alt="Photo: John on stage" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;a href="http://www.flickr.com/photos/webdirections/6239945276/in/photostream"&gt;Photo by Web Directions&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;John has been thinking back over the past ten years and what he has learnt since writing the original Dao article.&lt;/p&gt;
&lt;p&gt;Quoting from Tao Te Ching (&amp;ldquo;It's not religious, don't worry! Give it a go!&amp;rdquo;)&lt;/p&gt;
&lt;p&gt;The power of the web is not complacency, it's from the tremendous efforts of individuals. There is also something profound about the web itself and the way it's built.&lt;/p&gt;
&lt;p&gt;If you'd told John in 2000 people would still be talking about the Dao article ten years later, he'd have thought you were crazy.&lt;/p&gt;
&lt;p&gt;In 2000, most designers were coming from a print background &amp;ndash; a context of control, which brought the expectation of fine-grain control (colour, fonts, etc). They thought the web was broken because they didn't have the same control. The new way was to consider that &amp;ldquo;bug&amp;rdquo; a feature &amp;ndash; John called it adaptability. Users could change things so the web would work better from them. &lt;/p&gt;
&lt;p&gt;The web was a user-centric medium, possibly for the first time.&lt;/p&gt;
&lt;p&gt;But there's a risk of replacing old dogmatic approaches with new ones.&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;John asks himself now... do the ideas still hold up? The web has changed amazingly in the past ten years.&lt;/p&gt;
&lt;p&gt;Now we have people talking about having &lt;strong&gt;control&lt;/strong&gt; when you use the web, but &lt;strong&gt;losing control&lt;/strong&gt; when we move into building native apps. (Brian Fling example quote)&lt;/p&gt;
&lt;p&gt;But we have Joe Hewitt talking about how native apps have the &amp;ldquo;right&amp;rdquo; kind of scrolling; and how it's hard to do on the web. &lt;/p&gt;
&lt;p&gt;Hewitt, Wired and others suggests we might stop using the web in favour of apps. John notes &amp;ldquo;There's a cottage industry in declaring that the web is dead.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;John: &amp;ldquo;I love the web for what it has done for our world. We have wonderful careers as developers and a lot of what we do makes peoples' lives better.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The web is hard to master &amp;ndash; but John feels this is a feature, not a bug. &amp;quot;When people say they want it be more native, they mean 'iOS'. Let's be honest.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Developing for iOS is like designing for paper &amp;ndash; there are basically four screen sizes: phone or tablet, in portrait or landscape. There is one way to input &amp;ndash; just touch. We can presume people with these devices have a reasonable network for connectivity. There are a small number of interaction design patterns. Then Apple puts huge energy into making things nice (online, to make things work brilliantly we need to do the work ourselves).&lt;/p&gt;
&lt;p&gt;Yin and Yang comes from the Tao Te Ching. Things define their opposites, things are defined in response to what's around them and what they are not.&lt;/p&gt;
&lt;p&gt;So the constraints of iOS are features because it's nice to build and nice to use. But the other side of that is censorship and control over what you can publish, how you can publish it, how much money Apple will take. Innovation is a function of the people who own the platform &amp;ndash; you have to wait for Apple to add new things to the system.&lt;/p&gt;
&lt;p&gt;The matrix of possibilities we create for on the web is more complex than iOS, but it is not constrained in the same way. &lt;/p&gt;
&lt;p&gt;In absolute numbers, the takeup of the web is much higher than that of iOS. It has huge reach. &lt;/p&gt;
&lt;p&gt;Universality is not a bug of the web, it's a feature.&lt;/p&gt;
&lt;p&gt;The fundamental approach to innovation on the web is to be open &amp;ndash; people create things like jQuery and Coffeescript, build a collaborative web. There's nobody at the gate stopping them putting it online, the way Apple can stop you putting things in the app store if they don't like the way you built it. That's the great power of what we are doing. That's why it's better than a closed platform &amp;ndash; no matter how wonderful that platform may be, how much fun it is to build and use.&lt;/p&gt;
&lt;p&gt;As professionals, stopping progress would in fact make our lives easier &amp;ndash; even if things are limited, they're not a moving target. This is probably why platforms have such appeal &amp;ndash; it's like working in a simpler time, with less divergence, less variables to handle.&lt;/p&gt;
&lt;p&gt;Everything is fragmenting, everything is diverging, but this creates new times and ways to use devces. There is no way John would ever go jogging with a laptop, but his iPhone can track miles and upload data later.&lt;/p&gt;
&lt;p&gt;Divergence is still a problem. It is hard to do what we do. It is a problem, but it is OUR problem as developers and designers to solve it for users.&lt;/p&gt;
&lt;p&gt;Scott Jensen describes the current focus on apps as &amp;ldquo;jurassic&amp;rdquo;. That it's ultimately a myopic view and something we will move past in time. So if we live in the jurassic age of apps, what will the cretaceous look like?&lt;/p&gt;
&lt;p&gt;One of the web's great powers is to remove friction and flatten hierarchies. In 25 years we've gone from air mail letters taking a week, to having email and social networks to talk easily and immediately with absent friends.&lt;/p&gt;
&lt;p&gt;Cam's &amp;ldquo;play&amp;rdquo; app had no friction: we went to a URL and started playing. Had that been done with apps we'd have had to go into app stores, seach for things, provide credentials, give money, wait out the bandwidth......&lt;/p&gt;
&lt;p&gt;&amp;ldquo;App stores and platforms sound like paper in 1999. We have gone backwards in time, to a past that's really kind of over &amp;ndash; certainly for the user.&amp;rdquo; (paraphrase)&lt;/p&gt;
&lt;p&gt;John thinks the web needs custodians, not owners. People who will nurture it, grow it, engage with it, people who love it.&lt;/p&gt;
&lt;p&gt;The success with the web is due to the people who have been building with it.&lt;/p&gt;
&lt;p&gt;The strength of native apps is regaining control, but the strength of the web is building to cope with the lack of control. &lt;/p&gt;
&lt;p&gt;We should nurture and enable the web, not try to own it or control it. Trying to control the future is like trying to take the master carpenter's place &amp;ndash; when you handle their tools, chances are you will cut yourself. &lt;/p&gt;
&lt;p&gt;We should nurture the web's adaptability, the thing which makes it universal. It's taken us on a long and amazing journey so far, and hopefully that journey is actually the first step on a journey of a thousand miles.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/johnallsopp"&gt;@johnallsopp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(&lt;a href="#toc"&gt;Top&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="martintomitsch"&gt;Using the world as a canvas - Martin Tomitsch &lt;/h3&gt;
&lt;p&gt;What happens when you integrate digital displays into a neighbourhood? They tried using blackboards as a rapid prototype &amp;ndash; &lt;a href="http://neighbourhoodscoreboards.com/"&gt;neighbourhoodscoreboards.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Focus for today... &amp;ldquo;Ubiquitous computing&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Years ago the idea that we would have multiple computing devices on and around us at all times seemed unlikely, but we have that now &amp;ndash; phones, tablets, etc and public devices like screens showing information in public spaces.&lt;/p&gt;
&lt;p&gt;In 1991 Mark Weiser suggested ubiquitous computing would &amp;ldquo;help overcome information overload&amp;rdquo;.&lt;/p&gt;
&lt;blockquote cite="http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html"&gt;
&lt;p&gt;[U]biquitous computers will help overcome the problem of information overload. There is more information available at our fingertips during a walk in the woods than in any computer system, yet people find a walk among trees relaxing and computers frustrating. Machines that fit the human environment, instead of forcing humans to enter theirs, will make using a computer as refreshing as taking a walk in the woods.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Putting information into the periphery may allow us to focus more on what's in front of us. Ambient display of remote information can connect people &amp;ndash; ambient intimacy, similar to twitter. (example of one table having a projection of what's on another, so you can tell someone at the other end is having their morning coffee)&lt;/p&gt;
&lt;p&gt;If you have objects that don't look like computers, would you incorporate it differently into your life? eg. Small glowing ball that indicates data with colour, it could sit in places like the bedroom that you wouldn't have a computer display - because it doesn't look like a computer, even though it accesses data.&lt;/p&gt;
&lt;p&gt;With the drop in cost of screens, people are deploying them in an incredible amount of new places &amp;ndash; on buildings, on buses, on hand dryers! ...although sadly, often just for advertising.&lt;/p&gt;
&lt;p&gt;Smartphones can be quite isolating &amp;ndash; people get immersed in a small screen experience and ignore what's happening around them. Augmented Reality may combat this by merging the two &amp;ndash; make the device more aware and immersed in the reality of the place you're in.&lt;/p&gt;
&lt;p&gt;Personal projectors and AR devices open up a new avenue for personal broadcasting and expression. Early examples are projections over buildings &amp;ndash; mapping the phyiscal so you can project over the top of it. Lots of examples on youtube.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/martintom"&gt;@martintom&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(&lt;a href="#toc"&gt;Top&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="stephenpanderson"&gt;Long after the thrill - Stephen P. Anderson &lt;/h3&gt;
&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/-QdBO2UEJtEg/TprbnQ5UlRI/AAAAAAAAARI/khGMPK8tG8o/s1600/stephenpanderson-speaking.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/-QdBO2UEJtEg/TprbnQ5UlRI/AAAAAAAAARI/khGMPK8tG8o/s400/stephenpanderson-speaking.jpg" border="0" alt="Photo: Stephen on stage" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;a href="http://www.flickr.com/photos/webdirections/6239527093/in/photostream"&gt;Photo by Web Directions&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;How do we get people to fall in love with our applications? ...leads to the next question: &lt;em&gt;How do we get people to stay in love with our applications?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Can we do this by making things more gamelike? ...with the caveat that Stephen thinks it's not really about game mechanics, it's about psychology and what motivates people. Motivation is a better place to start the conversation.&lt;/p&gt;
&lt;p&gt;Humans have an inherent tendency to seek out novelty and challenges, to extend and push themselves. It's wired into us.&lt;/p&gt;
&lt;p&gt;Three attitudes to teaching:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;The &amp;ldquo;apply yourself&amp;rdquo; approach: This stuff is boring. I'll make the best of it but you'll have to work and apply yourself. 
&lt;/li&gt; 
&lt;li&gt;The &amp;ldquo;sugar coating&amp;rdquo; approach: This isn't all that interesting, but I've added some activities to make this more fun for everyone. 
&lt;/li&gt; 
&lt;li&gt;The &amp;ldquo;finding the joy&amp;rdquo; approach: This stuff is really quite interesting! I'll show you why it's important, but first I've got a challenge for you... 
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;games and challenges + goals and rewards = game&lt;/p&gt;
&lt;p&gt;Note if you just add the rewards, it's not a game. That's badgification, not gamification. There's a difference between &lt;strong&gt;making things fun&lt;/strong&gt; and &lt;strong&gt;finding the joy in the topic itself&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;hellip;&lt;/p&gt;
&lt;p&gt;Exercise with the audience:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Think of a game&lt;/li&gt;
  &lt;li&gt;Why does it work?&lt;/li&gt;
  &lt;li&gt;How could you apply that to a web project - how would a time tracking application look/work if it shared the characteristics that made the game successful? &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I thought of a game which unlocks items and features in the game based on challeneges; then when you're done you can do the challenges again on another play-through (armed with your experience).&lt;/p&gt;
&lt;p&gt;This gives continual progression and mastery. Each time you &amp;ldquo;win&amp;rdquo; and hit the top level, you unlock a whole new level to work through (and it gets harder each time).&lt;/p&gt;
&lt;p&gt;So what would a time tracking application look like if it shared these characteristics?&lt;/p&gt;
&lt;p&gt;Completing time faster and more accurately earns points, you can level up as a time tracker. Unlock abilities to block out larger groups of time, at first you can only enter time at the end of one day and not do multiple days, get badges or mods for accruing certain amounts of time against a project.&lt;/p&gt;
&lt;p&gt;&amp;hellip;&lt;/p&gt;
&lt;p&gt;The exercise is good to see a design from a different perspective; and move beyond simple points and badges games.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Farmville + time tracking = entering time several times during the day keeps your farm going.&lt;/li&gt;
  &lt;li&gt;Bubble wrap + time tracking = pop bubbles to enter time.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;...spot the problem though? Adding game mechanics tends to fall into the &amp;ldquo;sugar coating&amp;rdquo; category and they add only a short term layer of fun. They don't keep you interested long term.&lt;/p&gt;
&lt;p&gt;Instead, how do we &lt;strong&gt;find the joy&lt;/strong&gt;? Figure out what really makes games work. Figure out why it's important in the first place. Try using intrinsic motivations instead of extrinsic rewards.&lt;/p&gt;
&lt;p&gt;Do the &amp;ldquo;five whys&amp;rdquo;/laddering. Ask &amp;ldquo;why?&amp;rdquo; five times. Eg &amp;ldquo;why do I even want to track my time?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;aha&amp;rdquo; moment was that Stephen wanted to get better at estimating time &lt;em&gt;to have a more balanced life&lt;/em&gt;. He started doing an estimate of the time that would be used that day; then compare against the reality and work out an accuracy rating.&lt;/p&gt;
&lt;p&gt;Motivators: challenge, curiosity, control, fantasy, competition, cooperation, recognition, self expression...&lt;/p&gt;
&lt;p&gt;The bad news about games: &lt;strong&gt;they eventually end&lt;/strong&gt;. Even World of Warcraft had to be blown up and started over. So if you make things more game-like, they will eventually lose novelty. The honeymoon phase ends.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Delight, unfortunately, doesn't last.&amp;rdquo; - Ralph Koster, game designer&lt;/p&gt;
&lt;p&gt;Stephen put out a question on Quora &amp;ndash; what web apps have you used more than three years, and why? The answers: apps like twitter, facebook; reasons for continued use were things like &amp;ldquo;it does a decent job&amp;rdquo;, &amp;ldquo;it works and they improve it&amp;rdquo;, etc. But there was no love.&lt;/p&gt;
&lt;p&gt;He asked a question about which services continue to delight them? Response: &lt;strong&gt;crickets&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;So ultimately you can get people to stick around by providing a service that is trustworthy and valuable.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Kano_model"&gt;Kano Model&lt;/a&gt; &amp;ndash; comes from industrial design. Two axes: low to high satisfaction; and not implemented to fully implemented. You have basic needs &amp;ndash; features you simply have to build to be in the space. Then you have delighters &amp;ndash; things that are not required, but when added they bring value (however over time they stop delighting people).&lt;/p&gt;
&lt;p&gt;Social Proof - &amp;ldquo;all my friends use Facebook&amp;rdquo;. People go where there friends are, even if there's a better tool somewhere else.&lt;/p&gt;
&lt;p&gt;Personal Narratives &amp;ndash; stories. People have stories in their head that inform what they are doing.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://getmentalnotes.com/"&gt;Getmentalnotes.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/stephenanderson"&gt;@stephenanderson&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(&lt;a href="#toc"&gt;Top&lt;/a&gt;)&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Day Two.&lt;/p&gt;
&lt;h3 id="mikekuniavsky"&gt;Design [in|for|and] the age of ubiquitous computing - Mike Kuniavsky &lt;/h3&gt;
&lt;p&gt;
&lt;a href="http://4.bp.blogspot.com/-km-xvCA4bPU/TpwtKCTRhTI/AAAAAAAAARU/bais7oXqw84/s1600/Mike-Kuniavsky-speaking.jpg"&gt;&lt;img class="right" src="http://4.bp.blogspot.com/-km-xvCA4bPU/TpwtKCTRhTI/AAAAAAAAARU/bais7oXqw84/s400/Mike-Kuniavsky-speaking.jpg" border="0" alt="Photo: mike on stage" /&gt;&lt;/a&gt;

Talk based on Mike's experience designing experiences for things &lt;em&gt;other&lt;/em&gt; than computers &amp;ndash; gasp!&lt;/p&gt;
&lt;p&gt;Looking at the history of technology... papyrus was disruptive: it changed society in ancient Egypt because writing suddenly became orders of magnitude easier... then more people wrote, the scribes gained a huge amount of power, people started having ideas and asking questions like &amp;ldquo;why is it only the pharoah that goes to heaven?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;To protect power, the pharoah made scribes into a higher role in order to control them &amp;ndash; they reported only to the pharaoh. Control was re-established. There was no clear intention from the people who created papyrus that they were trying to threaten the order of their society... it just happened.&lt;/p&gt;
&lt;p&gt;The lesson from this is that technology &lt;strong&gt;always&lt;/strong&gt; has unintended consequences. We may feel like we can predict it but we are mostly looking at the small pieces that make up the whole.&lt;/p&gt;
&lt;p&gt;We're on the upslope of a change now &amp;ndash; that of ubiquitous computing.&lt;/p&gt;
&lt;p&gt;In 1989 a 486 chip cost $1500, in 2011 it's fifty cents. The cost has plummeted and the power has gone vastly up. (Moore's law)&lt;/p&gt;
&lt;p&gt;Saying the cloud is good for having your data and processing done elsewhere (thin clients) is like saying steam engines are good for pumping water out of mines. Sure, steam engines were good for that &amp;ndash; but they were also good for creating the industrial revolution.&lt;/p&gt;
&lt;p&gt;We are getting used to the idea of &amp;ldquo;information as a material&amp;rdquo; - we are comfortable putting chips and connectivity into everyday things. It no longer seems crazy. BlendTec have &amp;ndash; for a long time &amp;ndash; had a programmable blender. The blender can have knowledge about making things programmed in. This means it can have buttons that reproduce a series of blending actions determined in a food lab &amp;ndash; smoothie chains don't have to teach their staff all the finer points.&lt;/p&gt;
&lt;p&gt;Modern small aircraft controls now look rather like a flight simulator... that flies. But more importantly small computers have replaced mechanical parts, which means they can act in more sophisticated ways &amp;ndash; they can react to data.&lt;/p&gt;
&lt;p&gt;Connecting the real world and the information world has been hard &amp;ndash; we have restaurants, we have ratings services. But we end up with stickers on the door telling people they can make use of the rating service. To put it another way, the sticker is telling people their current location has an information shadow.&lt;/p&gt;
&lt;p&gt;Having access to services on our devices breaks down the online/offline view. We don't think online or offline, we think &amp;ldquo;use YouTube&amp;rdquo;... on pc, phone, tablet. Mike names this a move to devices being &lt;em&gt;avatars for services&lt;/em&gt;. Your phone becomes a convenient way to take your Flickr photos with you. &lt;/p&gt;
&lt;p&gt;Kindle has the &amp;ldquo;buy once, read anywhere&amp;rdquo; approach &amp;ndash; they don't care what device you use, because they know you're simply accessing their service. The Kindle Fire can be considered a physical representation of Amazon's entire digital inventory &amp;ndash; it's &lt;em&gt;incidentally&lt;/em&gt; an iPad competitor.&lt;/p&gt;
&lt;p&gt;This all makes the &lt;strong&gt;service design&lt;/strong&gt; a key challenge. Designing a service that works across all these service avatars &amp;ndash; all the devices/ways/places people will access the core service.&lt;/p&gt;
&lt;p&gt;Mike suggests ubiquitous computing really &amp;ldquo;started&amp;rdquo; in 2005 (updated roombas, elmos, etc). This makes the movement really young, it's really early days. So we can barely understand even the shape of the elephant in the room.&lt;/p&gt;
&lt;p&gt;We don't have a good mental model for how we relate to things linked from virtual to physical. Examples: &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Germany's &amp;ldquo;call a bike&amp;rdquo; service where you ring a bike to book it, and when you're done and lock it up the time spent is billed to the bike. You don't own a bike, you own the possibility of using a bike when you want to. &lt;/li&gt;
  &lt;li&gt;Fashion rental/subscription services (eg. Bag, Borrow or Steal) operate on the idea of paying for the possibility space of &amp;ldquo;whatever the fashionable bag is right now&amp;rdquo; instead of owning any one bag. Maybe in the future we'll simply subscribe to brands and access whatever's suitable for where you are at the time, even across cities and climates.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Perhaps the most profound effect is our increasing reliance on embedded logic and services. We are generally happy for Google Maps to give us a route to get somewhere &amp;ndash; allowing for the odd time it gets it hilariously wrong. San Francisco has implemented &lt;a href="http://sfpark.org/"&gt;sfpark.org&lt;/a&gt; which senses the presence of a car in a space. The data is then used to locate open parking spaces; it pays for itself by telling parking rangers where there's a car parked by an expired meter; but it also has a self-updating pricing algorithm to charge more in high-demand areas.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Quantified self movement&amp;rdquo; - using devices to monitor themselves and their lives, so you can optimise your body and your life. Fit Bit monitor, body meters, sleep sensor by Zeo... devices to monitor your life at a very personal level. The devices are all built with the assumption of being connected to things &amp;ndash; they are not useful on their own. They introduce extrinsic rewards for doing things, but they're based on algorithms rather than what we consciously want. Critically though we have to trust the objectivity of the devices.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.waterpebble.com/"&gt;Water Pebble&lt;/a&gt; &amp;ndash; a little device that times your showers, then slowly reduces the time it allows. The idea is to reduce water uses. However it reduced beyond what Mike could keep up with, so in the end it stopped helping change behaviour and simply &amp;ldquo;sat there blinking red, mocking my inability to change&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;We end up negotiating with devices &amp;ndash; we want to reason with them, to explain we can't shower in that short amount of time after all and give us a break.&lt;/p&gt;
&lt;p&gt;Things have unintentional consequences. Social media and mobile phones provided a disruptive technology that led to massive social change in Egypt &amp;ndash; this year! Any technology which can be used to share cute cat pictures can also be used to overthrow a government.&lt;/p&gt;
&lt;p&gt;While we have a responsibility to keep working and designing new things, we must not forget things have unintended consequences.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/mikekuniavsky"&gt;@mikekuniavsky&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(&lt;a href="#toc"&gt;Top&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="rellyannettbaker"&gt;All the small things - Relly Annett-Baker &lt;/h3&gt;
&lt;p&gt;Little details are important but often get ignored. &lt;/p&gt;
&lt;p&gt;A caveat: this talk should not need to exist! In a perfect world all projects would have dedicated copywriters (&amp;ldquo;ha ha ha!&amp;rdquo;). &lt;/p&gt;
&lt;p&gt;Another caveat: Relly does not code or design, so if she says something dumb please excuse it! She's made a career of asking stupid questions from smart people &amp;ndash; it lets her take on that wisdom.&lt;/p&gt;
&lt;p&gt;(I cannot match the way Relly tells the story of a man trying buy a drink at a bar and being bounced around with lack of instructions &amp;ndash; forced to extract every last painful detail, then told to go buy the same gin in another room... much like &amp;ldquo;paypal will handle your transaction...over there...good luck...&amp;rdquo;)&lt;/p&gt;
&lt;p&gt;People who are trying to use the web and buy things want things to be easy and understandable. This is essentially why music piracy took off in the early days &amp;ndash; it was just so much easier. Itunes had a lot of success by being easy to use.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Even the internet wants to get paid on fucking Fridays&amp;rdquo; - Dave McClure&lt;/p&gt;
&lt;p&gt;Although the internet started out with a few geeks connecting some computers... someone said &amp;ldquo;I know, let's connect a BANK to this and we can SELL shit!&amp;rdquo; Now it's developers' jobs to build things, but it's often devs who end up writing instructional copy.&lt;/p&gt;
&lt;p&gt;We can learn a lot from game design when we approach interaction copy. Games teach you to play: Super Mario Brothers, level one, teaches you need to dodge the mushroom-esque Goombas, or you'll die &amp;ndash; in fact most of us died this way at least once:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://1.bp.blogspot.com/-HXZdUwkcwok/TprWAmjmjAI/AAAAAAAAAQk/bXapKv8h2UU/s1600/super-mario-bros-duck-hunt-u-_001.jpg" alt="Screenshot of Mario dying at the very first Goomba" /&gt;&lt;/p&gt;
&lt;p&gt;But you also need to get the actual mushrooms for power-ups. So the power up mushroom is almost impossible to dodge, so you get hit by it... and discover it's a power up. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You didn't feel like you were learning, you felt like you'd succeeded&lt;/strong&gt;. Then when you killed the goombas a little score number popped up inline &amp;ndash; which was revolutionary at the time. You learned you were building a score.&lt;/p&gt;
&lt;p&gt;Example: the Huffduffer signup form, which is done in &amp;ldquo;madlibs&amp;rdquo; style rather than a big form. Everyone can fill out this form, it's conversational and understandable.&lt;/p&gt;
&lt;p&gt;To explain instructional copy, look at text games &amp;ndash; get lamp, light lamp, etc. Whole games were based on text instructions and four-line descriptions of places... and this sparseness has persisted to the modern web: &amp;ldquo;make it shorter, clip it, put a picture there instead...&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Text adventures have now evolved into &amp;ldquo;interactive fiction&amp;rdquo;. eg. &amp;ldquo;Violet&amp;rdquo; by Jeremy Freese. Also &amp;ldquo;The Big Orb&amp;rdquo; which is quite silly but shows how to write instructions, you know how to use it &amp;ldquo;...which is more than you can say about most websites&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;404 pages: &amp;ldquo;Welcome to the abyss, only the back button can save you now!&amp;rdquo; Hitting errors is like death &amp;ndash; and the more you die, the less you want to keep trying.&lt;/p&gt;
&lt;p&gt;People don't like explaining things &amp;ndash; they think it's boring, doesn't look good, etc... but actually explaining things increases trust in your site and your brand. Trust is hugely important. People will keep using businesses they trust, even if things go wrong &amp;ndash; we trust them to fix it.&lt;/p&gt;
&lt;p&gt;Example where a bank released an iphone app, but staff in local branches couldn't confirm if it was a legitimate application. One staff member said &amp;quot;oh, well it must be ours it has our logo on it...&amp;quot; &lt;/p&gt;
&lt;p&gt;The bank should have been prepared for enquiries &amp;ndash; they had only done part of the job. &amp;ldquo;You want inbox zero, not inbox shit-ton&amp;rdquo;... doing a half-arsed job of fixing something is only a short term fix, it's a bad shortcut. It results in emails because things go wrong. &lt;/p&gt;
&lt;p&gt;Try buying things out of your comfort zone &amp;ndash; see what the experience is like. It's mostly terrible! ...and the users hate you for it! Businesses like Amazon only have to be &lt;em&gt;marginally better&lt;/em&gt; than others to be successful. &lt;/p&gt;
&lt;p&gt;Surely we can shoot for something more than Marginally Better.&lt;/p&gt;
&lt;p&gt;Start with forms...&lt;/p&gt;
&lt;p&gt;Book recommendation: &amp;ldquo;Forms That Work&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Helper text is good - &amp;ldquo;Enter Your Billing Address&amp;rdquo; is a bit obscure, but adding &amp;ldquo;Where is your credit card information sent?&amp;rdquo; explains the form field in a simple, understandable way. People don't say &amp;ldquo;billing address&amp;rdquo; but they know where they live.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Use text that describes the user's goal.&amp;rdquo; - (source missed...) eg. If the button sends the form, simply say &amp;ldquo;Send&amp;rdquo; don't mess about with icons and pictures of letters.&lt;/p&gt;
&lt;p&gt;Also be audience specific, eg. a UK site with an older average age has &amp;ldquo;I wish to make my purchase&amp;rdquo; buttons instead of &amp;ldquo;check out&amp;rdquo;... this is language that makes sense to the user. UK shoppers don't &amp;quot;check out&amp;quot;. &lt;/p&gt;
&lt;p&gt;Save users time by pre-filling fields if you can do it &amp;ndash; ask &amp;ldquo;have you purchased through this site before&amp;rdquo; rather than telling them &amp;ldquo;go log in&amp;rdquo;. &lt;/p&gt;
&lt;p&gt;&amp;ldquo;Don't make me bugger about!&amp;rdquo; - Relly&lt;/p&gt;
&lt;p&gt;Give people good feedback on failed form submission &amp;ndash; do it inline, contextual help is better than a big list way back up at the top.&lt;/p&gt;
&lt;p&gt;Back to 404s... Smashing Magazine held a competition to design a 404 page and the winning entries were mostly terrible, in fact some were less useful than the default apache error message which at least attempts to explain what 404 even means.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;It's not enough for your website to be usable. That's like saying a meal should be edible.&amp;rdquo; - Cennydd Bowles&lt;/p&gt;
&lt;p&gt;404 pages should give people options to proceed &amp;ndash; show people the prime content they are probably looking for anyway, explain what to do next. Don't make it a dead end.&lt;/p&gt;
&lt;p&gt;Site recommendations: Abtests.com, bokardo&lt;/p&gt;
&lt;p&gt;Best slide: &amp;ldquo;When all else fails, crowbar the fucker&amp;rdquo;&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://2.bp.blogspot.com/-FcD4CBM2lvc/TprVhO3NHUI/AAAAAAAAAPQ/rxbXdyj6L3Y/s1600/crowbar-small.gif"&gt;&lt;img src="http://2.bp.blogspot.com/-FcD4CBM2lvc/TprVhO3NHUI/AAAAAAAAAPQ/rxbXdyj6L3Y/s400/crowbar-small.gif" alt="When all else fails, crowbar the fucker" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Don't try to ram inappropriate copy into places it doesn't fit! Write it properly.&lt;/p&gt;
&lt;p&gt;Error messages... don't give cryptic messages with no hints on how to correct the problem. You can use some friendlier language, you can provide pathways to help right where things have hit a problem.&lt;/p&gt;
&lt;p&gt;Passwords and logins... try to remember your users aren't like you, have some empathy for your users. Relly changed an error message from &amp;ldquo;oh no something has gone wrong!&amp;rdquo; to &amp;ldquo;oh dear, we have a problem. Let's fix it.&amp;rdquo; Being alarmist will make users stressed, being friendly helps them get on with fixing the situation. &lt;/p&gt;
&lt;p&gt;Terrible example: &amp;ldquo;passwords with the letter I in the third position are not supported&amp;rdquo; &amp;hellip;.WTF?!&lt;/p&gt;
&lt;p&gt;Take away:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;State the error&lt;/li&gt;
  &lt;li&gt;Explain the error&lt;/li&gt;
  &lt;li&gt;Create a path to resolution&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Easy!&lt;/p&gt;
&lt;p&gt;Legalese and Ts and Cs... iTunes has 90 pages of T&amp;amp;Cs, this is terrible, people don't read that.&lt;/p&gt;
&lt;p&gt;If you don't have a content strategy you need one. Get a copy of &amp;ldquo;Content Strategy&amp;rdquo; by Kristina Halvorsen. &lt;/p&gt;
&lt;p&gt;Toolkit:&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;Good placeholder copy. It might end up online... 
 &lt;li&gt;Have a style guide &amp;ndash; how should things sound? What tone should it have?
&lt;/ul&gt;
&lt;p&gt;Take the time to test and the time to write. You can absolutely ruin your site with a bad form at the end. You need to be less annoying than Barney the dinosaur &amp;ndash; surely you can manage that!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/RellyAB"&gt;@RellyAB&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(&lt;a href="#toc"&gt;Top&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="rahulsen"&gt;Interaction Design Bauhaus - Rahul Sen &lt;/h3&gt;
&lt;p&gt;&lt;em&gt;What history can teach us,&lt;/em&gt;&lt;br&gt;
  &lt;em&gt;While designing our digital futures&lt;/em&gt;&lt;br&gt;
  &lt;em&gt;For people&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Rahul's background is about interaction design with products, rather than the web. His thoughts about this talk began when he was using Spotify on Windows Phone... he fell in love with the &lt;a href="http://en.wikipedia.org/wiki/Metro_(design_language)"&gt;Windows Phone &amp;quot;Metro&amp;quot; design language&lt;/a&gt;. It made him question the ideas of what we consider &amp;ldquo;beautiful&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;As a designer it made Rahul challenge and question the user experiences he was working with.&lt;/p&gt;
&lt;p&gt;Metro recap: &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;clean, light, open and fast. &lt;/li&gt;
  &lt;li&gt;Celebrate typography. &lt;/li&gt;
  &lt;li&gt;Alive in motion. &lt;/li&gt;
  &lt;li&gt;Content, not chrome. &lt;/li&gt;
  &lt;li&gt;Emphasises &amp;ldquo;authentically digital&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Specifically avoids skeuomorphism, eg. from the guidelines:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Favor Practical Operation over Realism.&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;Generally speaking, applications should not have custom controls that seek to mimic real life. For example, the FM Radio feature in the preloaded Zune application does not use a dial, knob, or series of buttons to control the choice of station.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://1.bp.blogspot.com/-nwjqPM5U5Fo/TprV0Dl8-kI/AAAAAAAAAPw/e9C5srmFirY/s400/metro-radio-player.png" alt="Example of design taken from Metro documentation - clean, flat, no fake buttons or dials" /&gt;&lt;/p&gt;
&lt;cite&gt;(&lt;a href="http://msdn.microsoft.com/en-us/library/hh202895(v=VS.92).aspx"&gt;Implementing Windows Phone Application Design&lt;/a&gt;)&lt;/cite&gt;
&lt;/blockquote&gt;
&lt;p&gt;Difference between evolution and revolution... think of revolution as a circle, disrupted. Something that sends things onto a different trajectory. Evolution becomes revolution at a point when a conscious choice and effort is made to do something different.&lt;/p&gt;
&lt;p&gt;We don't just have known revolutionaries, history is full of faceless revolutionaries and people who were recognised after their time. Look back from Apple to Dieter Rams, what happened in the past informs what happens now and next.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://2.bp.blogspot.com/-xb3VNJ9wxV8/TprVgrDHemI/AAAAAAAAAOs/DN8MpFnUvmM/s1600/braun-vs-apple.jpg" alt="Comparison of Braun and Apple products which shows clear inspiration" /&gt;&lt;/p&gt;
&lt;p&gt;Aside: interesting how people have to put huge disclaimers ahead of critiquing anything about Apple. We should not make it so hard to discuss things that are just &lt;em&gt;products&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;iOS5: why did they put embossed leather design in? Isn't interaction design rebelling against this? Aren't we trying to design authentically digital experiences?&lt;/p&gt;
&lt;p&gt;Idea of Shiva as an agent of &amp;ldquo;proactive destruction&amp;rdquo; - clearing the old to make way for the new.&lt;/p&gt;
&lt;p&gt;Let pixels BE pixels. Let's not make pixels look like leather!&lt;/p&gt;
&lt;p&gt;We also still inhabit physical places, although the physical and digital aspects of our lives are converging. We live in Sydney, but also on Facebook. They're not perfect but we stay there.&lt;/p&gt;
&lt;p&gt;We inhabit &lt;strong&gt;built spaces&lt;/strong&gt; which have scripts. Things like facebook are simply objects.&lt;/p&gt;
&lt;p&gt;Book: What Technology Wants &amp;ndash; Kevin Kelly&lt;/p&gt;
&lt;p&gt;Technology is an extension for ourselves, new forms of containers and shelters. Our devices connect us to people. But we are still nostalgic when we design for these devices, as though we are still envious of the physical objects and need to pretend to be physical even though we are working in the digital.&lt;/p&gt;
&lt;p&gt;Very similar to the industrial Bahaus before, we are in an IxD Bauhaus. &lt;/p&gt;
&lt;p&gt;Rewind to the 1800s...&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://1.bp.blogspot.com/-iqOculoNUrU/TpwuCxlLLSI/AAAAAAAAARs/3DlWK9ALcJU/s1600/victorhortastaircase.jpg"&gt;&lt;img class="right" src="http://1.bp.blogspot.com/-iqOculoNUrU/TpwuCxlLLSI/AAAAAAAAARs/3DlWK9ALcJU/s200/victorhortastaircase.jpg" border="0" alt="Photo: heavily ornamented art nouveau staircase" /&gt;&lt;/a&gt;

In that time, there was a great deal of nature envy &amp;ndash; buildings mimicked nature, cathedrals mimicked forests. This climaxed with art nouveau &amp;ndash; everything was flowy, floral, nature inspired. There was an envy of nature apparent in design of spaces.&lt;/p&gt;
&lt;p&gt;Enter Mies van der Rohe - &amp;ldquo;less is more&amp;rdquo;. This led to exploration of what an &amp;ldquo;honest space&amp;rdquo; should be... example: Barcelona Pavilion. It was fresh and clean; celebrated light and openness; had plain walls. This challenged the notion of &amp;ldquo;what is architecture&amp;rdquo;. Then the Internation Style emerged, celebrating structure &amp;ndash; there is no &amp;ldquo;makeup&amp;rdquo; on features, they are simply and cleanly what they are - unadorned. &lt;/p&gt;
&lt;p&gt;The Bauhaus freed people from history and started a clean slate. Reduction, purity, production, order.&lt;/p&gt;
&lt;p&gt;Some people did react negatively to it &amp;ndash; some felt it didn't resonate, it was too clinical and they didn't feel comfortable there. Movie &amp;ldquo;Playtime&amp;rdquo;, 1967... critique of Bauhaus and how uncomfortable people felt in these new, neat, clean spaces.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/-9DOs8-Z-YAQ/TprV0kQI6kI/AAAAAAAAAQU/euMnReNCNds/s1600/play-time-2.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/-9DOs8-Z-YAQ/TprV0kQI6kI/AAAAAAAAAQU/euMnReNCNds/s400/play-time-2.jpg" alt="Still from Play Time" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Criticisms of Bahaus were that it was monotonous, inhuman, sterile, elitist.&lt;/p&gt;
&lt;p&gt;The next movement was Post-Modernism, which attempted to look back and &lt;em&gt;include history &lt;/em&gt;as well as &lt;em&gt;move forward&lt;/em&gt;. Wit, reference, deconstruction, ornament.&lt;/p&gt;
&lt;p&gt;Aside: I never ever like to write down any thought or idea about Post-Modernism. It's too bloody hard to avoid arguments about what &amp;ldquo;is&amp;rdquo; postmodern(ist)(ism)...&lt;/p&gt;
&lt;p&gt;Progress from 1800 to 2000: Nature envy &amp;rarr; functionalism &amp;rarr; wit, ornament, reference.&lt;/p&gt;
&lt;p&gt;History is rhyming: Mondrian placed next to Windows Phone &amp;ndash; clean lines and boxes!&lt;/p&gt;
&lt;p&gt;Realism Envy: desktop UI with &amp;ldquo;notebooks&amp;rdquo;, fake bookshelves on book readers... physical mimicry, skeuomorphism. Web progress since the 70s: Early GUI &amp;rarr; real world desktop metaphors &amp;rarr; &amp;ldquo;the web look&amp;rdquo; &amp;rarr; skeuomorphism....&lt;/p&gt;
&lt;p&gt;Rahul observes the IXD Bahaus as a way to move past skeuomorphism. A return to purity and honesty in visual interaction experiences. (full quote too long to transcribe)&lt;/p&gt;
&lt;p&gt;We should embrace the new opportunities offered by technology &lt;em&gt;in addition&lt;/em&gt; to the old. A networked, digital, interactive copy of a book is in some ways &lt;em&gt;more&lt;/em&gt; than the book on paper alone. So why don't interfaces reflect this?&lt;/p&gt;
&lt;blockquote cite="http://www.3quarksdaily.com/3quarksdaily/2011/02/against-chrome-a-manifesto.html"&gt;
&lt;p&gt;&amp;ldquo;I say that flat is the new black; that 2D is the new avant-garde; that a surface doesn't have to be ashamed of being a surface.&amp;rdquo;&lt;/p&gt;
&lt;cite&gt;Stephen Poole&lt;/cite&gt;
&lt;/blockquote&gt;
&lt;p&gt;We get carried away by &amp;ldquo;material resolution&amp;rdquo;. Plastic, concrete, paint, pixels... whenever we have been given a new tool, the first works or iterative uses are always over-the-top. Things are initially used to the absolute limit, before we pull back...&lt;/p&gt;
&lt;p&gt;But we start by mimicking things:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;plastic &amp;rarr; wood&lt;/li&gt;
  &lt;li&gt;concrete &amp;rarr; nature&lt;/li&gt;
  &lt;li&gt;paint &amp;rarr; realism&lt;/li&gt;
  &lt;li&gt;pixels &amp;rarr; objects&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Drivers for construction: modular, prefab, abstraction... for pixels, what will it be?&lt;/p&gt;
&lt;p&gt;Moving forward requires re-learning, like learning escalators after stairs. Staircases are an international standard... and yet no two staircases are the same. They have their own context, they can be different but remain functional. &lt;/p&gt;
&lt;p&gt;Fundamental difference between the build and digital architecture: built architecture decays with time, digital architecture grows with time. (Aside: arguable, see the concern that we are in a period that will be a Digital Dark Age.)&lt;/p&gt;
&lt;p&gt;The fact we are dealing with time and content suggests an inevitable growth.&lt;/p&gt;
&lt;p&gt;Pyramid of user experience: three layers. Physical, Cognitive, Emotional (at the top). Start with simple functionality, move up to things which are usable and convenient, finally reaching things which are meaningful and pleasurable to use.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Let's rid ourselves of this excessive baggage of skeuomorphism.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Five principles:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Think lateral.&lt;/li&gt;
  &lt;li&gt;Avoid literal.&lt;/li&gt;  
  &lt;li&gt;Be true to material.&lt;/li&gt;
  &lt;li&gt;Let content speak.&lt;/li&gt;
  &lt;li&gt;&amp;ldquo;Brutally reduce&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;hellip;&lt;/p&gt;
&lt;p&gt;Q: how do you think this relates to children using devices? Will Metro struggle bridging that gap?&lt;/p&gt;
&lt;p&gt;A: When we worked with architecture, Bauhaus architecture specifically, the parapets were simple frames of steel. People asked what would happen when children came to the building? They'd walk right through and fall! But treat minimalism and the bauhaus as a &lt;strong&gt;beginning&lt;/strong&gt; and work out which user groups which need to be brought back into a different frame. We need to go through this phase of putting down the rucksack, remove the burden, then put back what we really need into that rucksack. Find what needs to go back and put it back, rightly so.&lt;/p&gt;
&lt;p&gt;&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/rahulsen79"&gt;@rahulsen79&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;See also: &lt;a href="http://johnnyholland.org/2011/04/18/the-ixd-bauhaus-what-happens-next/"&gt;Rahul has blogged about this topic on Johnny Holland magazine&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;(&lt;a href="#toc"&gt;Top&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="dmitrybaranovskiy"&gt;The origins of magic - Dmitry Baranovskiy &lt;/h3&gt;
&lt;p&gt;&amp;ldquo;This is my first non-technical talk, so it's probably going to suck. I don't know why you came.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The internet is awesome, it's amazing. But what's more amazing is us &amp;ndash; the developers, who create the web. To people outside, we look like magicians already.&lt;/p&gt;
&lt;p&gt;It's a magical process: start with nothing &amp;rarr; end with something.&lt;/p&gt;
&lt;p&gt;People grumbling about it is the same as grumbling about long haul flights... when YOU'RE FLYING!&lt;/p&gt;
&lt;p&gt;Dmitry's favourite magician is Einstein.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I have no special talent. I am only passionately curious.&lt;/p&gt;
&lt;cite&gt;Albert Einstein&lt;/cite&gt;
&lt;/blockquote&gt;
&lt;p&gt;To Dmitry what Einstein did is magic, none of it makes sense to him but it works.&lt;/p&gt;
&lt;p&gt;Would break web devs into two big groups: there are the tradesmen, the plumbers, who turn up and do thing and go away. Then there are people who are passionately curious, they are trying to make things that other people think are impossible... and when they achieve, we are all richer.&lt;/p&gt;
&lt;p&gt;Three parts to a magic trick: the pledge, the turn, then the prestige. &lt;/p&gt;
&lt;iframe width="640" height="360" src="http://www.youtube.com/embed/8Iry0vxiOjA" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;ol&gt;
 &lt;li&gt;The pledge: take something ordinary. HTML, CSS, JS...&lt;/li&gt;
 &lt;li&gt;The turn: make something people don't expect.&lt;/li&gt;
 &lt;li&gt;The prestige: view source. Show how it's done, unlike magic tricks.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The more tricks we reveal, the more we expand what's possible, we push the boundaries. That's how the web evolves. &lt;/p&gt;
&lt;p&gt;What does it take to be a magician? Skills? Bullshit! Skills are good, they help, but it's not skills that make people magicians &amp;ndash; it's curiosity.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Most people say that is is the intellect which makes a great scientist. They are wrong: is is the character.&lt;/p&gt;
&lt;cite&gt;Albert Einstein&lt;/cite&gt;
&lt;/blockquote&gt;
&lt;p&gt;What do you have to do to become a magician? &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fight demons. &lt;/strong&gt;You fight them, you win, you can make magic. What demons?&lt;/p&gt;
&lt;ul&gt; &lt;li&gt;   &lt;p&gt;&amp;ldquo;All those guys are way smarter than me...&amp;rdquo; But how do you know? You don't know, so why do you think they're smarter? Fuck it, just do it! Don't compare yourself with anybody.&lt;/p&gt; &lt;li&gt;   &lt;p&gt;&amp;ldquo;Will it bring me money?&amp;rdquo; Most success is an accident. A planned, prepared accident. They prepared but it could just as easily fail as succeed. Dmitry didn't expect anything from Raphael &amp;ndash; first day he put it on his blog, he got 8000 hits and it killed his hosting. Secret to success is to do the right thing all the time, until the right time comes along &amp;ndash; that match is success. That's hard, but it's worth it.&lt;/p&gt; &lt;li&gt;   &lt;p&gt;&amp;ldquo;What if I fail?&amp;rdquo; Web dev you do for yourself is cheap &amp;ndash; it really only loses you time. But you still gained experience. Maybe you didn't become successful, famous, whatever. But it's not a reason to no try. If you don't try, you are losing by default. If you are trying, you have a chance to win. So wouldn't you take the change?&lt;/p&gt; &lt;li&gt;   &lt;p&gt;&amp;ldquo;I am too old for this.&amp;rdquo; Younger people have no kids, no responsibility, lots of time... when Dmitry created Raphael he was thirty, had a wife, kid, full time job. He created Raphael on the train on a laptop. &amp;quot;There is all this time. There's all this excuses... fuck them!&amp;quot;&lt;/p&gt;
&lt;/ul&gt;
&lt;p&gt;These are demons inside, you have to fight them. When you fight them you become free and you find there is a source of energy you didn't know about. Magic happens. You make something.&lt;/p&gt;
&lt;p&gt;Then you release it and you will encounter a new demon: trolls. They will tell you that you suck. This is really hard. They want to kill you, kill your magic &amp;ndash; because they are not magicians and they suck. You have to fight them. Either don't reply, or hit back so hard they simply don't come back. &lt;/p&gt;
&lt;p&gt;And don't be a troll yourself. Don't stop others' magic, create your own. Old russian proverb: some people raise by growing up above others, other people raise by pushing others down. We do it sometimes, Dmitry points out even he does it sometimes, but we should not.&lt;/p&gt;
&lt;p&gt;Most of the time we suck at something it's not because we are bad. It's because we are looking for excuses not to do things. &lt;/p&gt;
&lt;p&gt;Everyone wants to be fit, but we don't do the work. Everyone can do 100 pushups in a year, but very few people actually do it.&lt;/p&gt;
&lt;p&gt;&amp;quot;Enough excuses. Excuses, excuses, excuses, excuses, excuses, stop it! Stop sucking.&amp;quot;&lt;/p&gt;
&lt;p&gt;Don't worry about how big an impact you make. The internet means you can broadcast to anyone. You tweet something 100 people read, it's more people than in this room.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Anyone who has never made a mistake has never tried anything new.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;People tend to forgive your failures and celebrate your successes.&lt;/p&gt;
&lt;p&gt;You can help people in many ways and you receive positive energy back... which helps you make more magic.&lt;/p&gt;
&lt;p&gt;Normal things are magic for people who don't know how they work. It's fun to do magic for people who already think you're a wizard, but it's more fun to do magic for magicians.&lt;/p&gt;
&lt;p&gt;(Showed the hilarious movie clip from Your Highness, finishing with &amp;ldquo;magic, motherfucker&amp;rdquo;)&lt;/p&gt;
&lt;iframe width="640" height="360" src="http://www.youtube.com/embed/32Teg-CwVW0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;Nothing prevents you doing this, except you. So go and do magic... motherfucker.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/dmitrybaranovsk"&gt;@dmitrybaranovsk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(&lt;a href="#toc"&gt;Top&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="gregrewis"&gt;CSS3 Transforms - Greg &amp;ldquo;Wickedly Cool&amp;rdquo; Rewis&lt;/h3&gt;
&lt;h4&gt;Transforms&lt;/h4&gt;
&lt;p&gt;What are transforms? The same thing as scale, rotate, skew in Photoshop! Plus there's another called translate, which wasn't as immediately familiar.&lt;/p&gt;
&lt;p&gt;Transforms... can be applied to anything, they are applied immediately at the time the page is rendered, they apply to all children of the transformed element (pars in a rotated div will also be rotated), you can apply them to generated content and pseudo selectors.&lt;/p&gt;
&lt;p&gt;So, you can get things to scale on load, or you can get things to scale on :hover. &lt;/p&gt;
&lt;p&gt;Remember to put vendor specific prefixes first and non-prefixed version last. If you aren't sure about prefixes, use a service like CSS3 Prefixer.&lt;/p&gt;
&lt;p&gt;Scale, skew, rotate &amp;ndash; does what they say. Note some things need units of measure and other don't. Translate: means move. You give it x and y and move things.&lt;/p&gt;
&lt;p&gt;Example for syntax:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.foo {&lt;br&gt;
&lt;/code&gt;&lt;code&gt; transform: scale(2) rotate(45deg);&lt;/code&gt;&lt;br&gt;
  &lt;code&gt;}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This example will happen together, instantaneously.&lt;/p&gt;
&lt;p&gt;By default all transforms occur around the &lt;strong&gt;centre of the object&lt;/strong&gt;, which is the origin. You override this with...&lt;/p&gt;
&lt;p&gt;&lt;code&gt;transform-origin: 100% 100%;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;(100% on both x and y. You can also use keywords like top, left, etc)&lt;/p&gt;
&lt;p&gt;Note the CSS3 tranform property does not affect the box model, even if it appears to change the stacking order.&lt;/p&gt;
&lt;p&gt;Remember... if you can, you should! (actually no, he's kidding!). So you can go crazy! ...but you want to be sure things are going to render. Do feature testing.&lt;/p&gt;
&lt;p&gt;Start with a simple check, where you remove no-js with Javascript: &lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;html class=&amp;rdquo;no-js&amp;rdquo;&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;...add Modernizr to check what's working. You can then style according to what's available. You can also add filters for IE, but really only feed the dinosaur if you really have to &amp;ndash; filters are slow, sluggish, bad to use.&lt;/p&gt;
&lt;h4&gt;Transitions&lt;/h4&gt;
&lt;p&gt;&amp;ldquo;IE10 is a modern browser, IE9 is just a wannabe... at least in terms of transitions.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;What are transitions? Basically a smoother version of the old way of changing colours and states eg. background colour on hover.&lt;/p&gt;
&lt;p&gt;Only &amp;ldquo;animatable CSS properties&amp;rdquo; can have transitions. While that means almost everything, a notable gap is background images. They don't work.&lt;/p&gt;
&lt;p&gt;Anatomy of a transition: start keyframe, end keyframe, with tweens rendered by the browser between the two. Familiar ground for Flash developers. &lt;/p&gt;
&lt;p&gt;This translates to the style for the initial element design, then a second style for the transitioned result. You specify which properties you will transition, with transition-property. Note if you do a transition on something which affects the box model (eg. padding), other elements &lt;strong&gt;will&lt;/strong&gt; be affected. &lt;/p&gt;
&lt;p&gt;You can set a duruation:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;transition-duration: 2s;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;p&gt;&lt;code&gt;transition-duration: 500ms;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;...note these are not precise, the actual elapsed time will vary across browsers.&lt;/p&gt;
&lt;p&gt;Don't just think about transitions being about hovers &amp;ndash; you can trigger them with things like media queries. (example with the page changing from morning, afternoon, evening in response to window width)&lt;/p&gt;
&lt;p&gt;Transition speed is linear by default, but you can modify that with transition-timing-function, which adds easing options like ease, ease-out, etc. Try using Ceasar (easing tool) to try out the properties to see how they look (plus it gives you the code).&lt;/p&gt;
&lt;p&gt;By default transitions play immediately. You can override with transition-delay, with a seconds or miliseconds delay.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;...oh by the way, don't ever do that to your navigation!&amp;rdquo;&lt;/p&gt;
&lt;p&gt;You can rack up multiple durations, delays etc. Tranforms accept multiple comma-separated values and they map between properties. You can also write it all into one huge shorthand transition:.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Raise your right hand and repeat after me, I will never do the following...&amp;rdquo; (crazy example)&lt;/p&gt;
&lt;p&gt;You can apply this to &lt;code&gt;::before&lt;/code&gt; and &lt;code&gt;::after&lt;/code&gt;, &lt;code&gt;:focus&lt;/code&gt; etc.&lt;/p&gt;
&lt;h4&gt;Animations&lt;/h4&gt;
&lt;p&gt;&amp;ldquo;Like transitions on steroids!&amp;rdquo; Not hugely supported yet, but quite cool... but remember many mobiles are using webkit so that adds some possibilities.&lt;/p&gt;
&lt;p&gt;With animations you set an iteration count (number or infinite) and direction (normal or alternate). Remember that backwards moves count as iterations. Three iterations won't finish where you started!&lt;/p&gt;
&lt;p&gt;The full animation has a name, duration, timing, iteration-count, direciont, delay, fill mode. You can also specify keyframes.&lt;/p&gt;
&lt;p&gt;&amp;quot;Animation fill mode...... what?&amp;quot; This tells the browser what to do before and after the animation. Setting &lt;code&gt;backwards&lt;/code&gt; means &amp;ldquo;show the first keyframe&amp;rdquo;, &lt;code&gt;forwards&lt;/code&gt; means the last keyframe, &lt;code&gt;both&lt;/code&gt; means show first one if you haven't played it and the last if you have played it.&lt;/p&gt;
&lt;p&gt;Cool example: solar system diagram, particularly useful to show the effect of moving the origin outside the element.&lt;/p&gt;
&lt;p&gt;Neat tool: animate.css &amp;ndash; sets up common animations so you just add a class.&lt;/p&gt;
&lt;p&gt;Note animations are a processor hog. There is a trick to accelerate them...&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-webkit-transform: translateZ(0)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;or &lt;/p&gt;
&lt;p&gt;&lt;code&gt;-webkit-transform: translate3d(0,0,0)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;...which will pass the animation to the GPU. But please be careful, you can really thrash the battery of your mobile users!&lt;/p&gt;
&lt;p&gt;3D transforms &amp;ndash; more like 2.5D &amp;ndash; adds a Z axis to use for transforms. A positive number moves towards the user, negative moves away.&lt;/p&gt;
&lt;p&gt;Perspective... by default all children of a transformed element are flattened into the parent element. However using -webkit-transform-style lets you do separate things to the child elements - &amp;ldquo;the children can live in their own world, just like our real kids...&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Great blog post: &lt;a href="http://www.eleqtriq.com/2010/11/natural-object-rotation-with-css3-3d/"&gt;Natural Object-Rotation with CSS3 3D&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Finished with examples of CSS shaders, a proposal being given to the W3C)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/garazi"&gt;@garazi&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(&lt;a href="#toc"&gt;Top&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="jamesbridle"&gt;Waving at the machines - James Bridle &lt;/h3&gt;
&lt;p&gt;(an aspect of the robot-readable world, aka &amp;ldquo;it's 2011 and I have no idea what anything is or what it does any more&amp;rdquo; - Tom Taylor)&lt;/p&gt;
&lt;p&gt;Introduced the &amp;quot;render ghosts&amp;quot; &amp;ndash; those people who live in the rendered world that hasn't been built yet. They live in imaginary places, like renderings of proposed buildings. If you look closely enough, these places they live in are pixelated because our vision of the future is digital.&lt;/p&gt;
&lt;p&gt;But now we are getting curious crossovers &amp;ndash; a pixelated cushion, which has come out of the digital and entered the real world. Once you notice this style, you start seeing it everywhere. Things that might have been gingham in the past might be pixelated now.&lt;/p&gt;
&lt;p&gt;We are creating a new aesthetic, creating digital things in the real world.&lt;/p&gt;
&lt;p&gt;When you create things in the real world that made sense in a game world, you question the rules of both; the ethics of a strawberry milk cow that comes from Farmville open questions about genetic engineering.&lt;/p&gt;
&lt;p&gt;Telehouse West &amp;ldquo;is to blame for this talk&amp;rdquo;... it's a data centre, but not the usually anonymous building: &lt;/p&gt;
&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/-f7Q5co1t60w/TprWAkREv4I/AAAAAAAAAQw/fxYBaPBrrbY/s1600/telehouse-west.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/-f7Q5co1t60w/TprWAkREv4I/AAAAAAAAAQw/fxYBaPBrrbY/s400/telehouse-west.JPG" alt="Photo of Telehouse West, which has a pixelated effect build onto its facade" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Data centres usually don't get built to stand out &amp;ndash; &amp;ldquo;The cloud is a lie, the cloud looks like sheds.&amp;rdquo; This is what the network looks like in the real world.&lt;/p&gt;
&lt;p&gt;(on strange pixellated art effect) &amp;ldquo;It started out as something weird... now you get it in Beyonce videos.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Our understanding of the border between the digital and the physical has changed.&lt;/p&gt;
&lt;p&gt;Computers allow us to see through time &amp;ndash; satellites recorded data even when people weren't paying attention, we can go back and look at what was there. Similarly before and after photos showing the effect of disasters... people did not take the &amp;ldquo;before&amp;rdquo; photos with the intention of showing the effect of disaster. &lt;/p&gt;
&lt;p&gt;Meanwhile we've decided computers are better at making decisions about sporting results than the humans who are actually doing it &amp;ndash; Hawkeye in cricket, which means the entire crowd stops watching the people and starts watching a computer-game-esque reconstruction of what just happened, and the computer essentially decides what just really happened. &amp;ldquo;&amp;hellip;.....what?!&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Computers are now looking at us, trying to work out what we're thinking. Cameras recognise faces, try to recognise blinking. Security cameras in airports read moods of people as they go through security checks.&lt;/p&gt;
&lt;p&gt;James created a book: &amp;ldquo;Where the f**k was I?&amp;rdquo; using the stored location data on his iPhone. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/-hf4Ozzbq_s4/TprWBywjpEI/AAAAAAAAAQ8/roS45XXvkXY/s1600/wherethefwasi-jamesbridle.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/-hf4Ozzbq_s4/TprWBywjpEI/AAAAAAAAAQ8/roS45XXvkXY/s400/wherethefwasi-jamesbridle.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It was basically a reminder to himself, to remind him where he'd been. However he discovered what I had really mapped was his position &lt;em&gt;on the network&lt;/em&gt;, not actual locations. This is not where the fuck was I, it's where the fuck the phone thought I was!&lt;/p&gt;
&lt;p&gt;We start using real systems to view fake things. There is a whole city from Grand Theft Auto set up in google street view... Maps have &amp;ldquo;trap streets&amp;rdquo; - fake streets added by cartographers to catch people pirating their work. &amp;ldquo;the sky above trap street&amp;rdquo; finds satellite photos of those locations.&lt;/p&gt;
&lt;p&gt;Google street view is weird &amp;ndash; it's the view from a multi-lensed machine 6 feet above the street. We're looking through the robots' eyes.&lt;/p&gt;
&lt;p&gt;Then there are gaps &amp;ndash; places in google earth that are blacked out, places in street view blurred out or removed with the Photoshop mosaic filter.&lt;/p&gt;
&lt;p&gt;Urban Camouflage.... ghillie suits for Ikea!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/-VtfTtQ7X86g/TprVhTvj7BI/AAAAAAAAAPY/wqE0m_ct0Cw/s1600/ikea-camouflage.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/-VtfTtQ7X86g/TprVhTvj7BI/AAAAAAAAAPY/wqE0m_ct0Cw/s400/ikea-camouflage.jpg" alt="Photo: person hiding in IKEA with a suit of IKEA carry bags" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Splinter camouflage for planes &amp;ndash; it turns out that pixellated camouflage works for hiding things, because nothing &amp;ldquo;really looks like that&amp;rdquo;. It's also great for hiding things in other spectra &amp;ndash; there is IR-resistant cammo! Tanks can use active heat signature cammo to look like a car to IR.&lt;/p&gt;
&lt;p&gt;Tagmenot.info &amp;rarr; a way to stop things going into google street view. &amp;quot;QR codes are awful... we should make pretty things, not ugly things.&amp;quot;&lt;/p&gt;
&lt;p&gt;CAPTCHAs are forcing us to continually prove to systems that we are humans.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/-s94DI3OphVY/TprVgocsWiI/AAAAAAAAAO4/xqXGLZcw7MU/s1600/calibration-pose.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/-s94DI3OphVY/TprVgocsWiI/AAAAAAAAAO4/xqXGLZcw7MU/s400/calibration-pose.jpg" alt="Calibration pose illustration - silhouette of a person, with lines drawn on it" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Kinect calibration pose is us waving at the machines. It's a way for us to identify ourselves to computers, to the machines. This is increasingly the world we live in.&lt;/p&gt;
&lt;p&gt;Technology wants to be like us, and we want to be more like it. We are going through a period now of incredible uncertaintly. But the essence is that we now live in a world we share with the render ghosts. We want this. We want to live together with these new beings.&lt;/p&gt;
&lt;p&gt;The message is that some of this is awesome, we should go out with some willingness to engage, while understanding how they change our behaviours. &lt;/p&gt;
&lt;p&gt;It's going to be exciting, please &lt;em&gt;make &lt;/em&gt;it exciting.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/jamesbridle"&gt;@jamesbridle&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(&lt;a href="#toc"&gt;Top&lt;/a&gt;)&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;(fin)&lt;/p&gt;
&lt;p&gt;Once again, the conference seemed to be over just a few seconds after it started. Two days can fly past so quickly you can barely believe it happened. &lt;/p&gt;
&lt;p&gt;It's likely that speakers will release slides and other materials in coming days, over at &lt;a href="http://south11.webdirections.org/"&gt;http://south11.webdirections.org/&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=MNNZ3M-iTWc:mHq9m-3o4Ng:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=MNNZ3M-iTWc:mHq9m-3o4Ng:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=MNNZ3M-iTWc:mHq9m-3o4Ng:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=MNNZ3M-iTWc:mHq9m-3o4Ng:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/MNNZ3M-iTWc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/1104003036798118557/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2011/10/wds11-big-stonking-post.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/1104003036798118557" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/1104003036798118557" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/MNNZ3M-iTWc/wds11-big-stonking-post.html" title="WDS11, the big stonking post™" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-DgjzaULilYI/TprUylVxxnI/AAAAAAAAAOg/vcRfjCipLn8/s72-c/hovercat.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2011/10/wds11-big-stonking-post.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-3842866417827317898</id><published>2011-06-14T22:52:00.005+10:00</published><updated>2011-06-14T23:08:40.248+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="sydjs" /><title type="text">one script, seven ways</title><content type="html">&lt;p&gt;It's one thing to write code from scratch, but quite another to edit and improve existing code. It's also quite something to have your code dissected in front of a crowd...&lt;/p&gt;
  &lt;h3&gt;Refactoring&lt;/h3&gt;
  &lt;p&gt;In its purest form, refactoring is changing code without changing its functionality - work done purely to make the code faster, more robust or maintainable. &lt;/p&gt;
  &lt;p&gt;Most of the time work described as &amp;quot;refactoring&amp;quot; ends up being more of a rewrite, as few people can resist the opportunity to change functionality. Rewriting can be a time blowout though, so the strict scope of pure refactoring can be useful.&lt;/p&gt;
  &lt;h3&gt;If it ain't broke... &lt;/h3&gt;
  &lt;p&gt;A fair question is of course  &lt;em&gt;if it's not broken, why fix it&lt;/em&gt;? Why change code that works? &lt;/p&gt;
  &lt;p&gt;Yes, if the code in question is fast, bug-free and easy to update then you may be better off leaving it alone. But in the real world very little code falls into this category on the first version, particularly if it's written by someone who doesn't expect to maintain it (the joy of outsourcing...). &lt;/p&gt;
  &lt;p&gt;No matter who writes it, most code is written to a deadline. The compromises made to ship it on time usually come back to bite you in maintance - you never get it for free, you just choose when to pay. &lt;/p&gt;
  &lt;p&gt;Even if you wrote it &lt;em&gt;and &lt;/em&gt;you weren't under a deadline, the second version of your code may still be better than the first. Why? Because &lt;em&gt;you learned about the task&lt;/em&gt; when you wrote it the first time, so you rewrite it armed with specific experience.&lt;/p&gt;
  &lt;p&gt;This is one reason iteration works; and one reason a quick spike or prototype can be a great investment even when you throw the code away. &lt;/p&gt;
  &lt;p&gt;Refactoring is also an effective way to share knowledge, particularly if you pair with someone more experienced while you do it. The goals are already defined and understood - you can see how it works, so you'll know when the new version does the right thing. &lt;/p&gt;
  &lt;p&gt;Which leads me to Refactor Wars... &lt;/p&gt;
  &lt;h3&gt;Sydjs refactor wars&lt;/h3&gt;
  &lt;p&gt;At the May &lt;a href="http://sydjs.com/"&gt;Sydjs&lt;/a&gt; I took the daunting step of having four people refactor one of my scripts. As a recent convert to Javascript, my code is definitely newbie code. So why have it dissected in front of the JS Ninja-laden Sydjs crowd?&lt;/p&gt;
  &lt;p&gt;It goes back to a classic problem of user goups: how do you share knowledge from the ninja to the n00b? If you just show newbie code, people get bored. If you just show ninja code, the newbies aren't really progressing.&lt;/p&gt;
  &lt;p&gt;Refactoring is one way to bridge the gap, so I organised overhauls of &lt;a href="http://isitlaksatimeyet.200ok.com.au/"&gt;Is it laksa time yet?&lt;/a&gt; -  a simple script which shows different messages as the user's system time approaches Friday noon (aka laksa time!). I wrote it quickly as a bit of fun for the Sydney web laksa crew. &lt;/p&gt;
  &lt;p&gt;You can see my intro slides and the four refactored scripts  at &lt;a href="http://isitlaksatimeyet.200ok.com.au/refactor/"&gt;Is It Refactor Wars Time Yet?&lt;/a&gt;. Since then I've done some basic analysis of the presented code. &lt;/p&gt;
  &lt;h3&gt;Head to head&lt;/h3&gt;
  &lt;p&gt;The original script used functional but flawed jQuery. The following approaches were used to refactor it:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Improve the jQuery&lt;/li&gt;
    &lt;li&gt;Replace jQuery with &lt;a href="http://zeptojs.com/"&gt;Zepto&lt;/a&gt; (a bit of an experiment since Zepto's aimed at mobile webkit rather rather than the desktop) &lt;/li&gt;
    &lt;li&gt;Remove jQuery (ie. convert to straight Javascript) &lt;/li&gt;
    &lt;li&gt;Write a reusable library (without jQuery) &lt;/li&gt;
    &lt;li&gt;Rewrite in Coffeescript&lt;/li&gt;
    &lt;li&gt;Although it wasn't presented on the night I've included my own update, which removed jQuery and stripped out some ultimately pointless abstraction.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Remember to take these numbers with a grain of salt, as the tests and measurements were not taken in a hermetically sealed laboratory by trained professionals - I just did them on my home PC. They simply give a rough idea of the results. &lt;/p&gt;
  &lt;table border="1"&gt;
    &lt;tr&gt;
      &lt;th scope="col"&gt;&amp;nbsp;&lt;/th&gt;
      &lt;th scope="col"&gt;Original&lt;/th&gt;
      &lt;th scope="col"&gt;Lindsay&lt;/th&gt;
      &lt;th scope="col"&gt;Chris (Zepto) &lt;/th&gt;
      &lt;th scope="col"&gt;Chris (no jQuery) &lt;/th&gt;
      &lt;th scope="col"&gt;Steve&lt;/th&gt;
      &lt;th scope="col"&gt;Gabe &lt;/th&gt;
      &lt;th scope="col"&gt;Mine&lt;/th&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;th scope="row"&gt;Summary&lt;/th&gt;
      &lt;td&gt;jQuery &lt;/td&gt;
      &lt;td&gt;Better jQuery &lt;/td&gt;
      &lt;td&gt;Replaced jQuery with Zepto &lt;/td&gt;
      &lt;td&gt;Removed jQuery &lt;/td&gt;
      &lt;td&gt;Removed jQuery, wrote library&lt;/td&gt;
      &lt;td&gt;Rewrote in Coffeescript&lt;/td&gt;
      &lt;td&gt;Removed jQuery&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th scope="row"&gt;Requires&lt;/th&gt;
      &lt;td&gt;jQuery 1.4 &lt;/td&gt;
      &lt;td&gt;jQuery 1.6 &lt;/td&gt;
      &lt;td&gt;Zepto&lt;/td&gt;
      &lt;td&gt;none&lt;/td&gt;
      &lt;td&gt;none&lt;/td&gt;
      &lt;td&gt;jQuery 1.4, Coffeescript&lt;/td&gt;
      &lt;td&gt;none&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th scope="row"&gt;&lt;abbr title="Lines Of Code"&gt;LOC&lt;/abbr&gt;&lt;/th&gt;
      &lt;td&gt;67&lt;/td&gt;
      &lt;td&gt;56&lt;/td&gt;
      &lt;td&gt;67&lt;/td&gt;
      &lt;td&gt;50&lt;/td&gt;
      &lt;td&gt;108&lt;/td&gt;
      &lt;td&gt;&lt;p&gt;CS: 64&lt;br /&gt;
          JS: 71&lt;br /&gt;
&lt;/p&gt;        &lt;/td&gt;
      &lt;td&gt;40&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th scope="row"&gt;Page weight (kb) &lt;/th&gt;
      &lt;td&gt;34.2&lt;/td&gt;
      &lt;td&gt;38.3&lt;/td&gt;
      &lt;td&gt;8.2&lt;/td&gt;
      &lt;td&gt;2.8&lt;/td&gt;
      &lt;td&gt;4.2&lt;/td&gt;
      &lt;td&gt;32.7&lt;/td&gt;
      &lt;td&gt;7&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th scope="row"&gt;Execution time (ms) &lt;/th&gt;
      &lt;td&gt; 0.041932&lt;/td&gt;
      &lt;td&gt; 0.038928&lt;/td&gt;
      &lt;td&gt; 0.100244&lt;/td&gt;
      &lt;td&gt; 0.005836&lt;/td&gt;
      &lt;td&gt; 0.034735&lt;/td&gt;
      &lt;td&gt; 0.027839&lt;/td&gt;
      &lt;td&gt; 0.006083&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th scope="row"&gt;Execution +/- (%)&lt;/th&gt;
      &lt;td&gt;0&lt;/td&gt;
      &lt;td&gt;-7%&lt;/td&gt;
      &lt;td&gt;+139%&lt;/td&gt;
      &lt;td&gt;-86%&lt;/td&gt;
      &lt;td&gt;-17%&lt;/td&gt;
      &lt;td&gt;-33% &lt;/td&gt;
      &lt;td&gt;-85%&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th scope="row"&gt;Notes&lt;/th&gt;
      &lt;td&gt;Written quickly. &lt;/td&gt;
      &lt;td&gt;Check out the &lt;a href="https://github.com/lindsayevans/sydjs-laksa-refactor/blob/070ecab7772016924a89b744424ef534376334a1/refactor.html"&gt;mad ternary version&lt;/a&gt;!  &lt;/td&gt;
      &lt;td&gt;Breaks in Firefox (uses innerText) &lt;/td&gt;
      &lt;td&gt;&amp;nbsp;&lt;/td&gt;
      &lt;td&gt;Steve says it needs a refactor. &lt;/td&gt;
      &lt;td&gt;With tests: LOC 154/141. Exec time 0.157247 (+275%)&lt;br /&gt;&lt;/td&gt;
      &lt;td&gt; 2.3kb without the ascii art!&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
  &lt;p&gt;Notes for the curious:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Execution time is the average of 1,000,000 repetitions in Chrome.&lt;/li&gt;
    &lt;li&gt;Page weight is non-gzipped (it's not enabled on the laksa site), plus the gzipped weight  of jQuery and Zepto (since jQuery is loaded from a CDN). &lt;/li&gt;
    &lt;li&gt;For Gabe's option, the weight and execution time used the generated javascript. For execution time, tests were disabled. &lt;/li&gt;
    &lt;li&gt;For Gabe and Steve's options, I had to add a wrapper function to enable testing. So in production execution would be faster/cheaper by one function.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3&gt;Conclusions &lt;/h3&gt;
  &lt;p&gt;What do we learn from these numbers and the refactoring exercise in general?&lt;/p&gt;
  &lt;p&gt;First up, several people observed that in a production scenario they &lt;em&gt;probably wouldn't bother refactoring the script&lt;/em&gt;. It only executes every ten seconds and even the slowest version takes less than one millisecond. &lt;/p&gt;
  &lt;p&gt;Yes, it was definitely flawed; but it didn't really matter... and just to highlight the fact it's not risk-free to change things, when I refactored it myself I introduced a bug!&lt;/p&gt;
  &lt;p&gt;However when viewing this &lt;em&gt;as a  learning exercise&lt;/em&gt;, it's worth noting a few things: &lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Every option except Zepto improved the performance of the script. &lt;/li&gt;
    &lt;li&gt;Improving the jQuery option's performance by 7% could be quite signficant in a real world scenario. &lt;/li&gt;
    &lt;li&gt;While jQuery's weight looks bad on paper, it can load off the CDN faster than the base page. &lt;/li&gt;
    &lt;li&gt;Simple things like caching selectors can make a huge difference, whether you're using a library or not. &lt;/li&gt;
    &lt;li&gt;If you don't need jQuery, don't use it. For a page this small, all it was doing was element selection and &lt;code&gt;$(document).ready&lt;/code&gt; - easily replaced with &lt;code&gt;document.getElementById&lt;/code&gt; and moving the script to the end of the document. &lt;/li&gt;
    &lt;li&gt;Don't guess about performance, test it. Even my dodgy little profiling script gives far better information than guessing. &lt;/li&gt;
    &lt;li&gt;Lines Of Code can be a very misleading metric, unless you see an extreme change it probably isn't worth worrying about. While &lt;em&gt;readability&lt;/em&gt; is subjective and hard to evaluate, LOC is not a substitute. &lt;/li&gt;
    &lt;li&gt;Remember most things are a trade off:
      &lt;ul&gt;
        &lt;li&gt;jQuery is fast and easy to write, but adds weight and is slower than straight Javascript. &lt;/li&gt;
          &lt;li&gt;Writing a library creates more lines of code but changes a one-off script into something reusable.&lt;/li&gt;
          &lt;li&gt;Porting to Coffeescript adds a significant dependency but would make sense if your team is more productive using it. &lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Ascii art adds a surprising amount of page weight. But it's fun. &lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3&gt;Refactoring for fun and profit&lt;/h3&gt;
  &lt;p&gt;The best thing about presenting Refactor Wars at Sydjs was showing some very different approaches to the same scenario.&lt;/p&gt;
  &lt;p&gt;The clearest result was that &lt;strong&gt;no single approach will always be right&lt;/strong&gt; - each one would be the most appropriate option in a different situation. You need to understand your current task's priorities and work to them. But, remember you're always making a tradeoff; for example if you ship fast, you'll almost certainly incur a higher maintenance cost.&lt;/p&gt;
  &lt;p&gt;The exercise probably also made the laksa script one of the most heavily-refactored joke sites in history, not to mention taking out the record for the largest amount of actual code shown in a single Sydjs! Hopefully everyone got something out of it.&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;(That link again, if you want to see the scripts see &lt;a href="http://isitlaksatimeyet.200ok.com.au/refactor/"&gt;Is it refactor wars time yet?&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=aT0gQ3BZYIc:eFk9tBHQIIo:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=aT0gQ3BZYIc:eFk9tBHQIIo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=aT0gQ3BZYIc:eFk9tBHQIIo:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=aT0gQ3BZYIc:eFk9tBHQIIo:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/aT0gQ3BZYIc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/3842866417827317898/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2011/06/one-script-seven-ways.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/3842866417827317898" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/3842866417827317898" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/aT0gQ3BZYIc/one-script-seven-ways.html" title="one script, seven ways" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2011/06/one-script-seven-ways.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-5520097845586272616</id><published>2011-06-08T22:24:00.019+10:00</published><updated>2011-06-09T01:34:07.301+10:00</updated><title type="text">a website build in thirty seconds</title><content type="html">&lt;p&gt;
Sometimes a simple demo can bring a dry process to life.&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://weblog-files.200ok.com.au/img-open/theaustralian-process-screenshots2.gif"&gt;&lt;img src="http://1.bp.blogspot.com/-Go8DPCoc77I/Te9ypIn3d6I/AAAAAAAAAK8/bX3STApG-6U/s400/click-to-load.gif" border="0" alt="Load 2meg animated GIF showing the website build from blank slate to complete homepage." /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
So what's the story?&lt;/p&gt;
&lt;p&gt;
Back in 2007, I was on the &lt;abbr title="News Digital Media"&gt;NDM&lt;/abbr&gt; team that rebuilt &lt;a href="http://www.theaustralian.com.au/"&gt;The Australian&lt;/a&gt; and &lt;a href="http://www.theaustralian.com.au/australian-it"&gt;Aus IT&lt;/a&gt; websites.&lt;/p&gt;
&lt;p&gt;
As part of the project we did a presentation to some of The Australian's editors/managers, showing the design and development process that had gone into creating the new site.&lt;/p&gt;
&lt;p&gt;
With Design and UX you can show mockups and wireframes; but demonstrating the progression of Frontend work was a bit of a challenge. Raw technical details were not particularly engaging for the non-developer audience, so I decided to include a short illustration of the build process.&lt;/p&gt;
&lt;p&gt;
I took a series of screenshots during the build, then created an animated GIF file with the results (you've probably seen similar demos before). I thought it would just be some visual filler while I was talking, but people were so focused on the GIF I shut up and let them watch the process unfold. I was pleasantly surprised by the reaction.&lt;/p&gt;
&lt;p&gt;
Although the audience had experience evaluating completed websites, they hadn't seen the raw stages of a build. Being journos they knew all about turning a blank page into an article, but they'd hadn't seen the moment a blank slate becomes a website. It helped bring the technical story to life.&lt;/p&gt;
&lt;p&gt;
If there's any real point other than sharing a fun image, it's simply this: remember to keep some record of your work. Take screenshots, keep final mockups and don't forget to take &amp;quot;before&amp;quot; screenshots to give context to the &amp;quot;after&amp;quot; shots (I really wish I'd done that!). You never know when it will come in handy.&lt;/p&gt;
&lt;p&gt;
I should note The Australian has been rebuilt since then, using an extended version of the markup behind this build. But that's another story.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=snc4aNdDRqQ:7Gv8iv07H7Q:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=snc4aNdDRqQ:7Gv8iv07H7Q:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=snc4aNdDRqQ:7Gv8iv07H7Q:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=snc4aNdDRqQ:7Gv8iv07H7Q:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/snc4aNdDRqQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/5520097845586272616/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2011/06/website-build-in-thirty-seconds.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/5520097845586272616" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/5520097845586272616" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/snc4aNdDRqQ/website-build-in-thirty-seconds.html" title="a website build in thirty seconds" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-Go8DPCoc77I/Te9ypIn3d6I/AAAAAAAAAK8/bX3STApG-6U/s72-c/click-to-load.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2011/06/website-build-in-thirty-seconds.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-8752701611983598530</id><published>2011-04-22T23:19:00.010+10:00</published><updated>2011-05-03T21:46:24.665+10:00</updated><title type="text">the html5 switch</title><content type="html">&lt;p&gt;Depending on who you talk to, you should have been using HTML5 months, nay &lt;em&gt; years&lt;/em&gt;  ago; or it's something you might be using in 2022. As usual the truth is somewhere between the glib extremes. &lt;/p&gt;
  &lt;p&gt;There's no one-size-fits-all answer to questions of platform choice: you have to consider the benefits for your own scenario. But with HTML5 I'd say if you haven't switched yet, &lt;em&gt;for most people&lt;/em&gt; it's probably time - there's a form of &amp;quot;switching&amp;quot; that will work for you.&lt;/p&gt;
  &lt;p&gt;Some people seem caught up on the problem that many features have very poor support across browsers; or are simply put off by the thought of redoing their entire code base.&lt;/p&gt;
  &lt;p&gt;Really though, you don't have to rebuild everything, nor use everything in HTML5 for it to be worthwhile &lt;strong&gt;switching your doctype &lt;/strong&gt;now. &lt;/p&gt;
  &lt;p&gt;Over the past few months I've switched &lt;a href="http://www.atlassian.com/software/confluence/"&gt;a large application&lt;/a&gt; and a few small sites to run the HTML5 doctype. Most have been seamless, with just one website exploding on contact with HTML5 - it will remain XHTML until it can be overhauled. &lt;/p&gt;
  &lt;p&gt;So what have I learned doing this? Basically, the decision to switch comes down to:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;What do you mean by &amp;quot;use HTML5&amp;quot;?&lt;/li&gt;
    &lt;li&gt;Which doctype are you running now?&lt;/li&gt;
    &lt;li&gt;Is there any value to switching?&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Seriously, that's it.&lt;/p&gt;
  &lt;h3&gt;Defining &amp;quot;using html5&amp;quot; &lt;/h3&gt;
  &lt;p&gt;I'd suggest considering three basic options for  &amp;quot;using HTML5&amp;quot;: &lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;Switch the doctype, but change basically nothing else.&lt;/li&gt;
    &lt;ul&gt;
      &lt;li&gt;This is a &amp;quot;readyness&amp;quot; move - you're not changing anything now, you're just paving the way. This option is mostly useful for organisations where technical changes are slow and/or political. &lt;/li&gt;
      &lt;li&gt;Generally it should morph into Option 2 reasonably quickly but might be a required stop-off point.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li&gt;Switch the doctype, then use a subset of the new features. 
      &lt;ul&gt;
        &lt;li&gt;This is what most people are doing right now - cherry picking those things which give you immediate value without too much overhead. Usually this translates to &lt;a href="http://caniuse.com/"&gt;using features with usable levels of support&lt;/a&gt; or where it's easy to provide fallback options.&lt;/li&gt;
        &lt;li&gt;This option is good for iterative change, particularly where you can't easily or quickly replace your entire UI code base. &lt;/li&gt;
        &lt;li&gt;For the average dev shop it's probably the best balance of &amp;quot;new and shiny&amp;quot; and &amp;quot;works within budget&amp;quot;.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Full switch: replace your UI entirely with HTML5, using all the features (including new elements).
      &lt;ul&gt;
        &lt;li&gt;So far this option is most popular with blogs and new or small apps. &lt;/li&gt;
        &lt;li&gt;For many projects it's just not viable - it doesn't matter what flavour of markup is in use, they're not getting redeveloped right now. &lt;/li&gt;
        &lt;li&gt;This option will require bridge solutions like &lt;a href="http://code.google.com/p/html5shiv/"&gt;HTML5 shiv&lt;/a&gt; - that is, you'll be relying on Javascript for rendering. &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;/ol&gt;
  &lt;p&gt;Option 3 negates the need to ask the next question, but Options 1 and 2 really need to ask... &lt;/p&gt;
  &lt;h3&gt;Which doctype are you running now? &lt;/h3&gt;
  &lt;p&gt;If you're switching doctypes on an existing code base, you need to consider what that is actually going to do. The most relevant differences are:&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;The rendering mode it sets &lt;/li&gt;
    &lt;li&gt;The rules the W3C validator will apply &lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;Doctypes also tell humans what kind of code should go in the document, but since it doesn't enforce your actual house style it's a relatively intangible benefit.&lt;/p&gt;
  &lt;h4&gt;Rendering Mode &lt;/h4&gt;
  &lt;p&gt;HTML5 will set strict rendering mode. If your site or app is currently being rendered in strict mode, happy days. However if it's in quirks mode  it's going to hurt; and if it's in almost-standards mode, it's a roll of the dice.&lt;/p&gt;
  &lt;p&gt;Going from almost-standards to standards mode &lt;em&gt;might&lt;/em&gt; be a painless change. Most of my sites were painless; another broke quite badly - particularly because strict rendering made the Cufon headings blow up (beware of the shrink wrap).&lt;/p&gt;
  &lt;p&gt;I will stress that if you are running in almost-standards mode, &lt;strong&gt;you should still try the switch&lt;/strong&gt;. Do not be put off HTML5, just go ahead with your eyes open. &lt;/p&gt;
  &lt;p&gt;For more information see: &lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://24ways.org/2005/transitional-vs-strict-markup"&gt;24 ways: Transitional vs. Strict Markup&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://archivist.incutio.com/viewlist/css-discuss/109479"&gt;strict vs. transitional doctype and rendering differences&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;For the tale of how almost-standards mode came to be, check out &lt;a href="http://meyerweb.com/eric/thoughts/2008/01/24/almost-target/"&gt;Eric&amp;#39;s Archived Thoughts: Almost Target&lt;/a&gt; and the linked &lt;a href="https://developer.mozilla.org/en/Images,_Tables,_and_Mysterious_Gaps"&gt;Images, Tables, and Mysterious Gaps - MDC Doc Center&lt;/a&gt;.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h4&gt;Validation&lt;/h4&gt;
  &lt;p&gt;Curiously, if you have a lot of validation errors already you might find HTML5 actually lowers the number of errors - it's extremely forgiving. Personally I think it's far too forgiving; and it repositions the validator as a tool only for finding gross errors like unclosed divs. For actual &lt;strong&gt;code quality &lt;/strong&gt;you'll need to move away from straight validation and try a tool like  &lt;a href="http://lint.brihten.com/html/"&gt;HTML Lint&lt;/a&gt;. &lt;/p&gt;
  &lt;p&gt;Also be aware that currently if you use the x-ua-compatible meta tag, the validator considers it to be an error (aside: &lt;a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=11954"&gt;I've raised this as a bug with the validator team&lt;/a&gt;). This means if you support IE with the meta tag, you will never get a green test result. If you are reliant on automated testing this could be an issue. &lt;/p&gt;
  &lt;h3&gt;The value of switching&lt;/h3&gt;
  &lt;p&gt;It's a basic question, but you should ask &lt;em&gt;&amp;quot;will (insert shiny new technology here) actually help me build stuff&amp;quot;&lt;/em&gt;? Even if &lt;strong&gt;you &lt;/strong&gt;are convinced already, your boss or clients probably aren't; so you need be able to answer the question. &lt;/p&gt;
  &lt;p&gt;Personally I think it's unlikely that any web-based project would get &lt;em&gt;zero&lt;/em&gt; value from migrating to HTML5, although some might not get as much as they'd imagined. &lt;/p&gt;
  &lt;p&gt;Web applications get the greatest benefits as HTML5 is extremely app-focused. Also many apps already rely on Javascript, so the JS-based solutions for enabling new features and fallbacks don't change their support profile.&lt;/p&gt;
  &lt;p&gt;Websites with lots of content will probably get more benefit long term, as support improves for the content-focused stuff like new semantic elements (and associated document outline system). Short term, there are some questions about best-practice usage and how search engines will cope with the new document outline. Also you might not be willing to rely on Javascript just to get your content to render.&lt;/p&gt;
  &lt;p&gt;A few other points to consider... &lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;It's a great base for progressive enhancement
      and can reduce your maintenance load.
      &lt;ul&gt;
        &lt;li&gt;eg. common form validation can be handled by HTML5 elements, so you only have to maintain a JS-based fallback for IE... and you can use conditional comments so you only serve it to IE too.&lt;/li&gt;
        &lt;li&gt;Multiply this out and you can make your apps faster and lighter for an increasing proportion of the market. &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Flipping that around, HTML5 elements make excellent fallback content.
      &lt;ul&gt;
          &lt;li&gt;eg. I use a Flash audio player on one site; and &amp;lt;audio&amp;gt; gives me a functional fallback on browsers without Flash (including iOS devices). Previously the fallback was a link to the mp3 file. (&lt;a href="http://adactio.com/journal/1698/"&gt;Jeremy Keith has a great post about using this approach&lt;/a&gt;)&lt;/li&gt;
        &lt;li&gt;This approach also removes pushback against using variably-supported features as your core solution   - sure it might not be as intellectually satisfying as ditching IE and Flash content users, but it's probably got a greater chance of client acceptance. &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;The simplified syntax is nice to write.
      &lt;ul&gt;
        &lt;li&gt; &lt;code&gt;&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;&lt;/code&gt; ...I can remember only one of these off the top of my head, how about you? :) &lt;br /&gt;
        &lt;/li&gt;
      &lt;/ul&gt;
      &lt;/li&gt;
    &lt;li&gt;Curiously, HTML5 seems to open a new development mindset - switching can be a catalyst for using a swathe of new standards. Sure, it's smoke and mirrors, but you might even be able to push a couple of crap browsers off the bottom of your support chart too. &lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3&gt;Last thoughts &lt;/h3&gt;
  &lt;p&gt;In its purest form, a platform change decision comes down to how much value you get (or the cost of &lt;em&gt;not&lt;/em&gt; changing) vs. the cost of the change. For most people the cost of switching to HTML5 will be trivial, so the long-term benefit of merely &lt;em&gt;being ready to use more features&lt;/em&gt; is enough payoff.&lt;/p&gt;
  &lt;p&gt;If you are kicking off a project today and building from scratch, you should definitely use HTML5 - even if it's mostly plain old (X)HTML despite the new doctype. If you're maintaining an existing app, you may as well switch out the doctypes so you can start legitimately cherry picking new features as you have time and opportunities. &lt;/p&gt;
  &lt;p&gt;I have no idea what we'll be using in 2022. It probably won't be HTML5 any more. But in 2011, I'm using HTML5. &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=8UwyRfL-oV4:eZQ0kt-wCrQ:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=8UwyRfL-oV4:eZQ0kt-wCrQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=8UwyRfL-oV4:eZQ0kt-wCrQ:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=8UwyRfL-oV4:eZQ0kt-wCrQ:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/8UwyRfL-oV4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/8752701611983598530/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2011/04/html5-switch.html#comment-form" title="10 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/8752701611983598530" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/8752701611983598530" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/8UwyRfL-oV4/html5-switch.html" title="the html5 switch" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>10</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2011/04/html5-switch.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-6089219274525372388</id><published>2010-11-05T09:42:00.002+11:00</published><updated>2010-11-06T22:03:26.498+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="big stonking post" /><category scheme="http://www.blogger.com/atom/ns#" term="wds10" /><category scheme="http://www.blogger.com/atom/ns#" term="web directions south" /><category scheme="http://www.blogger.com/atom/ns#" term="wdx" /><title type="text">wds10, the big stonking post™</title><content type="html">&lt;p&gt;
      Roll up roll up roll up, for my Web Directions South 2010 Big Stonking Post&amp;trade;. A yearly wander through my impressions of WDS, hammered into an EEEpc and posted here for your enjoyment. &lt;/p&gt;
    &lt;p&gt;The usual notes: These are very raw notes - excuse typos, and if you need an exact quote I recommend checking the podcast. Anything marked &amp;quot;Aside:&amp;quot; is my own thought and not something the speaker said. Unattributed photos are mine.&lt;/p&gt;
    &lt;h3&gt;Scott Thomas &amp;ndash; Designing Obama&lt;/h3&gt;
    &lt;div class="image image-right" style="width: 160px;"&gt;
 &lt;!--&lt;a href="http://www.flickr.com/photos/halans/5079728508/" title="Hope - double rainbow by Halans, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4092/5079728508_624c46ea06_m.jpg" width="160" height="240" alt="Hope - double rainbow" /&gt;&lt;/a&gt;--&gt;
 &lt;a href="http://www.flickr.com/photos/halans/5079135999/" title="WDS10 by Halans, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4105/5079135999_151d5baf22_m.jpg" width="160" height="240" alt="WDS10" /&gt;&lt;/a&gt;
 &lt;p class="caption"&gt;(Photo by JJ Halans)&lt;/p&gt;
 &lt;/div&gt;

 &lt;p&gt;The Barack Obama campaign early on had no real design  coordination so they  hired people in to handle this. They were having simple problems  like losing the white in the centre of the logo, which flipped the rising  sun to a dark star &amp;ndash; not cool, not good for the candidate.&lt;/p&gt;
    &lt;p&gt;Time &amp;ndash; time pressure for everything. &amp;quot;we  were truly building an airplane while in flight&amp;quot;, what needed  doing immediately was done immediately.&lt;/p&gt;
    &lt;p&gt;They created order in the chaos by setting clear and concise messaging: &lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;Focus on &amp;quot;we&amp;quot; rather than the &amp;quot;he&amp;quot;,   make it the person's voice and not Obama's voice. This is unusual   for political campaigns.&lt;/li&gt;
      &lt;li&gt;Keep the message of hope while dismantling   the notion of being aloof.&lt;/li&gt;
      &lt;li&gt;Communicate the historic atmosphere by   pulling from imagery of the past.&lt;/li&gt;
      &lt;li&gt;Establish a consistency and balance to   exemplify stability and experience.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;The old Obama website had no real consistency, &amp;quot;about  43 typefaces&amp;quot;, not well directed. When they approached the  website, they initially focused entirely on one page - the homepage - to get that sorted out first. &lt;/p&gt;
    &lt;p&gt;On the wireframe they set out a plan for what the real  estate needed to accomplish &amp;ndash; persuade, raise campaign funds,  activate, localise, etc.&lt;/p&gt;
    &lt;p&gt;Very little space was devoted to social networks, because  people who connect that way connect &lt;em&gt;on those networks &lt;/em&gt;and not on the  www site.&lt;/p&gt;
    &lt;p&gt;The website evolved to make it easier to access  user-specific features/information. People did a simple login and  then got a toolbar added on the top of the page. my.barackobama.com&lt;/p&gt;
    &lt;p&gt;A small team on the ground was the liason for the  web team who were stuck in one place, in Chicago, and not on the road with the  campaign.&lt;/p&gt;
    &lt;p&gt;One big challenge was getting people not only to  read the site and know about Obama, but to actually register and  vote. This is a major point of friction in the American system. So  they set up the Vote For Change site to help get people registered.  Instead of an obscure form, it was a series of plain english  questions &amp;ndash; one at a time. Although this perhaps doesn't gel with  everyone's idea of usability, it was an attempt to ask questions the  way humans do &amp;ndash; one at a time, in a friendly way.&lt;/p&gt;
    &lt;p&gt;Layers of strategy &amp;ndash; guiding people to register  to vote in the contested states where they go to uni, rather than the  blue/already-won state they originally come from. &lt;/p&gt;
    &lt;p&gt;&amp;quot;Of course doing anything simply requires a  lot of complex though... lots of nights digging into post-it notes  and eating burritos.&amp;quot;&lt;/p&gt;
    &lt;p&gt;All of this helped make the election about the  peoples' voice. &lt;/p&gt;
    &lt;p&gt;Aside: love the grid layout created on top of a  photo of the Whitehouse!&lt;/p&gt;
    &lt;p&gt;Whitehouse.gov had huge amounts of legislation and  restriction which made it hard to communicate in a modern way. They were not  originally allowed to post videos on non-whitehouse servers &amp;ndash; no  youtube!&lt;/p&gt;
    &lt;p&gt;Scott finds himself asking, &lt;em&gt;what do I do next&lt;/em&gt;?&lt;/p&gt;
    &lt;p&gt;Scott realised he wanted to capture the artwork  created during the campaign, to create a book to make an artifact in  history. He used kickstarter(.com?) to fund the project. He didn't  want to go through the usual publishing process, because he didn't  like that process...&lt;/p&gt;
    &lt;p&gt;As it happens the process was a ton of work, but  the experience was priceless; and Scott controlled every part of the  puzzle and realised the creative goal without interference.&lt;/p&gt;
    &lt;p&gt;You can read the book online at &lt;a href="http://designing-obama.com/"&gt;designing-obama.com&lt;/a&gt;&lt;/p&gt;
    &lt;h4&gt;Q&amp;amp;A&lt;/h4&gt;
    &lt;dl&gt;
      &lt;dt&gt;Q: Did Obama ever get involved?&lt;/dt&gt;
      &lt;dd&gt;A: No, he was too busy. But they trusted the  people they hired and that's how it worked. &amp;quot;It wasn't up to  Barack Obama to select a shade of blue...&amp;quot;&lt;/dd&gt;
      &lt;dt&gt;Q: Does raising the bar for campaign design risk a  blowback where it gets harder to repeat?&lt;/dt&gt;
      &lt;dd&gt;A: The message was authentic and that's why it  worked... people trying to copy the process aren't doing it with an  authentic, clear message so it's not just a matter of using Gotham...&lt;/dd&gt;
      &lt;dt&gt;Q: Were all the staff real Obama supporters or  were some just there as professionals?&lt;/dt&gt;
      &lt;dd&gt; A: One of the final, key  question in interviews was &amp;quot;what do you think about Obama?&amp;quot;  and if they couldn't talk much about that, they didn't get hired.  Scott believes that everyone involved honestly wanted to get Obama  elected. When people started to follow the message they knew it was  working...&lt;/dd&gt;
      &lt;dt&gt;Q: Did you get metrics back from the non-digital  parts of the campaign?&lt;/dt&gt;
      &lt;dd&gt;A: They had field organisers reporting back into  the online metrics system, to get the offline information into the  system. They needed the numbers to be online to be able to use them  quickly enough.&lt;/dd&gt;
      &lt;dt&gt;Q: What was your biggest failure during the  campaign? ...and do red buttons work better than blue buttons?&lt;/dt&gt;
      &lt;dd&gt;A: Someone came and said they wanted a foam  presidential seal and put the Obama seal on the shield. They knew  they could do it, but the question was &lt;strong&gt;should&lt;/strong&gt; they do it?  Nobody was quite sure who could approve it, but they did it and put  it in front of Obama at a press conference. People went off on a  tangent thinking &amp;quot;Obama thinks he's already won, he's already  forming a government...&amp;quot; Repercussions all the way through to it  being brought up in the presidential debate. Big mistake! ...and actually red was superior to any other  colour, it stood out on the page, it was their highlight colour.&lt;/dd&gt;
      &lt;dt&gt;Q: What do you think about how the current parties  are putting out their message, including the tea party?&lt;/dt&gt;
      &lt;dd&gt;A: &amp;quot;I love the tea party, we needed comedy  back in politics! ...but really, I'm not a political person, I'm a  designer.&amp;quot; Scott actually avoids consuming too much media, he  tends to prefer political comedy to political news. It's more  entertaining when Jon Stuart makes a joke and you get a little bit of  news at the same time.&lt;/dd&gt;
    &lt;/dl&gt;
    &lt;p&gt;@simplescott&lt;/p&gt;
    &lt;h3&gt;Silvia Pfeiffer &amp;ndash; audio and video&lt;/h3&gt;
&lt;p&gt;&lt;a class="image" href="http://www.flickr.com/photos/200ok/5081195720/" title="silvia pfeiffer by 200ok, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4013/5081195720_aa858e9d92.jpg" width="500" height="98" alt="silvia pfeiffer" /&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;Running the presentation in browser &amp;ndash; &amp;quot;eating  my own dogfood... but if anything breaks that's because we're on the  leading edge of technology!&amp;quot;&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;Video: unfortunately you need to encode in at  least two formats, mp4 and webm recommended.&lt;/li&gt;
      &lt;li&gt;Audio: same deal, mp3 and ogg. There are other  formats supported in some browsers, but you can get coverage with the  two.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;How to encode these files? Open source ffmpeg  command line tool is good; there are some GUI option as well, but  it's also good for setting up a transcoding pipeline (it's what  youtube uses, although their pipeline is quite complex)&lt;/p&gt;
    &lt;p&gt;Supporting older browsers... you must support the  legacy browsers, but it's easy as you can put fallback content inside  the audio and video elements. Browsers that don't support the  elements will effectively ignore them.&lt;/p&gt;
    &lt;p&gt;You can use canPlayType() to check for codec  support and use that to tailor the experience as well.&lt;/p&gt;
    &lt;p&gt;For live streaming on http use m3u8.&lt;/p&gt;
    &lt;p&gt;Video has a good js API &amp;ndash; load, play, pause,  move forwards and back through the video, change playback speed etc.  You can create a rich set of custom controls and get a lot of  information back from the video element. You can find out the  buffered range; is it muted; is it seeking; etc. You can use video  events and state as triggers &amp;ndash; that allows things like custom  progress bars.&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;Video + SVG demo&lt;/strong&gt; &amp;ndash; a custom control floating  over a masked video. However SVG and video is very much a mixed bag  due to inconsistent browser support. eg. Opera supports video inside  SVG but others don't.&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;Video + canvas demo&lt;/strong&gt; &amp;ndash; can pull out tiles from a  video being played. Similar to the exploding video demo. Also able to  get an average colour from the video as it plays and change the  surrounding background colour. Search for &amp;quot;ambient video&amp;quot;  to see some neat demos. You can do reflections with the canvas;  really the only current way to do it and ensure they are in sync.&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;Video + Web Workers&lt;/strong&gt; &amp;ndash; making use of the ability  to throw a heavy/slow function to an independent thread &amp;ndash; demo:  face detection simply by finding the usual range of skin tones. It is  a little slow because it's going to a delegated thread and that can  create a noticeable delay.&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;Video + accessibility, &amp;lt;track&amp;gt;&lt;/strong&gt; - track  element goes inside the video element and you can place timed  subtitles, chunked metadata etc. This is in the html5 spec, not  finished yet and not ready for production but it is a standardised  way to mark up audio and video captions. This will not only help  accessibility it will be visible for SEO purposes. The controls also  open up a space for chapter selection, multiple language caption  support. Also you can provide audio descriptions for the blind. Being  able to do this direct to screen readers is a new option compared  with the older way of recording another audio track. Creating a  textual transcript is easier than multiple audio tracks; and users  can control the reading speed for the text descriptions to whatever  they are comfortable with.&lt;/p&gt;
    &lt;p&gt;WebSRT is the baseline format for captions and  audio descriptions. Intentionally similar to SRT files; yet a little  different. The choice of format is still under discussion in the  standardisation process. &lt;/p&gt;
    &lt;p&gt;@silviapfeiffer&lt;/p&gt;
    &lt;h3&gt;Ben Shwarz &amp;ndash; HTML5; building a better web&lt;/h3&gt;
    &lt;p&gt;[Aside: I did the full workshop so my notes are a  little brief.]&lt;/p&gt;
    &lt;p&gt;Kicking off with the timeline &amp;ndash; going back to  HTML 2 back in 1995 and a lot of browser development at the same  time. But then things slowed down... and Ben realised he'd used the  same markup standard for his whole professional life. In the same  time he'd had about four computers and seven phones... why the lack  of progress in the markup space?&lt;/p&gt;
    &lt;p&gt;Basically disillusionment with XHTML 1.1's  practicality led to Ben and many others going back to HTML 4.01 and  staying there. And then.... nothing happened. Until finally html5  came along.&lt;/p&gt;
    &lt;p&gt;W3C has a really hard job and do great work.  However they're not people who build websites every day, with clients  and deadlines. So they're concerned that the specs are acts of  fiction. We have people who aren't designers building and promoting  design  features.&lt;/p&gt;
    &lt;p&gt;The WHATWG was largely a reaction to this. People  from Opera/Apple/Moz got together and formed the WHATWG and went  through the HTML5 spec to define and document it better. They also  opened up the revision process and noted on each change who needs to  take notice of the change &amp;ndash; browser vendors, validators, editors.  The revision history tool is a very powerful tool.&lt;/p&gt;
    &lt;p&gt;Specifications are very big, very detailed, very  hard to read. They're built for browser vendors and not developers.  HTML5 has a web developer edition, maintained by Mike(tm) Smith. This  brings it down from 300k words to about 160k, which is much more  approachable. &lt;/p&gt;
    &lt;p&gt;Frustrated even with the design, Ben and his  business partner redesigned the spec pages to make them much nicer to  read. Within four hours Paul Irish had forked the code and  contributed a patch. Then it all went quiet for a long time, until he  was put in touch with Mike Smith. They had a meetup and decided to  push out the restyled edition &amp;ndash; and Mike pushed it live during this  presentation!&lt;/p&gt;
    &lt;p&gt;&lt;a class="image" href="http://www.flickr.com/photos/200ok/5081203976/" title="mike(tm) smith pushing the new design live... by 200ok, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4087/5081203976_daf5442f43.jpg" width="500" height="375" alt="mike(tm) smith pushing the new design live..." /&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;It's off brand for the W3C and if Ben and Mike  aren't taken out by W3C Ninja, next week hopefully  it will be  official.&lt;/p&gt;
 
 &lt;p&gt;
 &lt;a class="image" href="http://www.flickr.com/photos/200ok/5080640299/" title="html5 edition for web authors (before) by 200ok, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4028/5080640299_9628e744c6_m.jpg" width="240" height="129" alt="html5 edition for web authors (before)" style="border: 1px solid #ccc;" /&gt;&lt;/a&gt;
&lt;span style="font-size: 2em; "&gt;&amp;rarr;&lt;/span&gt; 
 &lt;a class="image" href="http://www.flickr.com/photos/200ok/5080640399/" title="html5 edition for web authors (after/originally done with greasemonkey) by 200ok, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4016/5080640399_e829c5e6cb_m.jpg" width="240" height="129" alt="html5 edition for web authors (after/originally done with greasemonkey)" style="border: 1px solid #ccc;" /&gt;&lt;/a&gt;
 &lt;/p&gt;
    &lt;p&gt;Feedback to the hashtag #html5author&lt;/p&gt;
    &lt;p&gt;Discussing Modernizr &amp;ndash; good way to help you roll  out html5 and know which features are supported. The classing system  allows per-feature support, eg. restyle according to whether columns  are supported or not.&lt;/p&gt;
    &lt;p&gt;Discussing the various session and offline  storage... application cache, ApplicationCache.status returns 0-5,  which is a set of status codes for things like uncached, idle, etc.  Websql pretty much stalled out; but localStorage is pretty cool. Note  that a) everything has to be stored as strings; and b) any browser  with local storage has a native JSON parser; so you'll probably use  stringify a lot...&lt;/p&gt;
    &lt;p&gt;You can also detect and bind events according to  whether the browser is online or offline.&lt;/p&gt;
    &lt;p&gt;@benschwarz&lt;/p&gt;
    &lt;h3&gt;Dan Rubin &amp;ndash; html5 and css&lt;/h3&gt;
&lt;p&gt;&lt;a class="image" href="http://www.flickr.com/photos/200ok/5081211134/" title="dan rubin by 200ok, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4088/5081211134_6e74a6cf76.jpg" width="500" height="110" alt="dan rubin" /&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;Pimping up the developments in html and css, but  particularly browser support. Even IE is getting exciting with IE9  shaping up to be a really good browser.&lt;/p&gt;
    &lt;p&gt;Patch support into legacy browsers with modernizr  and selectivizr.&lt;/p&gt;
    &lt;p&gt;Media queries &amp;ndash; best done in the CSS, many of  the queries will only be needed for small adjustments and that's not  worth the extra http hits. You can chain queries to meet quite  specific needs, right up to checking for high resolution screens.&lt;/p&gt;
    &lt;p&gt;Aside: the hot technique buzzword is definitely &lt;strong&gt;responsive design&lt;/strong&gt;.&lt;/p&gt;
    &lt;p&gt;Demo of really slick looking html5 podcast site - &lt;a href="http://thebox.maxvoltar.com/"&gt;http://thebox.maxvoltar.com/&lt;/a&gt; - including nice looking audio player...&lt;/p&gt;
    &lt;p&gt;Responsive design really isn't hard if you plan  for it. Build it into your designs, anticipate the differences and  make designs that are flexible. &lt;/p&gt;
    &lt;p&gt;&lt;a href="http://realworldcss3.com/resources/"&gt;Http://realworldcss3.com/resources/&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;@danrubin&lt;/p&gt;
    &lt;h3&gt;Steve Souders &amp;ndash; even faster websites&lt;/h3&gt;

 &lt;div class="image" style="width: 500px;"&gt;
 &lt;a href="http://www.flickr.com/photos/halans/5080380588/" title="Steve Souders by Halans, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4072/5080380588_6dec36e73f.jpg" width="500" height="333" alt="Steve Souders" /&gt;&lt;/a&gt;
 &lt;p class="caption"&gt;(Photo by JJ Halans)&lt;/p&gt;
 &lt;/div&gt;
 
    &lt;p&gt;It baffled Steve that there was a whole lot of  quantified data about how to make things faster but people weren't  really getting into it.&lt;/p&gt;
    &lt;p&gt;Testing showed drops of satisfaction and clicks  once search pages went past 2 seconds load times. Not only that but  it also reduces operating costs if your code doesn't need as much  hardware, bandwidth etc.&lt;/p&gt;
    &lt;p&gt;Q: Should you run Yslow or Page Speed? A: Both. They  both check things you should know but neither one does everything.&lt;/p&gt;
    &lt;p&gt;The &amp;quot;number  one take away today&amp;quot;: &lt;a href="http://www.webpagetest.org/test"&gt;webpagetest.org/test&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;Steve suggests an easy term to describe performance improvement... &lt;strong&gt;WPO: web performance  optimisation&lt;/strong&gt;. Drives traffic, improves ux, increases revenue, reduces  costs.&lt;/p&gt;
    &lt;p&gt;What makes sites feel slow? Most websites don't  practice progressive rendering. You get nothing until you get  everything. Demo video shows sites racing each other, some sites are  taking seriously long times to load.&lt;/p&gt;
    &lt;p&gt;Why focus on js? Because most browsers are  blocking all other downloads and execution while each js file  downloads and executes. Newer browsers are starting to download more  in parallel but even then they're not downloading it all at once.&lt;/p&gt;
    &lt;p&gt;More annoying: a lot of js being loaded isn't used  until after the page loads. That is, it could be lazy loaded. Page  Speed can give you a list of functions that weren't loaded, which is  a good guide to finding code that could be lazy loaded.&lt;/p&gt;
    &lt;p&gt;Several techniques to lazy load: XHR Eval, script  DOM element, iframed js, defer js, document.write... but each has  their own drawbacks.&lt;/p&gt;
    &lt;p&gt;Did a review of the top ten US sites and how they  load js... 6.5 get a thumbs up.&lt;/p&gt;
    &lt;p&gt;Mobile and wifi give different profiles again.  Mobile particularly gets weird as carriers are doing transcoding,  intermediate js, image resizing, all kinds of stuff... and it's slow.&lt;/p&gt;
    &lt;p&gt;@souders&lt;/p&gt;
    &lt;h3&gt;Josh Williams &amp;ndash; where are we going&lt;/h3&gt;
    &lt;p&gt;Started the presentation with an anecdote about proposing to his wife, using a  series of letters to get her to go around a series of locations which  were in some way significant to their relationship. She then created  a scrapbook of the day so she could share the experience.&lt;/p&gt;
    &lt;p&gt;So now he's building Gowalla which is the same  kind of thing &amp;ndash; a way to share places of significance.&lt;/p&gt;
    &lt;p&gt;Josh created pixel art for icon factory, moved on  through other projects to create Blinksale &amp;ndash; &amp;quot;a billing solution  we'd actually use ourselves&amp;quot; that had a sense of fun as  well as solving a problem. It provided a &amp;quot;game like wrapper&amp;quot;  to a fairly dry service.&lt;/p&gt;
    &lt;p&gt;Later created IconBuffet, a site which gave away  some icons but in sets &amp;ndash; some people got one set, others got  another set... it became a game to trade the  icons to get the full  set and collect badges, which increased exposure &amp;ndash; &amp;quot;tell your  friends&amp;quot;. They later found out fewer than 15% of the users  actually used the icons for anything. They realised most people were  just there for the community, not anything practical.&lt;/p&gt;
    &lt;p&gt;Causes uses game mechanics to encourage people to  give to charity. Over $25m raised. But of course the question is  should something serious be done via game mechanics? In any case it  seems to work, at least enough to take notice.&lt;/p&gt;
    &lt;p&gt;PackRat &amp;ndash; a game that expected users to play 1  hour a day... but they discovered to their alarm that people were  spending 6-10 hours a day playing a virtual trading card game!&lt;/p&gt;
    &lt;p&gt;Then Farmville happened... they asked themselves  if that was what they wanted to grow into. So they asked what to do  next. At that point the iphone happened...&lt;/p&gt;
    &lt;p&gt;Josh had a moment where he rang his dad to rib him  that he was at Lake Tahoe and his dad was stuck in Texas. That was  the lightbulb moment where  he imagined a checkin system that would  track places and make a game style mechanic around exploring and  connecting in the real world. If they could motivate people to sit in  a chair for hours on end, could they motivate people to go out and  explore the world?&lt;/p&gt;
    &lt;p&gt;Another source of inspiration was a charm bracelet  his late mother created during a european tour when she was a  student. A charm for each city and  a story for every charm. His  mother could recount  the tales of the trip by pulling out the charm  bracelet. So could that be done with an app?&lt;/p&gt;
    &lt;p&gt;They started putting in landmarks, sports  stadiums, airports, places people could go to and share the story and  take a picture. &lt;/p&gt;
    &lt;p&gt;Gowalla.... add go to a wallaby. No really!  Inspired by the film Australia and the desire to have a cute mascot,  and despite the &amp;quot;questionable quality&amp;quot; of the film... &amp;quot;but  the cinematography was great!&amp;quot;&lt;/p&gt;
 &lt;p&gt;&lt;a class="image" href="http://www.flickr.com/photos/200ok/5081214076/" title="go wallaby by 200ok, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4050/5081214076_a4d7c994b5.jpg" width="500" height="375" alt="go wallaby" /&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;Gowalla, Josh acknowledges, was in the right place  at the right time... hype is nice but the real world is better. They  have to grow the service and work on it. He cautions against placing  your trust in the future as described by great blogger social media  gurus and visionaries... how do you separate fads from the future?&lt;/p&gt;
    &lt;p&gt;Fads like checking in, game mechanics, badges,  geo-buzzwords. Josh advises to  be careful not to look them as the  answer to the web's problems, they're more like outcroppings of  services being built right now.&lt;/p&gt;
    &lt;p&gt;We also face overload. There was so much info  being shared, Twitter was noticeable when you were cut back to 140  characters and reduced the overload. Checking in however reduced it  even further, to just saying where you were at the time. Very low  friction.&lt;/p&gt;
    &lt;p&gt;Now people are checking in to tv, books, movies,  games, even intangibles like checking in to states of mind. There is  a very real risk of &lt;em&gt;check in burnout&lt;/em&gt;. Now the question is how  to bring value to the experience? An easy one is that if you check in  you could win an ipad.&lt;/p&gt;
    &lt;p&gt;Badges and game mechanics are neat, but not new  and they are subserviant to the service's actual value. People aren't  going to respond to a meaningless email just to gain a badge.&lt;/p&gt;
    &lt;p&gt;What people are really into is &lt;strong&gt;social  validation&lt;/strong&gt;. They don't want a badge, really, but they like to  brag to their friends that they visited another country. We like  people to reply, comment, retweet, favourite our stuff. &lt;/p&gt;
    &lt;p&gt;Interesting service: Quora. Question and answer  site with direct feedback... &amp;quot;it lights up as people respond....  it's like crack!&amp;quot;&lt;/p&gt;
    &lt;p&gt;Location in and of itself is boring &amp;ndash; context  and value matter. Checking in is a temporary solution to a more  complex problem, the best we have right now. Similarly game mechanics  aren't special sauce that makes everything tasty.&lt;/p&gt;
    &lt;p&gt;Mobile is the future of the web. Getting people to  get up, go outside and yet take the web with them... it's a huge  deal. Background services and passive applications are going to be a  big part of how the web grows. &lt;/p&gt;
    &lt;p&gt;@jw&lt;/p&gt;
    &lt;hr /&gt;
    &lt;p&gt;End of day one... whew!&lt;/p&gt;
    &lt;hr /&gt;
    &lt;h3&gt;Michal Migursky &amp;ndash; let's see what we can see&lt;/h3&gt;
 &lt;p&gt;&lt;a class="image" href="http://www.flickr.com/photos/200ok/5093483118/" title="managing the mess by 200ok, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4091/5093483118_6aa9962058.jpg" width="500" height="375" alt="managing the mess" /&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;From Stamen design, who did the digg visualiser  and lots of other data/visualisation projects.&lt;/p&gt;
    &lt;p&gt;Data as choices &amp;ndash; accepting data shaped by  someone else's choices is a tacit acceptance of their world view  (quote frmo mitchell whitelaw &lt;a href="http://sta.mn/gb"&gt;http://sta.mn/gb&lt;/a&gt;)&lt;/p&gt;
    &lt;p&gt;Dataviz can illustrate a problem &amp;ndash; eg. of  comprehension &amp;ndash; as well as clarify a concept.&lt;/p&gt;
    &lt;p&gt;Problems vs. Messes &amp;ndash; problems have solutions,  but messes can only be managed.&lt;/p&gt;
    &lt;p&gt;Twitter has given people &amp;quot;permission to  speak&amp;quot; in many contexts that were previously closed &amp;ndash; MTV  awards ceremonies, the olympics... pulling out the keywords from  twitter gives a new perspective and voice. You can see what  people  are really saying and what issues are causing discussion (norweigan  crazy pants at the curling...).&lt;/p&gt;
    &lt;p&gt;Showing a visualisation can reveal patterns and  change the way people react to an event &amp;ndash; anecdote about korean pop  star Rain not getting into the top 12 in an awards visualiser taken  from twitter keywords. His fans were complaining that he couldn't get  in, so they bumped up the visualiser to top 13 to let him in. The  fans then formed crazy theories about how it could have  happened......&lt;/p&gt;
    &lt;p&gt;A challenge of visualisation is presenting  combinations of information &amp;ndash; including communicating data sets  with variable precision. eg. Sea level measurement is not as accurate  at all measurement locations, some just don't have the same  precision. How do you include that into a visualisation? And how do  you make combined data sets approachable, human, understandable? How  do you make it personally relevant within a time scale that makes  them comprehensible?&lt;/p&gt;
    &lt;p&gt;50% is the number that people can naturally and  easily visualise, because it's the line between &amp;quot;ain't gonna  happen&amp;quot; and &amp;quot;probably going to happen&amp;quot;.&lt;/p&gt;
    &lt;p&gt;Crime trackers are popular because it's local  information. However crime data can be skewed by the way the police  report it &amp;ndash; or don't. Example of a guy who reported an assault from  home after the fact; and the crime was mapped to his home and not  where the assault occurred. (Oakland crime tracker)&lt;/p&gt;
    &lt;p&gt;Data is the public good. &lt;a href="http://sta.mn/qk5"&gt;http://sta.mn/qk5&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;How do you get data? How do you create it? ...use  what's there. Use the information and technology people already have  to create and gather more.&lt;/p&gt;
    &lt;p&gt;Crowdsourcing maps &amp;ndash; OpenStreetMap, Walking  Papers (where people print maps, draw and write on them then scan  them back in)&lt;/p&gt;
    &lt;p&gt;&lt;a href="http://sta.mn/gb"&gt;http://sta.mn/gm&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;Data is messy but you can create ways to get  useful data from the mess, guide and control the creation of the  mess.&lt;/p&gt;
    &lt;p&gt;Last three points...&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;
        &lt;p&gt;Know and choose where you get your raw   material&lt;/p&gt;
      &lt;/li&gt;
      &lt;li&gt;
        &lt;p&gt;problems and messes: know the differences,   embrace the messes&lt;/p&gt;
      &lt;/li&gt;
      &lt;li&gt;
        &lt;p&gt;look for the interesting in the merely   complicated&lt;/p&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
    &lt;h4&gt;Q&amp;amp;A&lt;/h4&gt;
    &lt;dl&gt;
      &lt;dt&gt;Q: How do you deal with responsibility, ie people  using the data for the wrong reasons?&lt;/dt&gt;
      &lt;dd&gt;A: Generally quite lightly, they place a fairly  high level of trust in people to do the right thing or at least be  responsible.&lt;/dd&gt;
      &lt;dt&gt;Q: How do you deal with the ethical implications  of presenting data in a certain way?&lt;/dt&gt;
      &lt;dd&gt;A: Biggest ethical consieration goes into the  tidal gague information mapping... the ethical implications is to  talk to the source of the data, to understand the limitations of the  data and what level of accuracy it has. &lt;/dd&gt;
      &lt;dt&gt;Q: have you encountered privacy breaches due to  the higher degree of granularity?&lt;/dt&gt;
      &lt;dd&gt;A: with the crimespotting project they essentially  offload that to the police, to only make suitable data available.  They don't show domestic or sexual crimes, for example; and they fuzz  the location &amp;ndash; they'll say &amp;quot;the hundred block of Main Street&amp;quot;  and not a specific number. With the twitter stuff it's almost the  opposite, since the start it's supposed to have been public &amp;ndash; so  it's a huge group of people that has been promised what they're doing  is broadcasting to the public. They don't use Facebook data because  it is ecumbered by the problems of starting private and drifting  public.&lt;/dd&gt;
      &lt;dt&gt;Q: crime mapping could be useful to ciminals  too... do you have a comment on that?&lt;/dt&gt;
      &lt;dd&gt;A: one of the things they saw early on was quite  bizarre... most crime reports are based on the type of crime. They  found with prostitution data there was an inversion... dead silence,  then a series of arrests. You could see the times the squad went out  and made arrests &amp;ndash; literally across the space of a couple of hours.  If you had access to that minute by minute, you might well know that  you should run away. However with paperwork delays it comes through  at least 24 hours later so it's not fast enough to be helpful.&lt;/dd&gt;
      &lt;dt&gt;Q: how are traditional media reacting to dataviz  efforts?&lt;/dt&gt;
      &lt;dd&gt;A: actually really well. The producers of TV shows  are reacting to the fact of the conversations taking place, and  working it into their shows. They have to have some level of control  for various reasons; but they're responding and reporting it even if  it's broad &amp;quot;Rhianna is trending heavily on twitter right now&amp;quot;.&lt;/dd&gt;
      &lt;dt&gt;Q: what was it like working with MTV and similar  companies with regard to dealing with negative feedback/messages  coming through?&lt;/dt&gt;
      &lt;dd&gt;A: actually quite well. They actually have a TJ  (TwitterJ) in the pre-show reporting on twitter trends. They're  finding the times through a broadcast that they'll allow negative  comments to be broadcast in the actual show, although they're still  less willing to push any of the negative stuff through.&lt;/dd&gt;
      &lt;dt&gt;Q: any roll on effects from the crime mapping? Do  people scurry home at 9pm?&lt;/dt&gt;
      &lt;dd&gt;A: the biggest effect is how people relate to the  police. People were going to meetings with the community beat officer  informed by the data from the site. They were prepared to have a more  informed discussion with the police.&lt;/dd&gt;
      &lt;dt&gt;Q: do you find that people come to you with an  outcome in mind, or do they give you the data for you to sift  through?&lt;/dt&gt;
      &lt;dd&gt;A: depends on the client. Some definitely have a  message in mind, an idea they want to  push and promote. Others, like  MTV, just want &amp;quot;excitement&amp;quot; and information they can use  during their show. Although generally they don't work with ad  agencies and other groups with super-specific outcomes in mind. It's  not really an ethical choice, just reflects the client base.&lt;/dd&gt;
      &lt;dt&gt;Q: do you have any ideas about ways to encourage  governments to release data is in consistent/better formats/&lt;/dt&gt;
      &lt;dd&gt;A: probably the best way is to do useful things  with what's already available, so they can see some value. If they  release stuff and nobody does anything with it, they tend to be a bit  discouraged and think nobody cares about the data. So we should use  the data even if it's a bit inconvenient at this point. By  demonstrating usage the sources may see the value and start releasing  it in a more useful format.&lt;/dd&gt;
    &lt;/dl&gt;
    &lt;p&gt;@migursky&lt;/p&gt;
 &lt;p&gt;&lt;a class="image" href="http://www.flickr.com/photos/200ok/5093488516/" title="rapt by 200ok, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4083/5093488516_ce334eca5b.jpg" width="500" height="375" alt="rapt" /&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;h3&gt;Mike Smith &amp;ndash; html5 report card&lt;/h3&gt;
    &lt;p&gt;Progress report on HTML5. Evaluating html5 (mike's  grades are overall, some things are better, some worse):&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;ancillary materials (mike gives B-)&lt;/li&gt;
      &lt;li&gt;tools support (mike gives C+)&lt;/li&gt;
      &lt;li&gt;features specced&lt;/li&gt;
      &lt;li&gt;features implemented&lt;/li&gt;
      &lt;li&gt;accessibility&lt;/li&gt;
    &lt;/ul&gt;
    &lt;h4&gt;Ancillary materials&lt;/h4&gt;
    &lt;p&gt;Some recommended resources:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://w3.org/TR/html5-diff"&gt;http://w3.org/TR/html5-diff&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://html5rocks.com/"&gt;http://html5rocks.com/&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;Books by Jeremy Keith, Bruce Lawson &amp;amp; Remy  Sharp, Mark Pilgrim (diveintohtml5.com)&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://html5doctor.com/"&gt;http://html5doctor.com/&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;the html5 &amp;quot;edition for web authors&amp;quot;  tweet and respond to #html5author ...you can also fork it from  benchwarz on github.&lt;/li&gt;
      &lt;li&gt;Sidenote: ecmascript spec, &lt;a href="http://sideshowbarker.github.com/es5-spec"&gt;http://sideshowbarker.github.com/es5-spec&lt;/a&gt; ...working to allow annotations.&lt;/li&gt;
      &lt;li&gt;New resource! &lt;a href="http://www.html5accessibility.com/"&gt;http://www.html5accessibility.com/&lt;/a&gt; - a chart of html5 features which are currently accessible, plus  workarounds for the ones which don't.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;h4&gt;Tools&lt;/h4&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://validator.nu/"&gt;http://validator.nu&lt;/a&gt; (stable) also at &lt;a href="http://w3.org/html/check"&gt;http://w3.org/html/check&lt;/a&gt; (unstable, mike's workspace code &amp;ndash; so more up to date, features not  yet committed upstream to validator.nu)&lt;/li&gt;

      &lt;li&gt;The more usual w3c validator does do html5 but  Mike's keen for feedback so use the unstable and let him know what's  going on.&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://modernizr.com/"&gt;http://modernizr.com&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://html5boilerplate.com/"&gt;http://html5boilerplate.com/&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;Adobe dreamweaver and illustrator cs5 now have  html5 packs.&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://html5readiness.com/"&gt;http://html5readiness.com/&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://caniuse.com/"&gt;http://caniuse.com/&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;h4&gt;HTML5 &amp;quot;the good parts&amp;quot;&lt;/h4&gt;
    &lt;ul&gt;
      &lt;li&gt;syntax simplifications&lt;/li&gt;
      &lt;li&gt;html5 parsing algorithm&lt;/li&gt;
      &lt;li&gt;mathml and svg&lt;/li&gt;
      &lt;li&gt;new elements and attributes&lt;/li&gt;
      &lt;li&gt;new apis for scripting&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;Mike gives A+ to all of these.&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;design principles&lt;/li&gt;
      &lt;li&gt;maintain xhtml support&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;[Aside: Good simplification is the doctype &amp;ndash;  although a number would have been nice &amp;ndash; short meta tags for  encoding, etc. Bad simplification is sloppy syntax like unquoted  attributes.]&lt;/p&gt;
    &lt;p&gt;Little known feature &amp;ndash; context menus (eg. For  right click). &amp;quot;Don't feel bad if you didn't know... even people  on a browser project didn't know about it... I won't name which  one...&amp;quot;&lt;/p&gt;
    &lt;p&gt;Related APIs: geo, device orientation/motion,  files, selectors, audio&lt;/p&gt;
    &lt;p&gt;@sideshowbarker&lt;/p&gt;

    &lt;h3&gt;html5 panel&lt;/h3&gt;
 &lt;p&gt;I didn't take notes in this as it was a freeform session, although I will say if you missed it it's worth checking the podcast for a vintage John Allsopp rant!&lt;/p&gt;
 &lt;p&gt;&lt;a class="image" href="http://www.flickr.com/photos/200ok/5092900459/" title="html5 panel by 200ok, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4088/5092900459_82421fc74a.jpg" width="500" height="375" alt="html5 panel" /&gt;&lt;/a&gt;&lt;/p&gt;

    &lt;h3&gt;Dmitry Baranovskiy - Rapha&amp;euml;l &lt;/h3&gt;
    &lt;p&gt;[Aside: get ready for some quotable quotes!]&lt;/p&gt;
    &lt;p&gt;You shouldn't really talk about Raphael... you  should &lt;strong&gt;do&lt;/strong&gt; things with Raphael.&lt;/p&gt;
    &lt;p&gt;&amp;quot;This is a great example... I would do it  better of course...&amp;quot;&lt;/p&gt;
    &lt;p&gt;Why Raphael? Why was it created, why would you use  it? We've heard lots about the awesome new features of html5, css3  etc... but welcome back to the real world, were IE6 is still alive  and will be for a while. &lt;/p&gt;
    &lt;p&gt;If you want to create really amazing stuff with  lots of interactivity, motion, rich media... Flash is generally  considered the answer. But it has two big problems: you have to know  quite a lot of stuff about it and you have to buy the software. Then  of course you'll run into iphones and ipads...&lt;/p&gt;
    &lt;p&gt;Raphael meanwhile uses SVG, backed with VML in IE.&lt;/p&gt;
    &lt;p&gt;&amp;quot;I want you to remember this. Raphael doens't  use canvas. Raphael doesn't use bloody fucking canvas!&amp;quot;&lt;/p&gt;
    &lt;p&gt;&amp;quot;VML is like the grandfather of SVG.... it's  an amazing stinking pile of garbage.&amp;quot;&lt;/p&gt;
    &lt;p&gt;However SVG and VML together work very well as a  solution; they have a similar ideology even if the technology is  different. Dmitry was able to bridge SVG and VML with Javascript.  Raphael however can only support the crossover features that are in  both SVG and VML. &lt;/p&gt;
    &lt;p&gt;Raphael is free, MIT license and will be forever,  that's never going to change.&lt;/p&gt;
    &lt;p&gt;Android doesn't support SVG because it would make  Webkit 1meg bigger. ....what?! &amp;quot;But if they can't do something  the iphone guys can do... then I guess Android sucks!&amp;quot;&lt;/p&gt;
    &lt;p&gt;Using Raphael...&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;create canvas/paper, three ways to do it but   you must create it to create things in it&lt;/li&gt;
      &lt;li&gt;then you can draw primitives &amp;ndash; circle,   rect, ellipse, image, text &amp;ndash; and each of them has a set of   attributes and functions&lt;/li&gt;
      &lt;li&gt;you can use attr with an object to do this in   a more convenient way&lt;/li&gt;
      &lt;li&gt;you can then animate things, eg. From point   to point; shape to shape
        &lt;ul&gt;
          &lt;li&gt;with the latest version of Raphael you can    now chain animations without callbacks&lt;/li&gt;
          &lt;li&gt;there is a new syntax for animation now!    W00t!&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;Next... you can create paths. Simple! ...but   path strings are quite long and annoying. They represent points and   paths to create shapes. M &amp;ndash; move to, then a number for X and Y to     move to; then L means line. Lowercase means relative, uppercase    means absolute.&lt;/p&gt;
    &lt;p&gt;But much easier than doing things manually, &lt;strong&gt;you can pull paths out of any .svg file   created in an editor&lt;/strong&gt;.&lt;/p&gt;
    &lt;p&gt;In the new version of Raphael you can create custom   attributes, which is a way to do unusual animations... although you   do need to know some maths :(&lt;/p&gt;
    &lt;p&gt;Plugins... Raphael is pluggable, you can   extend the paper or elements.&lt;/p&gt;
    &lt;p&gt;So, you can use Raphael. What can you &lt;strong&gt;actually&lt;/strong&gt; do with it?&lt;/p&gt;
    &lt;p&gt;Charts!&lt;/p&gt;
    &lt;p&gt;&amp;quot;The computers are ruining our peoples.&amp;quot;  Since it became easier to print stuff, things aren't beautiful any  more. &lt;/p&gt;
    &lt;p&gt;&lt;a class="image" href="http://www.flickr.com/photos/200ok/5092902451/" title="bad graph... good graph... by 200ok, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4132/5092902451_d6abca1dc4.jpg" width="500" height="375" alt="bad graph... good graph..." /&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;Charts are the same. Look at this chart... it's  awful! It's terrible, but it was so easy to create. It's 3D, so can  you tell the difference between segments at the top and bottom? The  perspective distortion means you can't actually read it. &amp;quot;This  is crazy chart. This chart makes no sense. Picture of Tom Cruise  would be better.&amp;quot;&lt;/p&gt;
    &lt;p&gt;If you draw it flat you can actually read it,  which is what is was for! Maybe it doesn't look as fancy.... &amp;quot;fuck  that!&amp;quot;&lt;/p&gt;
    &lt;p&gt;(showing a round colour picker) &amp;quot;There is  nothing stopping you doing this. Just you! Because you still think in  squares and rectangles.&amp;quot;&lt;/p&gt;
    &lt;p&gt;Raphael site doesn't use any images... is that  just for the sake of it? No, it's because the SVGs are smaller than  the images would have been. Plus, they scale when you zoom in! ...and  they look awesome if you print them, no pixelation!&lt;/p&gt;
    &lt;p&gt;(raphael icon set available for free)&lt;/p&gt;
    &lt;p&gt;Huge shout out to Lachlan for encouraging Dmitry  to continue with Raphael.&lt;/p&gt;
    &lt;p&gt;&amp;quot;Web is not rectangular any more. Break this  habit, take the red pill. Take two red pills.&amp;quot;&lt;/p&gt;
    &lt;h3&gt;Q&amp;amp;A&lt;/h3&gt;
    &lt;dl&gt;
      &lt;dt&gt;Q: I have a design background rather than js...  how long would it take to get started, where should i go?&lt;/dt&gt;
      &lt;dd&gt;A: You should really learn js, but if you can pick  up jQuery you should be able to pick up Raphael. &lt;/dd&gt;
      &lt;dt&gt;Q: is it accessible?&lt;/dt&gt;
      &lt;dd&gt;A: any screen reader that can read SVG will be ok,  but that means we need screen readers to read SVG... but since it's a  standard it should come through.&lt;/dd&gt;
    &lt;/dl&gt;
    &lt;p&gt;@RaphaelJS &lt;/p&gt;
    &lt;h3&gt;Tim Harrison - Designers, designers, designers&lt;/h3&gt;
    &lt;div class="image" style="width: 500px;"&gt;
 &lt;a href="http://www.flickr.com/photos/halans/5083243970/" title="WDX10 by Halans, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4084/5083243970_6616c15829.jpg" width="500" height="333" alt="WDX10" /&gt;&lt;/a&gt;
 &lt;p class="caption"&gt;(Photo by JJ Halans)&lt;/p&gt;
 &lt;/div&gt;
 
    &lt;p&gt;Two things to remember: rainbows and number twos! These are the only two things you need to know  about to do good design.&lt;/p&gt;
    &lt;p&gt;Tim went to the same art college as Joe  Strummer... he figured if it was good enough for punk rockers, it was  good enough for him.&lt;/p&gt;
    &lt;p&gt;Design became so easy that he thought... &amp;quot;even  cavemen could do it&amp;quot;. But then he realised humans have been  designing things since cave men started chipping out stone tools. &lt;/p&gt;
    &lt;p&gt;Looking back from stone tools, to the wheel, to  electricity, to the web, to the mobile web... the time between major  steps is compressing. What's going to be next? ...and how soon?&lt;/p&gt;
    &lt;p&gt;In the list of top 100 inventions of all time, &lt;a href="http://www.flickr.com/photos/roguemm/5085415804/"&gt;the  iPhone was 8, over number 9 &lt;strong&gt;the flushing toilet&lt;/strong&gt;&lt;/a&gt;. There's some  priorities for you.&lt;/p&gt;
    &lt;p&gt;Tim worked on the iphone launch... hilarious photo  of the iphone on a pedestal with people worshipping it... but the  iphone did bring a different level of design quality to the  mainstream &amp;ndash; in terms of being a wildly successful product that was  intentionally Well Designed.&lt;/p&gt;
    &lt;p&gt;&amp;quot;Design Thinking&amp;quot; as a standford  university d.school principle... example of an ipad app that was  rapid prototyped and highly successful in the marketplace.&lt;/p&gt;
    &lt;p&gt;So, should we be taking this stuff seriously? Yes.&lt;/p&gt;
    &lt;p&gt;McDonald's are starting design exercises to  improve customer experience, and the stock price is going up &lt;em&gt;in  anticipation&lt;/em&gt; of the results.&lt;/p&gt;
    &lt;p&gt;The rainbow is all  about experiences. (played the double rainbow video - &amp;quot;What does it meeeeeeeeeean?&amp;quot;)&lt;/p&gt;
    &lt;p&gt;In the bigger picture we should be working out how  to make things we build more exciting, life changing... more double  rainbow. It's the ultimate user experience.&lt;/p&gt;
    &lt;p&gt;Design challenge at apple: designing mini-stores,  to give the &amp;quot;full experience&amp;quot; in a very small space; and  still have a functional store. Also there wasn't room for a window  display; so they made the front all glass and put up backlit photos  inside the store that you could see as you walked past.&lt;/p&gt;
    &lt;p&gt;The little stores took off so well, they amped it  up to the bigger stores. They took the backlit photos through into  the larger stores.&lt;/p&gt;
    &lt;p&gt;&amp;quot;What I'm talking about here is considering  the impact of the WHOLE.&amp;quot; Every detail of the experience is part  of the experience.&lt;/p&gt;
    &lt;p&gt;Anecdote about challenging assumptions and  attitudes &amp;ndash; he was sent out with an art college assignment to draw  pets/animals. Came back with nice sketches of pets and the tutor said no, no,  go out and challenge your thinking. Draw your dog taking a dump  instead, look for something a little more challenging.&lt;/p&gt;
    &lt;p&gt;We don't like to be challenged, we like to stay in  our comfort zone. Fear is a strong motivator, both for action and  inaction. Showed examples of quite disturbing anti-AIDS posters done  in france, with people having sex with spiders and scorpions. It  certainly got people to pay attention.&lt;/p&gt;
    &lt;p&gt;But the other way is Honda's hybrid, the second  generation came out after the Prius was a success... and it looked  exactly like the Prius instead of finding its own design path.&lt;/p&gt;
    &lt;p&gt;Some principles...&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;Pay attention to the details&lt;/li&gt;
      &lt;li&gt;Simplify - remove the crap&lt;/li&gt;
      &lt;li&gt;Focus &amp;ndash; make it great&lt;/li&gt;
      &lt;li&gt;Cult-ivate &amp;ndash; embed ethos&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;Odd attitudes and promotion points:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;in .au things are labelled &amp;quot;fully   imported&amp;quot;&lt;/li&gt;
      &lt;li&gt;in .uk things are just made in china.&lt;/li&gt;
      &lt;li&gt;UK's favourite word is no, US is yes...   where's australia on that spectrum?&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;So now you know the secret formula...&lt;/p&gt;
    &lt;p&gt;rainbows + shit = awesome&lt;/p&gt;
    &lt;p&gt;Do you really need $2.4b to do things? No, you  really don't, you need to be creative. (example &amp;ndash; the  safety  dance, which probably cost $2 for an itunes track)&lt;/p&gt;
    &lt;p&gt;[At this point, the EEEpc reminded me I forgot to charge it at lunchtime and it gave up...]&lt;/p&gt;
    &lt;hr /&gt;
    And that brings us to the end of day two... where does the time go?!
    &lt;hr /&gt;
 &lt;h3&gt;Need more?&lt;/h3&gt;
    &lt;p&gt;Official resources and podcasts: &lt;a href="http://www.webdirections.org/events/#south10"&gt;http://www.webdirections.org/events/#south10&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;From what I've heard since, I regret missing this one: &lt;a href="http://www.webdirections.org/resources/james-bridle-wrangling-time-the-form-and-future-of-the-book/"&gt;James Bridle – Wrangling Time: The Form and Future of the Book | Web Directions&lt;/a&gt; ...here's hoping James comes back to WDS sometime! &lt;/p&gt;
    &lt;p&gt;Also, finally, a huge shout-out and thank you to &lt;a href="http://www.campaignmonitor.com/"&gt;Campaign Monitor&lt;/a&gt; for giving away an iPad... 64gig 3G no less... to me! Hell of a way to finish the conference! :)&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=sMA58KzJxCA:5lGuS6K6MXY:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=sMA58KzJxCA:5lGuS6K6MXY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=sMA58KzJxCA:5lGuS6K6MXY:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=sMA58KzJxCA:5lGuS6K6MXY:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/sMA58KzJxCA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/6089219274525372388/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2010/11/wds10-big-stonking-post.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/6089219274525372388" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/6089219274525372388" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/sMA58KzJxCA/wds10-big-stonking-post.html" title="wds10, the big stonking post&amp;trade;" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm5.static.flickr.com/4092/5079728508_624c46ea06_t.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2010/11/wds10-big-stonking-post.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-5576854284729596659</id><published>2010-09-01T01:23:00.015+10:00</published><updated>2010-09-01T12:22:13.112+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="frontend" /><category scheme="http://www.blogger.com/atom/ns#" term="work life" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title type="text">design pixels aren't frontend pixels</title><content type="html">&lt;p&gt;Something I've observed is frontenders and designers often &lt;em&gt;sound &lt;/em&gt;like they're talking about the same thing, while actually talking about different things.&lt;/p&gt;
  &lt;p&gt;That wouldn't matter so much if the two roles didn't work together a lot. When you hit the Design QA phase, you don't want to discover the hard way that pixels and padding are counted very differently by different people (and machines, for that matter).&lt;/p&gt;
  &lt;p&gt;In essence, design pixels are different from frontend pixels. Photoshop and Firebug will tell you different stories; and the humans using those tools will describe things in particular ways which meet their discipline's rules, but don't necessarily meet in the middle. &lt;/p&gt;
  &lt;p&gt;What am I on about? Well, let's run through some examples from my work life... dimensions have been changed to protect the innocent.&lt;/p&gt;
  &lt;h3&gt;how big's the image? &lt;/h3&gt;
  &lt;p&gt;Frontenders said an image could be 100px wide. When asked, they said of course it could have a 1px border and a 1px space between image and border.&lt;/p&gt;
  &lt;p&gt;No problems, right? &lt;/p&gt;
  &lt;p&gt;Well, frontenders thought that meant an a 100px image with an overall element size of 104px wide. Designers thought the image would be 96px wide, plus borders, with an overall size of 100px.  &lt;/p&gt;
  &lt;p&gt;What the? &lt;/p&gt;
  &lt;p&gt;Well, designers assumed &amp;quot;the image&amp;quot; &lt;em&gt;included&lt;/em&gt; the borders. Frontenders on the other hand assumed &amp;quot;the image&amp;quot; was literally the image, not including the padding and border added with CSS.&lt;/p&gt;
  &lt;p&gt;Both sides of this misunderstanding were gobsmacked that the other would think differently about something so obvious.  &lt;/p&gt;
  &lt;h3&gt;Font sizes&lt;/h3&gt;
  &lt;p&gt;&amp;quot;How big is the text on that page?&amp;quot; &lt;/p&gt;
  &lt;p&gt;Seriously, does that sound hard? Well, it turns out... people &lt;em&gt;said&lt;/em&gt; it was 13px, Firebug calculated the size as 13.333333px (good on ya, Firebug) and screenshots taken by the designer &amp;quot;showed 10px&amp;quot;. &lt;/p&gt;
  &lt;p&gt;Huh?&lt;/p&gt;
  &lt;p&gt;On further investigation, it turns out this particular designer was measuring font size from baseline to cap height. Whereas web fonts are more commonly measured by the height of the em square, that is, including the descenders as well (technically I think the em square goes from the top of the ascender rather than the cap height, but in this case it made no difference). &lt;/p&gt;
  &lt;p&gt;At any rate, the descenders accounted for the missing three pixels; and after a brief head scratch moment about where the other habit came from, fonts were measured including descenders and everyone was happy.&lt;/p&gt;
  &lt;p&gt;Sometimes you still don't get a neat solution, as some font settings will report a calculated size that doesn't match the rendered font. Don't believe me? Go make a test file with 12px Arial text and compare Firebug and a screenshot in Photoshop. I get 12px in Firebug, and 11px actual size in Photoshop.&lt;/p&gt;
&lt;p&gt;Firebug:&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://2.bp.blogspot.com/_GC5fWVafBdY/TH0pmSldpXI/AAAAAAAAAI4/wSL48yyGgAo/s400/fonts-12px-calculated.png" border="0" alt="Screenshot of Firebug reporting text as 12px" /&gt;&lt;/p&gt;
&lt;p&gt;Photoshop:&lt;/p&gt;
  &lt;p&gt;
&lt;img src="http://1.bp.blogspot.com/_GC5fWVafBdY/TH0jzVtojxI/AAAAAAAAAIw/ROKUbpPTEwE/s400/fonts-12px-or-11px.png" border="0" alt="Screenshot of supposedly 12px text being 11px high when checked in Photoshop." /&gt;&lt;/p&gt;

&lt;p&gt;So, if in doubt about font sizes... check a screenshot. Don't take a code inspector's word for it.&lt;/p&gt;

  &lt;h3&gt;Spacing&lt;/h3&gt;
  &lt;p&gt;&amp;quot;Put a 20px margin in there.&amp;quot;&lt;/p&gt;
  &lt;p&gt;We had two elements on the page, the top one finishing with a border; the one below it starting with text. The frontenders, having been instructed to put 20px margin in, set &lt;code&gt;margin: 20px;&lt;/code&gt; and moved on - only to have the spacing come back from design QA.&lt;/p&gt;
  &lt;p&gt;What the hell?&lt;/p&gt;
  &lt;p&gt;Well, the designers measured the gap from the border to the cap height, which added up to more than 20px. The frontenders measured to the element, not the text. The designers didn't really want a 20px margin per se, they wanted a total space of 20px from the bottom border to the top of the text in the next element. &lt;/p&gt;
  &lt;p&gt;Once a single method was agreed, Design QA got faster and smoother.&lt;/p&gt;
  &lt;h3&gt;So... who's right?&lt;/h3&gt;
  &lt;p&gt;Who cares? Basically both sides are right. When they are working in their discipline, both sides will discuss things in the manner appropriate to their job. That's how stuff gets done. &lt;/p&gt;
  &lt;p&gt;But when design and frontend are working together, neither side is right or wrong. It's good for both to understand the other, but it is not necessary or productive to expect one or other side to rewire their heads. &lt;/p&gt;
  &lt;p&gt;What matters is for people to agree on a vocab for the task at hand, because that's how you'll get what you want in the browser.&lt;/p&gt;
  &lt;h3&gt;How to avoid problems... &lt;/h3&gt;
  &lt;p&gt;Avoiding these problems isn't rocket science. The simplest thing is for design and frontend to talk to each other - crazy idea I know - and define the ways things will be measured. Plain and simple - don't assume, specify. &lt;/p&gt;
  &lt;p&gt;Even without an agreed way to measure things, you can always cross check spacing and font sizes by comparing mockups and screenshots. Zoom right in there and check what's actually going on - it's a different picture than what you'll get from code inspectors. &lt;/p&gt;
  &lt;p&gt;Many designers learn to use Firebug, so they can check what the browser thinks is going on; so they can work out the discrepancy between mockup and reality. Similarly, frontend and design can be extremely effective as a pair programming team - instead of Design QA going back and forth, try sitting together and tweaking things live. It might be quicker.&lt;/p&gt;
  &lt;p&gt;Meanwhile if you're setting out a style guide for the web, it can't hurt to specify how things are measured. If you were going to write &amp;quot;12px; black; Arial, Helvetica&amp;quot; it's not hard to specify &amp;quot;12px (em square height); black; Arial, Helvetica&amp;quot;.&lt;/p&gt;
  &lt;h3&gt;Conclusion&lt;/h3&gt;
  &lt;p&gt;Design and frontend need a common language, which can only happen if both sides accept that it's better to check the obvious than make assumptions. It's often the simple things that really trip you up, because they're so obvious nobody ever thought to check them.&lt;/p&gt;
  &lt;p&gt;The short version of all this is you need to forge a good working relationship between frontend and design. It doesn't matter what measurement system is used, so long as everyone knows what's going on.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=4wMDZdUaJDk:FQjV6i80n0o:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=4wMDZdUaJDk:FQjV6i80n0o:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=4wMDZdUaJDk:FQjV6i80n0o:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=4wMDZdUaJDk:FQjV6i80n0o:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/4wMDZdUaJDk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/5576854284729596659/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2010/09/design-pixels-arent-frontend-pixels.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/5576854284729596659" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/5576854284729596659" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/4wMDZdUaJDk/design-pixels-arent-frontend-pixels.html" title="design pixels aren't frontend pixels" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_GC5fWVafBdY/TH0pmSldpXI/AAAAAAAAAI4/wSL48yyGgAo/s72-c/fonts-12px-calculated.png" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2010/09/design-pixels-arent-frontend-pixels.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-3436782010216247228</id><published>2010-08-20T00:13:00.013+10:00</published><updated>2011-11-29T15:50:06.881+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="windows 7" /><category scheme="http://www.blogger.com/atom/ns#" term="xp mode" /><category scheme="http://www.blogger.com/atom/ns#" term="multiple ie" /><category scheme="http://www.blogger.com/atom/ns#" term="browser testing" /><category scheme="http://www.blogger.com/atom/ns#" term="virtual pc" /><title type="text">Browser Testing With Windows 7 XP Mode</title><content type="html">&lt;p&gt;For the past few years I've used &lt;a href="http://weblog.200ok.com.au/2009/01/microsoft-virtual-pc-tips.html"&gt;Microsoft Virtual PC (with the free test images)&lt;/a&gt; for testing browsers that won't coexist on a single machine (IE in particular). It's effective, although the image expiry makes things a bit tedious at times. &lt;/p&gt;
  &lt;p&gt;Windows 7 has changed the picture by including &amp;quot;XP Mode&amp;quot; - which is not really a &amp;quot;mode&amp;quot;, but a virtual Windows XP instance. I was initially discouraged to find you can't run up multiple instances of XP Mode, but thankfully &lt;a href="http://articles.sitepoint.com/article/ie6-ie7-ie8-win7-xp-mode"&gt;you can run up multiple &lt;em&gt;variations&lt;/em&gt; of your XP Mode instance&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The effect is the same, so I can only presume it would take some licensing guru at Microsoft to explain the reasons we have to jump through some hoops to set up a multiple-IE test environment.&lt;/p&gt;
  &lt;h4&gt;The goal&lt;/h4&gt;
  &lt;p&gt;The setup I currently need: &lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;One VM kept at IE6 (plus Firefox 3.0)&lt;/li&gt;
    &lt;li&gt;One VM upgraded to IE7 (plus Firefox 3.5 and Safari 4)&lt;/li&gt;
    &lt;li&gt;IE8 and latest Opera, Firefox, Safari, Chrome on the host system&lt;/li&gt;
    &lt;/ul&gt;
  &lt;p&gt;In future I'll need to run up another VM with IE8, to allow for IE9 on the host system. I also tend to run up another image for use with beta and preview browsers.&lt;/p&gt;
  &lt;h4&gt;Steps  to get there &lt;/h4&gt;
  &lt;ol&gt;
    &lt;li&gt;&lt;a href="http://www.microsoft.com/windows/virtual-pc/download.aspx"&gt;Download and install XP Mode, Virtual PC and the XP Mode Update&lt;/a&gt;.      &lt;/li&gt;
    &lt;ul&gt;
      &lt;li&gt;Don't fight it: use IE to download these packages. It makes the activation step much easier.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li&gt;Start XP Mode
    &lt;ul&gt;
      &lt;li&gt;Start &amp;rarr; All programs &amp;rarr; Windows Virtual PC &amp;rarr; Windows XP Mode &lt;/li&gt;
        &lt;li&gt;You'll end up with a Windows XP SP3 instance up and running. &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Note this is a proper XP instance. &lt;strong&gt;Treat it like a real machine&lt;/strong&gt; because that's basically what it is. That does mean you have to...
      &lt;ul&gt;
        &lt;li&gt;Install OS updates &lt;/li&gt;
          &lt;li&gt;Install your usual firewall and antivirus apps &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;li&gt;Run Windows Update as many times as required to get up to date - just be careful not to install a new version of IE during the updates. &lt;/li&gt;
    &lt;ul&gt;
      &lt;li&gt;I actually installed a firewall on the source image, although it's not clear if that could cause problems. &lt;/li&gt;
      &lt;/ul&gt;
    &lt;li&gt;The colour level is initially limited to 16bit, which really isn't adequate for.... well, anything I do with VMs. So...
      &lt;ul&gt;
        &lt;li&gt;To enable 24-bit without disabling integration features (hat tip for technique goes to the &lt;a href="http://articles.sitepoint.com/article/ie6-ie7-ie8-win7-xp-mode"&gt;Sitepoint article about XP Mode and differencing&lt;/a&gt;): 
          &lt;ul&gt;
            &lt;li&gt;Tools &amp;rarr; Disable Integration Features&lt;/li&gt;
            &lt;li&gt;Log back in to XP Mode &lt;/li&gt;
            &lt;li&gt;Start &amp;rarr; Run &amp;rarr; mmc &lt;/li&gt;
            &lt;li&gt;File &amp;rarr; Add/Remove Snap-in&lt;/li&gt;
            &lt;li&gt;Select Group Policy Object Editor, click Add then Finish, Close and OK.&lt;br /&gt;
              Go to Local Computer Policy &amp;rarr; Computer Configuration &amp;rarr; Administrative Templates &amp;rarr; Windows Components &amp;rarr; Terminal Services&lt;/li&gt;
            &lt;li&gt;Select the Limit Maximum Color Depth setting, select Enabled and set Color Depth to 24-bit&lt;/li&gt;
            &lt;li&gt;Close the console.&lt;/li&gt;
            &lt;li&gt;Set the desired resolution on the virtual desktop&lt;/li&gt;
            &lt;li&gt;Tools &amp;rarr;  Enable Integration Features.&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;To enable 32-bit colour, you need to disable integration features [Tools &amp;rarr; Disable integration features]. So unless you really must have 32 bit colour, I'd stick to 24-bit colour. &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;li&gt;If you have any standard system tweaks you like to do (Folder Options spring to mind) now's the time to do them. Remember that any settings you change here will be done for all the subsequent test VMs.&lt;/li&gt;
    &lt;li&gt;When you have your initial image patched, shut it down (don't hibernate it).
      &lt;ul&gt;
        &lt;li&gt;Note that you won't be running or using this image directly after this, but the VMs access it as their source image. Modifying the source image will break the variations, so it's recommended you don't touch it at all (set it to read only to be really sure). &lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Create a new VM using differencing: &lt;/li&gt;
    &lt;ul&gt;
      &lt;li&gt;Start &amp;rarr; Programs &amp;rarr; Windows Virtual PC &amp;rarr; Virtual Machines &amp;rarr; Create virtual machine&lt;/li&gt;
        &lt;li&gt;I named the first one &amp;quot;XP Mode IE6&amp;quot; &lt;/li&gt;
        &lt;li&gt;Give each VM at least 256 megs (I give mine 512 and they're pretty happy). &lt;/li&gt;
        &lt;li&gt;In the &amp;quot;Add a virtual hard disk&amp;quot; step, choose &amp;quot;Create a virtual hard disk using advanced options&amp;quot;.&lt;/li&gt;
        &lt;li&gt;Choose the &amp;quot;differencing&amp;quot; option and when you reach the &amp;quot;Specify a parent...&amp;quot; tab, point to &amp;quot;Windows XP Mode.vhd&amp;quot; which is the XP mode disk you just created. It will probably be in &lt;code&gt;C:\Users\&lt;strong&gt;&lt;em&gt;YOURUSERNAME&lt;/em&gt;&lt;/strong&gt;\AppData\Local\Microsoft\Windows Virtual PC\Virtual Machines&lt;/code&gt; ...to find this, you may need to change your folder settings to show hidden files. I also found it useful to copy the location into clipboard then go back to the VM setup. &lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Repeat this step&lt;/strong&gt; at least once to get an image with IE7.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;li&gt;You should now see at least three VMs when you go to your Virtual Machines directory - the original Windows XP Mode, plus the new ones. &lt;/li&gt;
    &lt;li&gt;Out of the box the images have IE8 blocked in Windows Update, so...
      &lt;ul&gt;
        &lt;li&gt;To keep IE6, basically just do nothing.&lt;/li&gt;
          &lt;li&gt;To install IE7, you'll have to &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=9AE91EBE-3385-447C-8A30-081805B2F90B&amp;amp;displaylang=en"&gt;download the IE7 installer&lt;/a&gt; and set it up manually.&lt;/li&gt;
          &lt;li&gt;To install IE8: run Windows Update &amp;rarr; Custom &amp;rarr; Restore hidden updates &amp;rarr; select the IE8 update &amp;rarr; Install Updates.&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;IE6 and IE7 don't come with the developer toolbar installed, so you'll need to &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&amp;amp;displaylang=en"&gt;download the IE Developer Toolbar&lt;/a&gt; and install it on those VMs. &lt;/li&gt;
    &lt;li&gt;On each VM, change the Computer Name to avoid networking clashes.      &lt;/li&gt;
    &lt;ul&gt;
      &lt;li&gt;Go to System Properties &amp;rarr; Computer Name &amp;rarr; Change &amp;rarr; enter a new computer name. &lt;/li&gt;
        &lt;li&gt;In a corporate environment I'd suggest you use some derivative of the host machine's name, in case your network guys ever need to find this extra &amp;quot;machine&amp;quot; they're seeing.  &lt;/li&gt;
      &lt;/ul&gt;
    &lt;li&gt;Reminder... if you haven't set up security measures on your VMs, go do it now! &lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;If you don't like the differencing method, there is an &lt;a href="http://www.sevenforums.com/tutorials/21904-virtual-xp-machine-copy.html"&gt;alternative method where you copy and edit the virtual machines&lt;/a&gt;. I've found the differencing method was pretty low-fuss in practice so I haven't tried the copy/edit method. &lt;/p&gt;
  &lt;h3&gt;OS integration&lt;/h3&gt;
  &lt;p&gt;On my machine I've found XP Mode VMs work like any other application... it's just that one window happens to be an entire instance of Windows XP. &lt;/p&gt;
  &lt;p&gt;There's no appreciable lag switching to the VM window even using Aero Flip (windows+tab) and you can move the window around on the screen with no issues.&lt;/p&gt;
  &lt;p&gt;Resizing the window or toggling full screen mode is an exception to the overall illusion that the VM is just another window. The VM treats the resize as an actual resolution change, with a 2-3 second pause while it resets itself. So far I haven't found that to be much of a problem since I very rarely resize my VM windows. &lt;/p&gt;
  &lt;p&gt;Going into full screen mode takes over the whole screen, same as for any remote desktop connection. &lt;/p&gt;
  &lt;p&gt;It's worth noting you can shut down the VMs and run virtualised applications like normal windows on the host machine, I just prefer running the VMs to keep the virtualised browsers together. &lt;/p&gt;
  &lt;h3&gt;performance&lt;/h3&gt;
  &lt;p&gt;I've been pleasantly surprised by the performance of XP Mode on my home machine. The virtual machines are responsive enough even when debugging with the IE Developer Toolbar. There's some lag, but nothing unmanageable so long as you accept that VMs are not performance machines. &lt;/p&gt;
  &lt;p&gt;The limited performance does mean details of your interaction animations - fades, slides etc - aren't smooth. A simple jQuery fade in IE7 on XP Mode steps through a short series of shades rather than an actual fade.&lt;/p&gt;
  &lt;p&gt;So the VM will be fine to do things like confirm a dropdown menu works and a fade effect occurs, but not to check that the fade is smooth. If you need high fidelity this solution probably isn't for you. Mind you, I've never seen a truly smooth VM for that kind of work.&lt;/p&gt;
  &lt;p&gt;Performance on my work machine, however, ranges from ok to slow motion. That is probably because I also run a Java IDE and full application instance; and it seems that can cripple pretty much any machine.&lt;/p&gt;
  &lt;h3&gt;resource usage   &lt;/h3&gt;
  &lt;p&gt;My dev machines have plenty of RAM available, so I give each VM a potential 512megs to play with. But it's not like they're massive memory hogs - right now Task Manager is reporting a total of 50megs RAM used up by VPC and two VMs.&lt;/p&gt;
  &lt;p&gt;I would guess that there's some level of system cost being absorbed by other, less obviously named processes. But even with a lot of applications running at once, the VMs don't seem to take up huge amounts of RAM or peg processors (YMMV). &lt;/p&gt;
  &lt;h3&gt; what about Virtual PC? &lt;/h3&gt;
  &lt;p&gt;Setting up XP Mode includes installing Virtual PC, which implies that Virtual PC will work the same as it always did. However in my experience that's not true. I don't get a Virtual PC console and the browser testing images from Microsoft don't work very well - the integration features won't work and the VMs trap the mouse rather than behaving like a window. &lt;/p&gt;
  &lt;p&gt;If you really don't want to mess around with differencing and you rarely have to look at IE6, the free Virtual PC test images might be a solution for you. But I wouldn't want to use them all day every day. &lt;/p&gt;
  &lt;h3&gt;getting files on and off the vm &lt;/h3&gt;
  &lt;p&gt;Once you have your XP Mode VMs up and running, there are a few ways to get your files into the VM for testing (presuming you can't just point the browsers at a local web server).&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;The easiest option is to simply share the hard drives on the host machine (requires integration features)
      &lt;ul&gt;
        &lt;li&gt;Right-click the VM file &amp;rarr; Settings &amp;rarr; Integration Features &amp;rarr; Drives. You'll need to restart the VM (not hibernate) for the new drives to show up. &lt;/li&gt;
        &lt;li&gt;All shared drives will appear in the VM as network drives and work accordingly.&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Set up windows file sharing, the same as between two physical machines. Works much the same way as the first option, but is theoretically more secure. &lt;/li&gt;
    &lt;li&gt;Attach a USB drive to the VM, then detach and access it from the host.
      It's pretty low tech, but requires zero setup.
      &lt;ul&gt;
        &lt;li&gt;Use the &amp;quot;USB&amp;quot; menu in your VM to attach and release drives. &lt;/li&gt;
        &lt;li&gt;Note each USB drive will only be available to one machine at a time. &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;In some configurations, you might be able to copy and paste files between the VM and the host system. However even when it works, it really only copes with small files and it was very slow when I tried it (a 15meg file was painful and I gave up before a 100meg file had copied successfully). I don't know why it's so slow, but based on my experience I wouldn't recommend this option.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;p&gt;If you rarely need to copy or access host files from the VM, the USB option isn't too bad. I test a lot of flat files, so I go with the shared hard drives. &lt;/p&gt;
  &lt;h3&gt;conclusion&lt;/h3&gt;
  &lt;p&gt;Hoop jumping aside, XP Mode really is a pretty nice virtualisation system. It avoids the annoyance of expiring test images and integrates neatly into the host system. While I wouldn't switch to Windows 7 just for XP Mode, it's certainly a key feature for developers. &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=G-NUr5mTOy0:t45lNtw7yDs:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=G-NUr5mTOy0:t45lNtw7yDs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=G-NUr5mTOy0:t45lNtw7yDs:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=G-NUr5mTOy0:t45lNtw7yDs:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/G-NUr5mTOy0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/3436782010216247228/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2010/08/browser-testing-with-windows-7-xp-mode.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/3436782010216247228" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/3436782010216247228" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/G-NUr5mTOy0/browser-testing-with-windows-7-xp-mode.html" title="Browser Testing With Windows 7 XP Mode" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2010/08/browser-testing-with-windows-7-xp-mode.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-2919120342881097434</id><published>2010-06-30T23:09:00.012+10:00</published><updated>2011-11-17T18:36:12.522+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="wacom" /><category scheme="http://www.blogger.com/atom/ns#" term="bamboo" /><category scheme="http://www.blogger.com/atom/ns#" term="review" /><title type="text">review: wacom bamboo pen and touch</title><content type="html">&lt;div class="hreview"&gt;
  &lt;p&gt;For the past few months I've been using a &lt;span class="item"&gt;&lt;span class="fn"&gt;Wacom Bamboo Pen + Touch&lt;/span&gt;&lt;/span&gt; tablet, replacing the &lt;a href="http://weblog.200ok.com.au/2008/04/review-wacom-bamboo-graphics-tablet.html"&gt;original Bamboo I reviewed a while ago&lt;/a&gt;. I've given a pretty good workout on both Windows XP and Windows 7, so it's about time to review this one too. &lt;/p&gt;
  &lt;p&gt;&lt;em&gt;Disclosure: the Pen + Touch was a freebie from Wacom, since a local rep saw my original review and wondered if the new one addressed the concerns I'd raised.&lt;/em&gt;&lt;/p&gt;

  &lt;div class="description"&gt;
  &lt;h3&gt;quick background &lt;/h3&gt;
  &lt;p&gt;I use the tablet as a mouse replacement/alternative, for ergonomic reasons. I still have a mouse for gaming and the occasional time when I just can't manage a hover interaction with the pen (tooltips for tiny icons are the worst). &lt;/p&gt;
  &lt;p&gt;I've previously used an Intuos3 at work and an old Bamboo at home. The old Bamboo was good, although not perfect - in particular the &amp;quot;touch ring&amp;quot; simply didn't work for me, which mean I couldn't easily scroll pages up and down using the Bamboo. &lt;/p&gt;
  &lt;p&gt;Scrolling by clicking and dragging the scrollbar was one thing that still put a lot of strain onto my hand (not to mention a decent dint in the surface along the edge of the tablet). That was a bit of an Achilles Heel, but otherwise it was a  nice little tablet (especially for the price). I did wish at times they'd included a touch strip like the one on the Intuos3.&lt;/p&gt;
  &lt;h3&gt;pen + touch = nice!&lt;/h3&gt;
  &lt;p&gt;&lt;img src="http://3.bp.blogspot.com/_GC5fWVafBdY/TCtCFi3T39I/AAAAAAAAAII/uTnwWJgahvE/s400/bamboo-pen-and-touch-product-shot1.jpg" border="0" alt="Photo: obligatory product shot" /&gt;&lt;/p&gt;
  &lt;p&gt;The Bamboo Pen and Touch is a next step that probably should have been obvious, but I never thought of it - the whole tablet is also a touch pad. So you can switch between using the pen and using your fingertips (multi touch). &lt;/p&gt;
  &lt;p&gt;What's interesting is that at work I still have an old Bamboo, and people regularly try to use it as a touch pad. I think our input paradigms have shifted a bit! &lt;/p&gt;
  &lt;p&gt;In any case my immediate thought about the combo was... &amp;quot;can I use the touch to scroll and the pen for everything else?&amp;quot;&lt;/p&gt;
  &lt;p&gt;The short answer is yes. It's not always perfect, with the occasional bit of lag when switching between the pen and touch modes; and touch-scrolling could definitely be snappier. But in general it works well. &lt;/p&gt;
  &lt;h3&gt;pen&lt;/h3&gt;
  &lt;p&gt;The new pen is a slightly different shape (flat down one side); and feels a little different on the tablet surface. However it has a nice feel, retaining the surprisingly-good precision of the first Bamboo.&lt;/p&gt;
  &lt;p&gt;The pen is a little small when you use it all the time, the thicker pen on the Intuos3 was more comfortable for extended use. It's a minor difference but all the same if Wacom offered a bigger replacement pen for the Bamboo I'd buy it. Sadly from what I've heard the Bamboo and Intuos pens are not interchangeable. &lt;/p&gt;
  &lt;p&gt;It is interesting to note that the default click method has switched from &lt;em&gt;Hover Click&lt;/em&gt; to &lt;em&gt;Click &amp;amp; Tap &lt;/em&gt; - apparently I'm not the only one who was switching that around. It's a far more precise and less error-prone way to set up the tablet.&lt;/p&gt;
  &lt;h3&gt;no pen stand&lt;/h3&gt;
  &lt;p&gt;&lt;img src="http://2.bp.blogspot.com/_GC5fWVafBdY/TCtCF4VhmGI/AAAAAAAAAIQ/VXi3LDZUQ2k/s400/bamboo-pen-and-touch-product-shot2.jpg" border="0" alt="Photo: the pen tucked into the loop at the side ofthe tablet" /&gt;&lt;/p&gt;
  &lt;p&gt;One strange decision with the new Bamboo was leaving out a pen stand. The manual says this is because storing the pen in a stand could damage it, which is weird when all other Wacoms I've used had a stand. &lt;/p&gt;
  &lt;p&gt;Instead, when you're not using the pen, you're supposed to stick the pen in the red loop attached to the side of the tablet.&lt;/p&gt;
  &lt;p&gt;I type a lot so I'm always putting the pen back in its stand, which means it's just not viable for me to put the pen back in the loop over and over again. To solve this issue I use the old Bamboo's stand - if that hurts the stylus, c'est la vie.&lt;/p&gt;
  &lt;p&gt;Depending on your work style, this might not be an issue. For example if you do long stretches with the stylus, putting the pen in the loop occasionally might not be a problem. &lt;/p&gt;
  &lt;h3&gt;touch and multitouch &lt;/h3&gt;
  &lt;p&gt;Touch is obviously all new. The Bamboo is nice to use in touch mode, with precise movement and no accidental flick when you pick your finger back up. &lt;/p&gt;
  &lt;p&gt;All the expected touch gestures are here - two fingered scrolling, pinch zoom, flick forwards and back, etc. The settings panel has animated demos in case you're not familiar with a touch interface:&lt;/p&gt;
  &lt;p&gt;&lt;img src="http://4.bp.blogspot.com/_GC5fWVafBdY/TCtDIIMKY5I/AAAAAAAAAIY/WsD0Lm3mS2c/s400/bamboo-pen-and-touch-settings.png" border="0" alt="Screenshot: configuration screen with explantory animation" /&gt;&lt;/p&gt;
  &lt;p&gt;Realistically though if you've used a multi-touch tablet or touch pad before it's pretty much what you'd expect. There's not much more to say, really - it's multitouch, and it works! &lt;/p&gt;
  &lt;h3&gt;windows xp and windows 7 &lt;/h3&gt;
  &lt;p&gt;Under Windows XP the drivers were pretty standard, no big tricks. Windows 7 has a lot of extensions for tablet PCs, which would be great for an actual tablet PC. However since I'm on a desktop, I found that I really didn't make much use of them.&lt;/p&gt;
  &lt;p&gt;This is not a fault with the tablet features in Windows 7, in fact if I had a tablet PC there's no doubt I'd use at least some of them. But the hand-eye disconnect is too much for me on a desktop. Besides, you don't want to attempt to read my handwriting anyway ;)&lt;/p&gt;
  &lt;h4&gt;windows 7 driver instability &lt;/h4&gt;
  &lt;p&gt;One frustration has been tablet driver stability under Windows 7. Ocasionally the pen is too erratic to use on first boot; or it will start randomly clicking. I've learned to check tablet function on boot and immediately reboot if it's flaky. &lt;/p&gt;
  &lt;p&gt;Since I didn't have these problems on Windows XP, and friends with Macs don't report the same issue, I am pretty sure this is a driver problem or some form of system setup clash.&lt;/p&gt;
  &lt;p&gt;Some research suggests it may have something to do with Win7's file system permissions setup; but so far the suggested solutions haven't resolved the issue. I'm hoping a Wacom driver update or Win7 service pack will resolve this. &lt;/p&gt;
  &lt;p&gt;Thankfully this problem doesn't occur too often so it's not a deal breaker. Mind you if it started happening daily, it would be a very different story.&lt;/p&gt;
  &lt;h3&gt;in the box...&lt;/h3&gt;
  &lt;p&gt;I should quickly cover the extras included:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Extra pen nibs and a nib removal tool&lt;/li&gt;
    &lt;li&gt;Photoshop Elements and other support software&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;These are pretty good inclusions, assuming that nib removal tool works (haven't worn out a nib yet). Having seen some pretty dodgy bundled software over the years, it's nice to see something like Photoshop Elements which would actually be useful to many home users (eg. for simple photo edits).&lt;/p&gt;

  &lt;/div&gt;&lt;!-- // .description --&gt;
  &lt;div class="summary"&gt;
  &lt;h3&gt;summary&lt;/h3&gt;
  &lt;table width="100%" border="1"&gt;
    &lt;tr&gt;
      &lt;th width="50%" scope="col"&gt;Good&lt;/th&gt;
      &lt;th width="50%" scope="col"&gt;Bad&lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td width="50%"&gt;&lt;ul&gt;
        &lt;li&gt;Pen+touch is a great combination&lt;/li&gt;
        &lt;li&gt;Multi touch capability &lt;/li&gt;
        &lt;li&gt;Good tablet for a low price&lt;/li&gt;
      &lt;/ul&gt;&lt;/td&gt;
      &lt;td width="50%"&gt;&lt;ul&gt;
        &lt;li&gt;Some lag switching modes and scrolling&lt;/li&gt;
        &lt;li&gt;No pen stand&lt;/li&gt;
        &lt;li&gt;Stability issues in Windows 7&lt;/li&gt;
      &lt;/ul&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
  &lt;p&gt;Driver issues aside, this is another good tablet in the Bamboo range. The pen and touch combination is awesome and I hope they keep offering it in future Bamboo lineups. Being able to use multi-touch on my desktop is nice after getting used to it on laptops. &lt;/p&gt;
  &lt;p&gt;The multi-touch scrolling makes up the gap left by the old Bamboo's touch ring, with only the lag issues preventing full marks.&lt;/p&gt;
  &lt;p&gt;My wishlist for future models would be to go back to a separate pen stand; and offer a range of premium stylus/pen options. Or possibly to see the pen+touch idea migrate to the Intuos range. &lt;/p&gt;
  &lt;/div&gt;&lt;!-- // .summary --&gt;
&lt;/div&gt;&lt;!-- // .hreview --&gt;

&lt;h3&gt;Update 2011.07.17&lt;/h3&gt;
&lt;p&gt;Driver stability has continued to be a huge issue under Windows 7 with v5.2.1-6a of the drivers. One workaround I've found is that if pen input is erratic on startup, restore your preferences via the Pen Tablet Preferences File Utility. That seems to restart the driver or at least do something that gets things under control. Obviously you have to make a backup first, so you can restore it later. Wacom do seem to be updating the drivers at last, will see if that improves matters however since they're marked RC I'm not sure they are stable.&lt;/p&gt;
&lt;p&gt;
I've also found you will probably want to tune (or simply disable) some of the Win7 features aimed at tablet PCs which kick in when it detects the tablet. First off, hit the &lt;strong&gt;Tablet PC Settings&lt;/strong&gt; if you find context menus opening to the wrong side of the cursor (see the left/right handed settings):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open Local Group Policy Editor (Run gpedit.msc)&lt;/li&gt;
&lt;li&gt;Go to User Configuration &amp;rarr; Administrative Templates &amp;rarr; Windows Components &amp;rarr; Tablet PC &amp;rarr; Cursors&lt;/li&gt;
&lt;li&gt;Enable the Turn off pen feedback setting.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;(&lt;a href="http://www.sevenforums.com/hardware-devices/11375-wacom-tablet-ring-round-pen-cursor-2.html#post341463"&gt;Found this tip in the Win7 forums&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;If you, like most people, hate the little animated rings that appear when you're trying to click and hold you can get rid of those. Go to Pen and Touch settings &amp;rarr; Pen Options &amp;rarr; Settings &amp;rarr; disable press and hold for right-clicking.&lt;/p&gt;
&lt;p&gt;
It shouldn't be that hard, but hey at least you can get rid of them.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=waIgKzQDEyw:xo7QxK5XFao:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=waIgKzQDEyw:xo7QxK5XFao:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=waIgKzQDEyw:xo7QxK5XFao:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=waIgKzQDEyw:xo7QxK5XFao:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/waIgKzQDEyw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/2919120342881097434/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2010/06/review-wacom-bamboo-pen-and-touch.html#comment-form" title="10 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/2919120342881097434" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/2919120342881097434" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/waIgKzQDEyw/review-wacom-bamboo-pen-and-touch.html" title="review: wacom bamboo pen and touch" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_GC5fWVafBdY/TCtCFi3T39I/AAAAAAAAAII/uTnwWJgahvE/s72-c/bamboo-pen-and-touch-product-shot1.jpg" height="72" width="72" /><thr:total>10</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2010/06/review-wacom-bamboo-pen-and-touch.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-3568720665893568329</id><published>2010-05-24T00:06:00.001+10:00</published><updated>2010-05-24T00:09:11.955+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="interoperability" /><category scheme="http://www.blogger.com/atom/ns#" term="adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="web standards" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="iphone" /><category scheme="http://www.blogger.com/atom/ns#" term="ipad" /><category scheme="http://www.blogger.com/atom/ns#" term="apple" /><title type="text">no flash? use standards? the game hasn't changed</title><content type="html">&lt;p&gt;I've felt torn watching the current spat between Apple and Adobe. On the one hand, it might move a few people away from building Flash sites. On the other hand, it bothers me to have people act like it's suddenly a game-changer - it means they just aren't paying attention.&lt;/p&gt;
  &lt;p&gt;As an aside it also bothers me to have Steve Jobs talking about open standards, because it's unsettling to have your agenda pushed by someone who most likely doesn't give a crap about it. &lt;/p&gt;
  &lt;p&gt;With any luck, he'll get away with it. Better that than standards-based development getting smeared if this blows up in Apple's face. But anyway... &lt;/p&gt;
  &lt;h3&gt;none of this is actually new&lt;/h3&gt;
  &lt;p&gt;It's important to remember the game hasn't changed just because Steve Said So. All he's done is bring some unusually mainstream attention to the nuts and bolts of the web. &lt;/p&gt;
  &lt;p&gt;One specific device's lack of Flash support does not change whether Flash is a good way to build something, no matter how magically-promoted that device might be.&lt;/p&gt;
  &lt;p&gt;To generalise: Flash is heavy, slow, reinvents-and-breaks interaction paradigms, requires a plugin and isn't accessible. Sure it's &lt;em&gt;possible&lt;/em&gt; to create light, fast, accessible, usable Flash - but in the real world, almost nobody does. As an aside, I've seen some great Flash-based art; but precious little in the way of actually-good &lt;em&gt;websites &lt;/em&gt;in Flash. &lt;/p&gt;
  &lt;p&gt;Regardless of the quality, choosing Flash has &lt;em&gt;always &lt;/em&gt;meant choosing interoperability limits. Flash content has only ever been available to devices with the Flash plugin &lt;em&gt;installed and enabled &lt;/em&gt;(that second one's important too). &lt;/p&gt;
  &lt;p&gt;&lt;a href="http://www.adobe.com/products/player_census/flashplayer/"&gt;Adobe say that's 99% coverage&lt;/a&gt;, although in my experience it's lower than that - usually 90-95% and currently down to 84% on one of my sites.&lt;/p&gt;
  &lt;p&gt;The iPad doesn't really change those stats, it's simply a very high-profile member of the &amp;quot;no flash&amp;quot; contingent that was always there. Interesting that people didn't seem to care as much when it was the iPhone. &lt;/p&gt;
  &lt;h3&gt;as you were &lt;/h3&gt;
  &lt;p&gt;The game hasn't changed: if you want a website that will work across the maximum number of devices, don't build it in Flash. &lt;/p&gt;
  &lt;p&gt;For years standardistas have said a standards-based frontend was a better option than Flash. More flexible, ready for cross-platform development and simpler for maintenance. It's no more or less true now than it was ten years ago. &lt;/p&gt;
  &lt;p&gt;It's still up to you whether you want to follow that advice, but you'll find standards-based sites don't look like a piece of blue lego on your iPad.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=wR0lAPp9ycw:_1BtQl3nbxc:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=wR0lAPp9ycw:_1BtQl3nbxc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=wR0lAPp9ycw:_1BtQl3nbxc:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=wR0lAPp9ycw:_1BtQl3nbxc:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/wR0lAPp9ycw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/3568720665893568329/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2010/05/no-flash-use-standards-game-hasnt.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/3568720665893568329" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/3568720665893568329" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/wR0lAPp9ycw/no-flash-use-standards-game-hasnt.html" title="no flash? use standards? the game hasn't changed" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2010/05/no-flash-use-standards-game-hasnt.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-7331653675935472782</id><published>2010-03-12T00:16:00.008+11:00</published><updated>2011-11-08T21:54:28.626+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="markup semantics headings titles" /><title type="text">how to structure html headings and titles</title><content type="html">&lt;p&gt;A perennial question on discussion lists, and in fact at work, is how to handle heading hierarchies in pages and title structure across sites.&lt;/p&gt;
  &lt;p&gt;While there's a fair bit of opinion to be had, when people focus on creating a valid document structure the same rules consistently appear. These rules not only match up to the high-minded ideals of specification, but also serve the prosaic requirements of the daily development grind. &lt;/p&gt;
  &lt;h3&gt;the rules, condensed &lt;/h3&gt;
  &lt;h4&gt;Page headings:&lt;/h4&gt;
  &lt;ol&gt;
    &lt;li&gt;Only one &lt;code&gt;h1&lt;/code&gt; per page - it should define the one overall topic of the current page&lt;/li&gt;
    &lt;li&gt;All subheadings are &lt;code&gt;h2&lt;/code&gt;; all sub-subheadings are &lt;code&gt;h3&lt;/code&gt;; etc&lt;/li&gt;
    &lt;li&gt;No skipping levels (no, you can not go from &lt;code&gt;h1&lt;/code&gt; straight to &lt;code&gt;h3&lt;/code&gt;)&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h4&gt;Site headings:&lt;/h4&gt;
  &lt;ol&gt;
    &lt;li&gt;On the homepage the site name is the &lt;code&gt;h1&lt;/code&gt; &lt;/li&gt;
    &lt;li&gt; On a section/index page the site name becomes a &lt;code&gt;strong&lt;/code&gt;, and the section name is &lt;code&gt;h1&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt; On a content page the article title is &lt;code&gt;h1&lt;/code&gt; and the site and section name are both &lt;code&gt;strong&lt;/code&gt;&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h4&gt;Page titles across the site: &lt;/h4&gt;
  &lt;ol&gt;
    &lt;li&gt;The homepage simply gets the site name&lt;/li&gt;
    &lt;li&gt;Moving into the site, increasingly specific information is added to the start of the title&lt;/li&gt;
    &lt;li&gt;The names are consistently separated with a neutral character like a pipe &lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;Putting it all together: &lt;/p&gt;
  &lt;dl&gt;
    &lt;dt&gt;Homepage: &lt;/dt&gt;
    &lt;dd&gt;&amp;quot;Name of Site&amp;quot;&lt;/dd&gt;
    &lt;dt&gt;Section: &lt;/dt&gt;
    &lt;dd&gt;&amp;quot;Section Name | Name of Site&amp;quot;&lt;/dd&gt;
    &lt;dt&gt;Content page: &lt;/dt&gt;
    &lt;dd&gt;&amp;quot;Title of content which does tend to be longer | Section Name | Name of Site&amp;quot;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;h3&gt;the rules, explained &lt;/h3&gt;
  &lt;h4&gt;what are headings and titles for, really? &lt;/h4&gt;
  &lt;p&gt;Broadly speaking, headings and title structure help make your site accessible and your documents readable. They have other functions too, but these are their prime purpose. &lt;/p&gt;
  &lt;p&gt;The title should be an accurate statement of context; the &lt;code&gt;h1&lt;/code&gt; should clearly define what the page is about; and the heading levels should assist all users as they determine the structure of your content.&lt;/p&gt;
  &lt;p&gt;If you skip levels, if you repeat titles, if you pepper your page with &lt;code&gt;h1&lt;/code&gt;s, if you randomly skip up and down heading levels... then you are making life hard for people who were just trying to read what you've written. &lt;/p&gt;
  &lt;p&gt;Even you don't care about people that much, if you confuse the humans you're not helping search engine bots either. &lt;/p&gt;
  &lt;h4&gt;headings in a page &lt;/h4&gt;
  &lt;p&gt;Page headings introduce and define the content that follows immediately after them. They set out the discrete sections of content, so the user can quickly understand what they're reading and how the sections of content relate to each other. &lt;/p&gt;
  &lt;p&gt;Subheadings group logical subsets of the content, sub-sub headings divide the content further, and so on. This sets up the document's fundamental structure. The headings relate to each other in a specific order, which needs to be maintained to avoid miscommunication. &lt;/p&gt;
  &lt;p&gt;It can help to consider how a table of contents for the page would look, since that will also reflect the page outline. For example: &lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;code&gt;h1&lt;/code&gt;: Dogs
      &lt;ul&gt;
        &lt;li&gt;&lt;code&gt;h2&lt;/code&gt;: Working dogs
          &lt;ul&gt;
            &lt;li&gt;&lt;code&gt;h3&lt;/code&gt;: Sheep dogs &lt;/li&gt;
            &lt;li&gt;&lt;code&gt;h3&lt;/code&gt;: Sniffer dogs  &lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;code&gt;h2&lt;/code&gt;: Pet dogs&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;When you see the structure laid out this way, it is clear that &lt;em&gt;Working dogs &lt;/em&gt;and &lt;em&gt;Pet dogs &lt;/em&gt;are logically set at an even level. However you wouldn't group&lt;em&gt; Working dogs&lt;/em&gt;, &lt;em&gt;Sheep dogs&lt;/em&gt; and &lt;em&gt;Pet dogs&lt;/em&gt;, since they are not all on the same level - &lt;em&gt;sheep dogs&lt;/em&gt; fit within the &lt;em&gt;working dogs &lt;/em&gt;category. &lt;/p&gt;
  &lt;p&gt;Being consistent with heading levels also pays off for maintenance. If you use headings randomly, I'm willing to bet sooner or later you'll end up trying to restyle &lt;code&gt;h3&lt;/code&gt; elements on one page to look like &lt;code&gt;h2&lt;/code&gt; elements on other pages - or something along those lines.&lt;/p&gt;
  &lt;h4&gt;headings across a site&lt;/h4&gt;
  &lt;p&gt;Ideally there should only be only one page per site with a particular &lt;code&gt;h1&lt;/code&gt;, or at the least you should avoid having the same &lt;code&gt;h1&lt;/code&gt; on every single page (which &lt;em&gt;really&lt;/em&gt; doesn't make sense). That rules out using an &lt;code&gt;h1&lt;/code&gt; for the logo on every page.&lt;/p&gt;
  &lt;p&gt;Of course &lt;em&gt;on the homepage&lt;/em&gt; the &lt;code&gt;h1&lt;/code&gt; can enclose the site's name and logo; your homepage's &lt;code&gt;h1&lt;/code&gt; should not be &amp;quot;home&amp;quot;!&lt;/p&gt;
  &lt;p&gt;Together with a complementary title scheme you should end up with a fairly natural site hierarchy and avoid large numbers of pages all using the same &lt;code&gt;h1&lt;/code&gt; contents (which is misleading and confusing). The occasional double-up can be salvaged by well-written titles.&lt;/p&gt;
  &lt;h5&gt;duplicate page headings&lt;/h5&gt;
  &lt;p&gt;If you have two pages with the same name in two different sections, the title scheme comes to the rescue: &lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&amp;quot;About us | Web Development | YourCorp&amp;quot;&lt;/li&gt;
    &lt;li&gt;&amp;quot;About us | Marketing | YourCorp&amp;quot;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;It's still a bit confusing, so it would be better to have something like:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt; &amp;quot;About the web team | Web Development | YourCorp&amp;quot;&lt;/li&gt;
    &lt;li&gt;&amp;quot;About the marketing team | Marketing | YourCorp&amp;quot;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;...but since you may not control both pages, it's good to have a title scheme that can survive common issues like this. &lt;/p&gt;
  &lt;h4&gt;titles across a site &lt;/h4&gt;
  &lt;p&gt;Titles really need to be unique, to provide context and disambiguation. A reasonably robust system goes as follows:&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;Start with the site name on the homepage. &lt;/li&gt;
    &lt;ul&gt;
      &lt;li&gt;If you have to add a tag line, append it after a colon (&amp;quot;Sitename: clever tag line for the site&amp;quot;) but don't put it on every page across the site. &lt;/li&gt;
    &lt;/ul&gt;
    &lt;li&gt;Add more-specific information to the start of the title as you move  deeper into the site. &lt;/li&gt;
    &lt;ul&gt;
      &lt;li&gt;Consistency is absolutely the key here. Always  &lt;/li&gt;
    &lt;/ul&gt;
    &lt;li&gt;Use a consistent, neutral separator character.      
      &lt;ul&gt;
        &lt;li&gt;I use pipes (vertical bars). Although they're a bit verbose in screen readers, they're semantically pretty neutral and they are used so commonly they've taken on a sort of &lt;em&gt;de facto&lt;/em&gt; meaning as a generic separator.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;Why add the more-specific information to the start of the title?&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Screen readers start with the most relevant information, rather than starting by telling the user which site they're on &lt;em&gt;for the fifteenth FRICKING time&lt;/em&gt;. &lt;/li&gt;
    &lt;li&gt;Depending on screen resolution and browser, the end of the title may well be cut off in the user's interface. So you want the most contextually-important information to remain available.&lt;/li&gt;
    &lt;li&gt;Similarly, titles tend to get truncated in search results. Get the unique stuff in first. &lt;/li&gt;
    &lt;li&gt;SEO people - the good kind, that I trust ethically - tell me it's the way to go for good ranking. This point is intentionally last. &lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;If you have more than one section level you have to make a discretionary call about whether to include them all or not. Too many levels in the title is just going to be overload; and you're probably best off with a proper in-page breadcrumb trail at that point. &lt;/p&gt;
  &lt;p&gt;If you just have a couple of logical steps you might get away with it. But if in doubt, just include the the immediate section name and then go straight to the site name. Basically: don't bung your breadcrumbs into the title or vice versa. They're different things, craft them as such. &lt;/p&gt;
  &lt;h4&gt;the separator characters problem &lt;/h4&gt;
  &lt;h5&gt;pointy characters &lt;/h5&gt;
  &lt;p&gt;Although it's common to see separator characters chosen because they &amp;quot;look a bit pointy&amp;quot;, it's a flawed practice since most of them turn out to have a very specific meaning. Sometimes it's mathematical (&amp;lt;, &amp;gt;, etc), sometimes grammatical (&amp;raquo;, &amp;#8250;, etc ).&lt;/p&gt;
  &lt;p&gt;Using characters with a specific and irrelevant meaning ensures at least some people will see something that just doesn't make sense. For example, the &amp;raquo; character  is a quote mark in some languages. That means your title would read &amp;quot;Page Name Closing Quote Site Name&amp;quot;, or perhaps &amp;quot;Page Name right double angle bracket Site Name&amp;quot;. &lt;/p&gt;
  &lt;p&gt;To put that another way: your title is essentially gibberish. You might as well just put in &amp;quot;Page name MONKEYS! Site Name&amp;quot;, at least it'd be original. &lt;/p&gt;
  &lt;p&gt;Then of course if someone gets the implementation wrong, you're going to get broken characters in your title - or for extra fun, raw HTML of encoded characters. Best just to steer clear! &lt;/p&gt;
  &lt;h5&gt;greater than...?&lt;/h5&gt;
  &lt;p&gt;While the greater-than and less-than signs can arguably be used to define higher and lower levels of content, I think it's ultimately too much cognitive load. &lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Does greater-than imply denser content, or a higher level in the site structure (ie. lower density content)? &lt;/li&gt;
    &lt;li&gt;Does it mean one's more &lt;em&gt;important &lt;/em&gt;than the other? &lt;/li&gt;
    &lt;li&gt;Are they breadcrumbs? &lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Ultimately it's just too much thinking, it's just getting in the way.&lt;/p&gt;
  &lt;h5&gt;conversational titles &lt;/h5&gt;
  &lt;p&gt;Alternative ways of handling titles are to use conversational language, &amp;quot;Article Name at Site Name&amp;quot; and &amp;quot;Article Name in the Section Name at Site Name&amp;quot;. Systems like this can work pretty nicely on a small site, but do tend to collapse on bigger sites. It also sets also a more-friendly, less-formal tone that is unlikely to be popular with serious corporate clients. &lt;/p&gt;
  &lt;h5&gt;relevant punctuation &lt;/h5&gt;
  &lt;p&gt;You could use hyphens or colons to indicate depth... &amp;quot;Sitename: Article Name&amp;quot;. If your site only has two levels this might work, but for bigger sites it's going to break. Sooner or later you'll have a page name with a hyphen or a colon, and the whole system just doesn't work. &lt;/p&gt;
  &lt;h5&gt;just use pipes, already! &lt;/h5&gt;
  &lt;p&gt;Regardless of what you choose, it's worth considering how many people will have to maintain and comply with the system. Especially consider how many people &lt;em&gt;who don't care&lt;/em&gt; will have to do it. Best to keep it simple, to have a better shot at consistency against the odds. &lt;/p&gt;
  &lt;p&gt;So when all's said and done, the simplest &amp;quot;one rule&amp;quot; is to use pipes.&lt;/p&gt;
  &lt;h3&gt;common questions and statements... &lt;/h3&gt;
  &lt;dl&gt;
    &lt;dt&gt;&amp;quot;But &lt;code&gt;h2&lt;/code&gt;s are too big, I just want to use &lt;code&gt;h4&lt;/code&gt;s.&amp;quot;&lt;/dt&gt;
    &lt;dd&gt;Bad. No. If you're convinced your &lt;code&gt;h2&lt;/code&gt;s are too big, write some CSS rather than screwing up your document structure. Besides, if you need to accommodate all six levels, you quickly discover why the higher level headings tend to be big...&lt;/dd&gt;
    &lt;dt&gt;&amp;quot;I used nothing but &lt;code&gt;h5&lt;/code&gt;s all the way through... that's ok isn't it?&amp;quot;&lt;/dt&gt;
    &lt;dd&gt;That is at least better than jumping around, but you still should have used an &lt;code&gt;h1&lt;/code&gt; and some &lt;code&gt;h2&lt;/code&gt;s.&lt;/dd&gt;
    &lt;dt&gt;&amp;quot;It doesn't matter if I skip from &lt;code&gt;h1&lt;/code&gt; to &lt;code&gt;h3&lt;/code&gt;!&amp;quot;&lt;/dt&gt;
    &lt;dd&gt;Yes it does. You're implying that your document is incomplete, that there was a sectional marker left out. This could be very confusing to someone trying to follow a complex document. Think of headings like replies in a set of threaded comments: if you skip a level you make it look like something's missing. Valid structure is important for meaning. &lt;/dd&gt;
    &lt;dt&gt;&amp;quot;I'm just using &lt;code&gt;h2&lt;/code&gt; when the sections are bigger, the rest of the time I just use &lt;code&gt;h3&lt;/code&gt;s.&amp;quot;&lt;/dt&gt;
    &lt;dd&gt;Swap the other way around. Add in the h3s when you need the extra subheadings.&lt;/dd&gt;
    &lt;dt&gt;&amp;quot;I think it's fine to use multiple &lt;code&gt;h1&lt;/code&gt;s in a single page...&amp;quot;&lt;/dt&gt;
    &lt;dd&gt;Some people do feel that's a valid way to go; but I just don't think so. Pages need at least one top-level heading, which logically has to be &lt;code&gt;h1&lt;/code&gt;.  That means any subsequent heading has to be a subheading, ie. an &lt;code&gt;h2&lt;/code&gt;. If you have a page with significantly different sets of content, you don't &amp;quot;fix&amp;quot; it by using &lt;code&gt;h1&lt;/code&gt; all over the place - you're better off writing an h1 which explains why the disparate content is on one page in the first place. If there's no reason at all, your content structure probably needs a rethink. &lt;/dd&gt;
    &lt;dt&gt;&lt;/dt&gt;
    &lt;dt&gt;&amp;quot;Calling them sub-sub-sub-- headings is just silly, users don't get that.&amp;quot;&lt;/dt&gt;
    &lt;dd&gt;Well fair enough, so don't label them that way. In your interface, label &lt;code&gt;h2&lt;/code&gt; as &amp;quot;Subheading level 1&amp;quot;, then &lt;code&gt;h3&lt;/code&gt; as &amp;quot;Subheading level 2&amp;quot; or something along those lines. Do some workshops with your users and see what actually works for them. But remember that what you do under the bonnet doesn't matter to users. They just want to get their work done. If they only have five heading levels at their disposal, plus a document title, they probably won't notice what's going on. But you'll have handled the structure for them. &lt;/dd&gt;
  &lt;/dl&gt;
  &lt;h3&gt;last thoughts  &lt;/h3&gt;
  &lt;p&gt;Heading levels, title separators and so on should be chosen according to their function and not for aesthetics. Headings aren't defined by their font size, they're elements with specific (and useful!) meanings. &lt;/p&gt;
  &lt;p&gt;Using a consistent, semantically-valid scheme for headings and titles makes your site more readable and easier to navigate. It's also easier to maintain and better for search engines. It's well worth the effort to get your headings and titles in order!&lt;/p&gt;


&lt;div class="warning-note"&gt;
&lt;hr /&gt;
&lt;h3&gt;Update 2011.11.08: A quick note on &amp;lt;h1&amp;gt; usage&lt;/h3&gt;
&lt;p&gt;The &lt;a href="http://webaim.org/projects/screenreadersurvey3/"&gt;Webaim Screen Reader Survey #3&lt;/a&gt; produced a surprising result regarding pages with two &lt;code&gt;h1&lt;/code&gt; elements within a single page. While 37.1% preferred "One first level heading that contains the document title", &lt;a href="http://webaim.org/projects/screenreadersurvey3/#headings"&gt;50.3% preferred one &lt;code&gt;h1&lt;/code&gt; for the page heading &lt;em&gt;in addition&lt;/em&gt; to one &lt;code&gt;h1&lt;/code&gt; as the site heading&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
It is important to note that the majority did &lt;em&gt;not&lt;/em&gt; like sites with a single &lt;code&gt;h1&lt;/code&gt; as the site heading and no other first level headings. Also, it is not clear if the preference for two &lt;code&gt;h1&lt;/code&gt; elements is a strong preference; nor whether the one &lt;code&gt;h1&lt;/code&gt; per page model actually creates difficulties. Hopefully future surveys will dig deeper into this area to see if a better understanding can be gained.&lt;/p&gt;
&lt;p&gt;
This basically means you should definitely still ensure the page title is an &lt;code&gt;h1&lt;/code&gt;, but it's probably acceptable to leave your site header as an &lt;code&gt;h1&lt;/code&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=TTPnMwWFMUM:tXOtdUYnPbo:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=TTPnMwWFMUM:tXOtdUYnPbo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=TTPnMwWFMUM:tXOtdUYnPbo:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=TTPnMwWFMUM:tXOtdUYnPbo:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/TTPnMwWFMUM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/7331653675935472782/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2010/03/how-to-structure-html-headings-and.html#comment-form" title="19 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/7331653675935472782" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/7331653675935472782" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/TTPnMwWFMUM/how-to-structure-html-headings-and.html" title="how to structure html headings and titles" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>19</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2010/03/how-to-structure-html-headings-and.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-5192578244442539975</id><published>2009-11-12T00:46:00.004+11:00</published><updated>2009-11-12T01:05:06.742+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="notes" /><category scheme="http://www.blogger.com/atom/ns#" term="wsg" /><title type="text">Notes from WSG Sydney 2009.11.11</title><content type="html">&lt;p&gt;
Event: &lt;a href="http://webstandardsgroup.org/event/179"&gt;November Sydney Web Standards Group meeting 2009 &lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Note... I took notes on paper (rather than with the netbook) and also missed the first few minutes of Jessica's talk, so this is not comprehensive :) &lt;/p&gt;
  &lt;h3&gt;Visual design principles for electronic forms - Jessica Enders&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Visual design requirements for text tending to match up with standard accessibility practice - ie. good contrast, decent text size, etc. &lt;/li&gt;
    &lt;li&gt;Don't worry about simple forms being &amp;quot;boring&amp;quot; or not pretty enough, just concentrate on making them easy to use.&lt;/li&gt;
    &lt;li&gt;Adding design elements does not always help - eg. overly bright/colourful zebra striping can cause unnecessary cognitive load and actually make it harder to process the lines of the form.&lt;/li&gt;
    &lt;li&gt;The busier the page/form, the more there is for people to mentally process. &lt;/li&gt;
    &lt;li&gt;Figure/Ground principle - form elements are &lt;em&gt;figures&lt;/em&gt; (shapes) in the foreground, on a back&lt;em&gt;ground&lt;/em&gt;. &lt;/li&gt;
    &lt;li&gt;Humans recognise shapes, including understanding negative space - we're attuned to shapes. So when it comes to standard form inputs, don't mess with them! Keep radio buttons round, keep checkboxes square. (Showed an example with radio buttons made into oblong shapes, really looked confusing)&lt;/li&gt;
    &lt;li&gt;Pay attention to proximity - proximity suggests things are related, and can make things like form labels much easier to read (eg. in a vertical form, right-align the text in the labels so they are closer to the inputs)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;table width="50%" border="1" summary="Two columns, each with three rows under the heading row."&gt;
  &lt;caption&gt;Principles&lt;/caption&gt;
    &lt;tr&gt;
      &lt;th width="50%" scope="col"&gt;Form&lt;/th&gt;
      &lt;th width="50%" scope="col"&gt;Shape&lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td width="50%"&gt;Colour&lt;/td&gt;
      &lt;td width="50%"&gt;Figure&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td width="50%"&gt;Shape&lt;/td&gt;
      &lt;td width="50%"&gt;Ground&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td width="50%"&gt;Size&lt;/td&gt;
      &lt;td width="50%"&gt;Proximity&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;p&gt;[Scribbled this diagram down in a hurry, not 100% sure I got it right. Anyone else get it?]&lt;/p&gt;

  &lt;p&gt;The final take-homes:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Visual design is &lt;strong&gt;communication&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Apply knowledge of visual perception - make informed design choices &lt;/li&gt;
    &lt;li&gt;Anything more than the &lt;strong&gt;minimum&lt;/strong&gt; is a burden   &lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;&lt;a href="http://twitter.com/formulate"&gt;@formulate&lt;/a&gt; / &lt;a href="http://formulate.com.au/articles/"&gt;http://formulate.com.au/articles/&lt;/a&gt;&lt;/p&gt;
  &lt;h3&gt;Bringing PAX to the people - Mikkel Bergmann&lt;/h3&gt;
  &lt;p&gt;Mikkel presented his &lt;a href="http://paxjs.com/"&gt;Javascript framework, PAX&lt;/a&gt;. This included an explanation of the principles and purpose of PAX; and a feature tour. &lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Compact but feature-complete framework  
      &lt;ul&gt;
        &lt;li&gt;less than 50k for the framework (gzip and minified) &lt;/li&gt;
        &lt;li&gt;no need for extended set of plugins to build common features  &lt;/li&gt;
        &lt;li&gt;core contains a considered set of features &lt;/li&gt;
        &lt;li&gt;there are some plugins for less popular features, to keep the core light as possible&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Out of the box, PAX gives you a set of common/standard widgets for web apps/interactions
      &lt;ul&gt;
        &lt;li&gt;form validation &lt;/li&gt;
        &lt;li&gt;date picker&lt;/li&gt;
        &lt;li&gt;autocomplete&lt;/li&gt;
        &lt;li&gt;tabber/tab set&lt;/li&gt;
        &lt;li&gt;datagrid&lt;/li&gt;
        &lt;li&gt;etc  &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;The default versions are &lt;em&gt;extremely&lt;/em&gt; simply styled, as the expectation is you'll be customising the look and feel anyway. The aim is to encourage restyling and not get in the way while you do it. &lt;/li&gt;
    &lt;li&gt;&amp;quot;It's not for everybody&amp;quot;... it's built to the specific purpose of building web apps &lt;/li&gt;
    &lt;li&gt;Would love to see people get involved to make some nicer-looking examples, the current examples are  aimed at showing functionality rather than being awesome designs.&lt;/li&gt;
    &lt;li&gt;PAX is open source.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Q&amp;amp;A&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Does it include ARIA support?&lt;/strong&gt; Not yet, but if there's enough interest it would absolutely be added (&lt;a href="http://paxjs.com/forum/"&gt;jump on the forum&lt;/a&gt; and ask for it).&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;What version/status is it up to?&lt;/strong&gt; It's technically still not final (next release is 0.9), however it is being used commercially already. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Will the widgets keep working in future after upgrades etc?&lt;/strong&gt; Yes, that's a big part of PAX. You should just be able to drop in the updated JS.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Is there documentation?&lt;/strong&gt; Yes, lots! &lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;&lt;a href="http://paxjs.com/"&gt;http://paxjs.com/&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=KKPUexBzyvI:yWp5QdjcEZo:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=KKPUexBzyvI:yWp5QdjcEZo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=KKPUexBzyvI:yWp5QdjcEZo:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=KKPUexBzyvI:yWp5QdjcEZo:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/KKPUexBzyvI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/5192578244442539975/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2009/11/notes-from-wsg-sydney-20091111.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/5192578244442539975" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/5192578244442539975" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/KKPUexBzyvI/notes-from-wsg-sydney-20091111.html" title="Notes from WSG Sydney 2009.11.11" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2009/11/notes-from-wsg-sydney-20091111.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-8773591965395981483</id><published>2009-11-02T22:25:00.003+11:00</published><updated>2009-11-02T22:35:22.847+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data" /><category scheme="http://www.blogger.com/atom/ns#" term="hack day" /><category scheme="http://www.blogger.com/atom/ns#" term="govhack" /><category scheme="http://www.blogger.com/atom/ns#" term="government" /><category scheme="http://www.blogger.com/atom/ns#" term="mashup" /><title type="text">hacking government data</title><content type="html">&lt;p&gt;
On Friday Canberra welcomed an influx of web geeks, inviting them to mash up government-supplied data in interesting and useful ways. I'm not sure anyone really knew what to expect, least of all the hosts!&lt;/p&gt;
&lt;p&gt;
The fact &lt;a href="http://govhack.org/"&gt;GovHack&lt;/a&gt; happened at all is a good sign, as is the existence of a &lt;a href="http://gov2.net.au/"&gt;Government 2.0 Taskforce&lt;/a&gt; (forgive them the buzzword).&lt;/p&gt;
&lt;p&gt;
It's hard to think of any organisation that's a) sitting on more data than the government, or b) less likely to stay up all night creating cool mashups with that data. So it's a smart move to bring in a group of developers who are willing to spend 24 hours getting a mashup to proof-of-concept stage.&lt;/p&gt;
&lt;p&gt;
Although I didn't attend, it was amusing follow the &lt;a href="http://search.twitter.com/search?q=govhack" title="tweets (tagged govhack)"&gt;tweets&lt;/a&gt; of the increasingly sleep-deprived geeks who did go to the all-night hackfest... but it was even more interesting to see what they produced.&lt;/p&gt;
&lt;p&gt;
There's a press release about the event here: &lt;a href="http://www.financeminister.gov.au/media/2009/mr_742009.html"&gt;Media Release 74/2009 - Govhack Finds New Uses for Public Sector Information&lt;/a&gt;... however I think the best measure of the event is to have a look at the mashups chosen as standouts.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://team7.govhack.net.tmp.anchor.net.au/"&gt;LobbyClue&lt;/a&gt; was judged 'best mashup'.&lt;/li&gt;
&lt;li&gt;My personal favourite is &lt;a href="http://www.hackdays.com/2009govhack/app01/"&gt;Know Where You Live&lt;/a&gt; (works best in webkit browsers); although I may be biased since I know the guys, I think it's the slickest and most engaging mashup.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://its-buggered-mate.apps.lpmodules.com/"&gt;It&amp;#39;s Buggered, Mate&lt;/a&gt; (think: strine take on &lt;a href="http://www.fixmystreet.com/"&gt;FixMyStreet&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://team13.govhack.net.tmp.anchor.net.au/"&gt;Rate-a-Loo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
If you think these are cool and would like to get involved, there are more events coming up this weekend in Sydney and Melbourne. Hit the &lt;a href="http://govhack.org/"&gt;GovHack website&lt;/a&gt; for details.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=eoKnQgPaSfs:8Tqi9Dd4b24:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=eoKnQgPaSfs:8Tqi9Dd4b24:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=eoKnQgPaSfs:8Tqi9Dd4b24:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=eoKnQgPaSfs:8Tqi9Dd4b24:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/eoKnQgPaSfs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/8773591965395981483/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2009/11/hacking-government-data.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/8773591965395981483" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/8773591965395981483" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/eoKnQgPaSfs/hacking-government-data.html" title="hacking government data" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2009/11/hacking-government-data.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-62594188253378660</id><published>2009-10-26T01:00:00.004+11:00</published><updated>2009-10-26T01:10:38.066+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="notes" /><category scheme="http://www.blogger.com/atom/ns#" term="wds09" /><category scheme="http://www.blogger.com/atom/ns#" term="web directions south" /><title type="text">WDS09: the notes</title><content type="html">&lt;p&gt;In the tradition of my &amp;quot;big stonking posts&amp;quot;, these are my notes from WDS09 - basically unedited (expect typos ;)), unfiltered for the most part (so they are a bit liveblogish in tone). Stuff [inside square brackets] is an aside, my own thoughts rather than something the speaker said. Sketch notes taken from &lt;a href="http://www.flickr.com/photos/wafer/sets/72157622594391326/"&gt;Waferbaby's awesome sketch notes (under CC license)&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Some random observations about the conference: &lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Tech toy trend: Flip and other &amp;quot;little video camera&amp;quot; devices.&lt;/li&gt;
    &lt;li&gt;Braindump trend: sketch notes.&lt;/li&gt;
    &lt;li&gt;Topics that kept coming up: burnout, &lt;a href="http://en.wikipedia.org/wiki/Doug_Engelbart"&gt;Doug Englebart's&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/The_Mother_of_All_Demos"&gt;mother of all demos&lt;/a&gt;, computer games as inspiration.  &lt;/li&gt;
    &lt;li&gt;Coffee: excellent, free, on site. Praise be to John, Maxine and Toby's Estate. &lt;/li&gt;
    &lt;li&gt;Back channel: weirdly quiet, were we actually paying attention or something? &lt;/li&gt;
    &lt;li&gt;My favourite take-home of the entire conference: the concept of yoyu. &lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3&gt;day one &lt;/h3&gt;
  &lt;h4&gt;Matt Webb - Escalante &lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;Discussing science fiction and ideas; and hiking as a spiritual  and hippy experience... and that's how he wants to speak about  design.&lt;/li&gt;
    &lt;li&gt;&amp;ldquo;Design is about cultural invention.&amp;rdquo; - Jack Schulze&lt;/li&gt;
    &lt;li&gt;Example of process: drawing a radio in various stages of evolution  &amp;ndash; not random brainstorming, a true process. &amp;ldquo;What emerges is the  discovery of what it is about that original radio that persists, in  spite of violent evolution.&amp;rdquo;&lt;/li&gt;
    &lt;li&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/mattwebb-cheapchips.gif" alt="Sketchnote: artifician intelligence on a cheap chip" class="right" /&gt; 
    Flicking through a catalogue, looking at toy hamsters and the two selling points attached to them: &lt;em&gt;Hilarious sounds! Artificially  intelligent!&lt;/em&gt; ...in something that cost nine pounds. The whole thing is  dominated by budgeting considerations and there is a brilliance in  the fact they're putting AI into something that has a chip that cost  seven cents.&lt;/li&gt;
    &lt;li&gt; &amp;quot;The three chief virtues of a programmer are laziness,  impatience and hubris&amp;quot; Larry Wall &lt;/li&gt;
    &lt;li&gt;Then you look at the way that the iphone app store (and things  like it) disrupt the old world of needing big businesses to act as  middlemen. It levels the playing field so that independents compete  directly with big business, and they can win if their product is  good.&lt;/li&gt;
    &lt;li&gt;MakerBot &amp;ndash; 3d printers that can print more printers! They had a  supply problem and asked previous customers if they'd print a part  for $1.&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Fanufacture&lt;/em&gt; is the  alternative to big manufacturing. It's what you  get when you  outsource/take away all the boring stuff and let people do what  they're passionate about. It's applying the web model to the  manufacturing world.&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/mattwebb-02-macroscope.gif" alt="Sketchnote: Macroscopes, this is what designers use" class="right" /&gt; 
    Macroscope&lt;/em&gt; &amp;ndash; something  that helps us see what the aggregation of many small actions looks  like when added together. - John Thackara&lt;/li&gt;
    &lt;li&gt;1959 (two years before JFK's speech that sent people into space) there was a committee of congress investigating food in space, and they were interviewing a witness from the department of agriculture. Congressman Fulson [sp?] was getting frustrated with their lack of vision and imagination... and he said: &amp;quot;Possibly in space, the approach to vegetables might be different. Did it ever strike you that ... in space you might get a two-dimensional tomato? It might be one million miles long and as thin as a sheet of paper, aimed towards the sun?&amp;quot; There was a long silence, then the witness said &amp;ldquo;it is an  interesting thought...&amp;rdquo; and they just moved on.
      &lt;ul&gt;
        &lt;li&gt;No gravity! When things change so much you have to rethink even simple things. &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Stuart Brand (author of How Buildings  Learn) created a campaign in the sixties &amp;ldquo;why haven't we seen a  photograph of the whole earth yet?&amp;rdquo; ... because he felt people didn't act like we all lived on the same planet. In 1972 NASA supplied the  &amp;quot;blue marble&amp;quot; photo. The message became clear: we're in this together and we  should start acting like it.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;We need macroscope ideas&lt;/strong&gt;, like the tomato, because when the world changes what we create has to change too or it won't be relevant. &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Doug_Engelbart"&gt;Doug Englebart&lt;/a&gt; basically invented the personal computer &amp;ndash;  look this guy up!&lt;/li&gt;
    &lt;li&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/mattwebb-02-exploring.gif" width="261" height="57" alt="Sketchnote: exploring a landscape takes time" /&gt;&lt;br /&gt;
    Story &amp;ndash; looking for the &lt;a href="http://www.blm.gov/ut/st/en/fo/grand_staircase-escalante.html"&gt;Grand Staircase-Escalante National Monument&lt;/a&gt; in america... after a  day of driving they realised that it wasn't somewhere that you  arrived at, they'd been driving through it. You couldn't get there,  you could only travel through it.&lt;/li&gt;
    &lt;li&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/mattwebb-01-staircase.gif" class="right" width="131" height="105" alt="Sketchnote: grand staircase of history" /&gt;&amp;ldquo;We're at the end of a series of staircases that happened so  slowly we didn't notice they were there. ... the question is what the  web is at the &lt;em&gt;start of&lt;/em&gt;.&amp;rdquo;&lt;/li&gt;
    &lt;li&gt;&amp;ldquo;The future is here, if you care to take it.&amp;rdquo;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;blockquote&gt;
&lt;p&gt;opened #wds09 w. a hike though fanufacture, science fiction, social capital, cybernetics, and neptune. i had fun :-) escalante!&lt;/p&gt;
&lt;cite&gt;&lt;a href="http://twitter.com/genmon/status/4697555993"&gt;Twitter / Matt Webb / 6:25 PM Oct 7th from web&lt;/a&gt;&lt;/cite&gt;&lt;/blockquote&gt;

  &lt;h4&gt;mark boulton &amp;ndash; web  fonts&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/markboulton-typographycommunication.gif" class="right" width="148" height="107" alt="Sketchnote: typography equals communication" /&gt;&amp;ldquo;With typographic design, regardless of typeface, you can't &lt;em&gt;not&lt;/em&gt; communicate.&amp;rdquo;&lt;/li&gt;
    &lt;li&gt;How do we think of typography? Do we  think of original sources, beautiful type, or a world of Arial and  Verdana?&lt;/li&gt;
    &lt;li&gt; Noted the mountain climbing process of  having a base camp and doing a series of ascents and descents to more  camps, before the final ascent all the way to the peak... &lt;br /&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/markboulton-everestlayers.gif" alt="Sketchnote: we need fonts designed for a SCREEN" width="121" height="97" /&gt;&lt;/li&gt;
    &lt;li&gt;Fonts are only one part of the picture  &amp;ndash; just one part of the typographic structure. &lt;/li&gt;
    &lt;li&gt;Mark worked at the BBC and &lt;strong&gt;only worked  with three typefaces for four years&lt;/strong&gt;... it forced him to work with  typography in a different way &amp;ndash; no choosing fonts.&lt;/li&gt;
    &lt;li&gt;Core issue with web typography is  needing more fonts designed for use on screen &amp;ndash; we have a lot of  typefaces created decades or centuries ago that were never intended  for use on the web.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/markboulton-screenfonts.gif" class="right" width="125" height="120" alt="Sketchnote: we need fonts designed for a SCREEN" /&gt;The foundries need to invest in more  web-suitable fonts&lt;/strong&gt; &amp;ndash; properly hinted, designed for legibility on  the screen... although they also need to put more realistic prices on  the font families.&lt;/li&gt;
    &lt;li&gt;In the tools people produce for use on  the web, we should &lt;strong&gt;provide smarter, better defaults&lt;/strong&gt;. Reducing the  number of choices is good, help people make better design decisions  rather than muddling through without guidance.&lt;/li&gt;
    &lt;li&gt;Reduce it to a simple choice &amp;ndash; choose  a heading typeface, Georgia or Helvetica. Then, based on that choice,  fill in the rest of the choices with complementary typefaces. Put a  smart default together.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;We need to be careful &lt;em&gt;not to get distracted by the shiny&lt;/em&gt;&lt;/strong&gt;.  Don't rush headlong into using @font-face just because you can.  Designers need to keep the whole process in mind, all the pieces of  the grid of good typography.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h5&gt;Q&amp;amp;A&lt;/h5&gt;
  &lt;p&gt;Q: What do you think about free fonts?&lt;/p&gt;
  &lt;p&gt;A: Generally not too good... but they  cost so much to produce, perhaps companies with money and interest might start investing in/sponsoring development of good new fonts. Create a sort of extended core font set. &lt;/p&gt;
  &lt;h4&gt;ben galbraith - the  state of developer tools&lt;/h4&gt;
  &lt;p&gt;No notes, just need a link list for this session!&lt;/p&gt;
  &lt;h3&gt;accessibility and new media&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;New media offers a range of new opportunities, like usnig skype  video to sign if you're deaf. However many challenges remain &amp;ndash;  captioning and subtitling are still very limited. Also some areas are  still simply unknown &amp;ndash; how accessible will cloud computing apps  actually be?&lt;/li&gt;
    &lt;li&gt;Interesting finding: assistive tech users were surveyed and found  to be persistent and savvy, willing to fight through barriers to get  the information and results they want. This means the investment of  time and energy from developers is well spent and appreciated.&lt;/li&gt;
    &lt;li&gt;How do people actually use assistive technology? Very commonly  it's a combination of several things, usually not one single device  or technology. This includes using the surprisingly extensive  features built into the OS, then add something like a screen reader  or magnifier.&lt;/li&gt;
    &lt;li&gt;Macs actually have a superior set of assistive features than  windows; but voiceover doesn't work with the MS Office suite  (although openoffice works pretty well) and has some hit and miss  problems with Safari.&lt;/li&gt;
    &lt;li&gt;There are a lot of changes afoot, eg windows 7 includes screen  magnifier and predictive text on-screen keyboard. This apparently  works well on netbooks which lowers cost barrier. Combine this with  free screen readers and you're getting low cost solutions.&lt;/li&gt;
    &lt;li&gt;Also the iphone 3gs has voiceover built in!&lt;/li&gt;
    &lt;li&gt;Changes on the development front: WCAG 2 had a more  user-task-focussed approach than the code compliance focus of WCAG 1.  WCAG 2 took seven years and attracted quite some argument &amp;ndash; joe  clark &amp;ldquo;to hell with wcag 1&amp;rdquo; vs the responding article &amp;ldquo;to hell  with joe clark&amp;rdquo;.&lt;/li&gt;
    &lt;li&gt;WCAG - &amp;ldquo;pour&amp;rdquo; perceivable, adjustable, understandable, robust.&lt;/li&gt;
    &lt;li&gt;Online video &amp;ndash; perception vs. reality.
      &lt;ul&gt;
        &lt;li&gt;Perception is that online video can't be accessible; but the   reality is that the common format all support closed captions; most   support alternative/multiple audio tracks.&lt;/li&gt;
        &lt;li&gt;Perception is that it's too hard and time consuming. However   there are tools to make it easier, eg. CaptionTube for YouTube   videos.&lt;/li&gt;
        &lt;li&gt;Perception that there's no point, hardly anyone's doing it...   sadly kind of true, but it can be done. The BBC does captions and   audio; and if the video was already captioned for broadcast it is   relatively easy to caption for the web.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;AWAREe &amp;ndash; &lt;a href="http://www.aware.org.au/"&gt;www.aware.org.au&lt;/a&gt; &amp;ndash; each month they put five government websites on the site and get  the public to share their thoughts on those five sites. The hope is  to break down commmunication gap between government and users of the  site; get feedback to the government. Over time the hope is to  identify not just specifics, but overall patterns as well which can  assist government to make things better.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3&gt;earl carseldine &amp;ndash; jquery&lt;/h3&gt;
  &lt;p&gt;[This was perhaps the &lt;em&gt;maddest&lt;/em&gt; presentation of the conference. Not sure if we actually learned anything about jQuery, but nobody cared about that really...]&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Looking at the industry... we have issues of burnout, people being  bored and unhappy. Earl thinks we should get back to the old school  where the normals did not dictate what got built and how.&lt;/li&gt;
    &lt;li&gt;Jquery &amp;ndash; earl's choice of library because it makes things quick.  Much as he likes to do things from scratch, jquery lets you get  things done faster.&lt;/li&gt;
    &lt;li&gt;Stealing from the past &amp;ndash; remember Doug Englebart gave the mother of all demos way back  in 1968!&lt;/li&gt;
    &lt;li&gt;Fitt's Law &amp;ndash; the amount of time required to hit a target, based  on size of target and distance away. Useful for interface design  stuff...&lt;/li&gt;
    &lt;li&gt;Meanwhile the OS and the web are merging and blurring together &amp;ndash;  UI effects going from OS to web and vice versa.&lt;/li&gt;
    &lt;li&gt;Looking at early video games &amp;ndash; there were some brilliant ideas,  but there was also a lot of crap.&lt;/li&gt;
    &lt;li&gt;&amp;ldquo;It's our job to figure out what's useful.&amp;rdquo;&lt;/li&gt;
    &lt;li&gt;Plagiarism for a better tomorrow. Classic one &amp;ndash; sprites! We  nicked that from games. Also grabbing physics stuff from games &amp;ndash;  bouncing, exaggeration, acceleration.&lt;/li&gt;
    &lt;li&gt;&amp;ldquo;when fads happen god they happen hard!&amp;rdquo;&lt;/li&gt;
    &lt;li&gt;It's not just tech &amp;ndash; we can steal concepts from games. Learn as  you play, site as a game with most commented charts and so forth. But  quite simply games are fun, and we should make our stuff more fun to  use.&lt;/li&gt;
    &lt;li&gt;&amp;ldquo;your homework is to go and watch some old movies with computers  in them... and rip off the ideas. eg. Password prompts with huge text  and massive user feedback......! well maybe not.&lt;/li&gt;
    &lt;li&gt;Go to the library and read books on game theory, make stuff up,  make fun things! &lt;/li&gt;
    &lt;li&gt;Reclaim the web.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h4&gt;cam adams &amp;ndash; making waves&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;Thick value &amp;ndash; something that actually delivers a great result,  something that adds value for the  user and makes their life better  in some way.&lt;/li&gt;
    &lt;li&gt;Value judgement about adding a feature &amp;ndash; discoverability vs  efficiency. You want both but often can't have both.. and context can  make a feature work for one thing but absolutely fail elsewhere.
      &lt;ul&gt;
        &lt;li&gt;eg.  fwd/back buttons worked on a cd player with about ten tracks to deal  with, but failed for an mp3 player with thousands of tracks. Hence  ipod using the jog wheel similar to a roland 303.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;How do you user test something unfamiliar?&lt;/li&gt;
    &lt;li&gt;&amp;ldquo;Change is good. And change makes us angry.&amp;rdquo; - Ben Parr,  Mashable&lt;br /&gt;
      &lt;img src="http://weblog.200ok.com.au/img-open/wds09/camadams-discovery.gif" alt="Sketchnote: discovery vs efficiency - users will adjust over time. How do you test the unknown? Change is good bug makes us angry!" width="344" height="198" /&gt;&lt;/li&gt;
    &lt;li&gt;&amp;ldquo;If I had asked my customers what they wanted, they'd have  wanted a faster horse.&amp;rdquo;- Henry Ford&lt;/li&gt;
    &lt;li&gt;The wave team had a few features that they wouldn't budge on... but  &lt;em&gt;even then&lt;/em&gt; strong enough opposition could still win out if it  became clear the problem was insurmountable.&lt;/li&gt;
    &lt;li&gt;Googlers aren't really the same as the public so the best user  testing is when it starts going out to the public. Also people use  their products in ways they never imagined.&lt;/li&gt;
    &lt;li&gt;&amp;ldquo;the future is other wave clients. And that's scary to me  because someone could build a better client... but realistically the  protocol and the client are intertwined.&amp;rdquo;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3&gt;day two &lt;/h3&gt;
  &lt;h4&gt;kelly goto - workFLOW&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/kellygoto-aha.gif" alt="Sketchnote: stuck vs unsstuck. unaware, then AHA, stuck, then get through that and advance" width="182" height="248" class="right" /&gt;People go through an AHA moment, but also get into a &amp;ldquo;stuck  phase&amp;rdquo;. How do you get past that to the transcendent phase?&lt;/li&gt;
    &lt;li&gt;It's about &lt;strong&gt;staying in the flow&lt;/strong&gt; where time is just passing, work is effortless, you find the balance  between skill and challenge.
      &lt;ul&gt;
        &lt;li&gt;Low skill, high challenges =   anxiety&lt;/li&gt;
        &lt;li&gt;high skill, low challenges =   boredom&lt;/li&gt;
        &lt;li&gt;low skill, low challenges =   apathy&lt;/li&gt;
        &lt;li&gt;high skill, high challenges =   FLOW&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Flow fundamentals (the things we need): vision and purpose,  support and buy in, knowledge and ability, collaboratoin and synergy,  tools and framework, attitude and fearlessness, progress and results.&lt;/li&gt;
    &lt;li&gt;In the end if you're not fearless and having fun, you won't be  unstuck and in the flow.&lt;/li&gt;
    &lt;li&gt;Not every project can allow you to reach the unstuck state... lots  of factors including project type, levels of autonomy etc. It's not  &amp;ldquo;one process fits all&amp;rdquo;.&lt;/li&gt;
    &lt;li&gt;Hybrid process might include waterfall requirements gathering,  followed by some sprints/iterations. Find a balance between user  centred design and agile.&lt;br /&gt;
      &lt;img src="http://weblog.200ok.com.au/img-open/wds09/kellygoto-process.gif" alt="Sketchnote: process" width="279" height="216" class="right" /&gt;&lt;/li&gt;
    &lt;li&gt;Designers and coders &amp;ndash; if you don't have cross skilled people,  you will need to work out how to communicate between the roles.  Standups/scrums can help.&lt;/li&gt;
    &lt;li&gt;User experience and agile development combined = unstuck.&lt;/li&gt;
    &lt;li&gt;Shoshin &amp;ndash; beginner's mind. It's ok to be a novice, it's ok to  think about things in a new way.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Yoyu &lt;/strong&gt;&amp;ndash; the space in between things, time between things... do  you have any yoyu time? We need to slow down, if you want to stop  it's ok.&lt;/li&gt;
    &lt;li&gt;Let's practice &lt;strong&gt;slow twittering&lt;/strong&gt;...  it's 140 characters, but how insightful, how thoughtful can you be? &lt;/li&gt;
    &lt;li&gt;Final slide &amp;ndash; fortune cookie: Exceed  expectations and take vacations.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h4&gt;gian wild &amp;ndash; wcag 2&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt; HREOC still  requires you to follow WCAG 1 (ie. hasn't changed yet). However WCAG 2 will be endorsed, it's  just a matter of when. May be a few months away. &lt;/li&gt;
    &lt;li&gt;It is expected that WCAG 2 will be endorsed at  the A level, encourage AA and expect AAA from sites with specific  known needs.&lt;/li&gt;
    &lt;li&gt;Gian demonstrating the massive pile of documents that comprise  WCAG 2 &amp;ndash; makes a satisfying thud when dropped on a table... not the easiest thing to read though.&lt;/li&gt;
    &lt;li&gt;Gian really pulled these documents apart... Her recommendation: just read the Success Criterion and Techniques, or at least read those first.&lt;/li&gt;
    &lt;li&gt;Some other resources not specifically endorsed by W3C but useful:
      &lt;ul&gt;
        &lt;li&gt;Webaim WCAG 2 tech list&lt;/li&gt;
        &lt;li&gt;Migrating to WCAG 2 by Roger Hudson&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Important to note that WCAG 2 decided that anything which is a an  &amp;ldquo;obvious usability principle&amp;rdquo; should not be included in WCAG 2.
      [That seems to go against more general industry wisdom that the two are so tightly coupled that it's counter productive to force them apart.]
      &lt;ul&gt;
        &lt;li&gt;That dropped some things which would have assisted people with  cognitive disabilities. eg. &lt;em&gt;Clear and simple language&lt;/em&gt; was left  out.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;In addition to A AA and AAA, there are &amp;ldquo;sufficient techniques&amp;rdquo;  and &amp;ldquo;advisory techniques&amp;rdquo;.
      &lt;ul&gt;
        &lt;li&gt;Gian recommends meeting the advisory  techniques as well, since they contain some good and important stuff.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Conformance requirements &amp;ndash; to state that you meet the  conformance level you must conform completely; and &lt;em&gt;whole sites&lt;/em&gt;  must conform. That means if you have an accessible site but one  feature is not accessible, the whole site fails. [Remember this doesn't mean you should blow off accessibility, it just means to &lt;em&gt;assert compliance&lt;/em&gt; you really &lt;em&gt;really &lt;/em&gt;have to comply. Not ticky-box comply.  ] &lt;/li&gt;
    &lt;li&gt;There are new requirements around sound and animation &amp;ndash; you must  be able to pause, stop or hide them.
      &lt;ul&gt;
        &lt;li&gt;eg. You can't have endlessly  looped music/jingles that prevent a screen reader user hearing the  page being read out; &lt;/li&gt;
        &lt;li&gt;you can't have animations if you don't give some  way to disable the animations.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&amp;ldquo;Accessibility supported&amp;rdquo; makes an allowance for using  technologies that aren't accessible, by saying if it has no  accessibility features you can't use those features. [That seems like an odd loophole to leave in..?!] &lt;/li&gt;
  &lt;/ul&gt;
  &lt;h5&gt;&lt;strong&gt;Top 10 changes from WCAG 1 to 2&lt;/strong&gt;&lt;/h5&gt;
  &lt;ol&gt;
    &lt;li&gt;      CAPTCHA &amp;ndash; always been an accessibility challenge. WCAG 2   says there are two things &amp;ndash; first you need to describe the purpose   of the CAPTCHA; and you need to provide another CAPTCHA in a   different modality.&lt;/li&gt;
    &lt;li&gt;      Captions and audio descriptions [missed details] &lt;/li&gt;
    &lt;li&gt;      Audio control &amp;ndash; pause/stop needs to be at the start of the   page so screen reader users can turn things off quickly and easily.&lt;/li&gt;
    &lt;li&gt;      Exceptions &amp;ndash; eg. Specifying alt=&amp;rdquo;&amp;rdquo; for decorative   images; live video has concessions&lt;/li&gt;
    &lt;li&gt;      Colour contrast [missed details]&lt;/li&gt;
    &lt;li&gt;      Sensory characteristics &amp;ndash; you can't say &amp;ldquo;click the button   in the bottom right corner&amp;rdquo; as the user's device/settings/etc may mean it's not actually in the bottom right corner. &lt;/li&gt;
    &lt;li&gt;      On focus/on input &amp;ndash; don't change things based on focus, eg.   Dropdowns fire when keyboard users are trying to use them.&lt;/li&gt;
    &lt;li&gt;      Timing &amp;ndash; you need to be able to extend timeout periods (up   to ten times). There are some realtime exceptions eg. Online   auctions; and you aren't required to add ten times more time for an   exam, perhaps double the time would be fine (some practicality and discretion applies). &lt;/li&gt;
    &lt;li&gt;      Pause/stop/hide &amp;ndash; moving, blinking, scrolling content needs   controls. There are some concession when it's not parallel content,   so scrolling status bars on a video are accepted as part of the   primary content.&lt;/li&gt;
    &lt;li&gt;      Keyboard operability &amp;ndash; more extensive than WCAG 1&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h5&gt;&lt;strong&gt;Top 10 things you might not have noticed...&lt;/strong&gt;&lt;/h5&gt;
  &lt;ol&gt;
    &lt;li&gt;      Group of images and alt &amp;ndash; allows for a set of images to   just have one alt between them. &lt;/li&gt;
    &lt;li&gt;      Combine link and image when they are one and the same, or use   null alt&lt;/li&gt;
    &lt;li&gt;      longdesc must be referred to in alt text &lt;/li&gt;
    &lt;li&gt;      It is preferred to use an image of a glyph than an ascii character   &amp;ndash; eg. Better than using an asterisk to mark required fields on a   form. If you use an image of an asterisk it's often bigger and can   have useful alt text&lt;/li&gt;
    &lt;li&gt;      Stop blinking content on page refresh &amp;ndash; if the user can stop   content blinking by refreshing the page, that complies&lt;/li&gt;
    &lt;li&gt;      Changing presentation of text must be described in text&lt;/li&gt;
    &lt;li&gt;      Changing decorative images must be keyboard controllable&lt;/li&gt;
    &lt;li&gt;      onkeypress should be avoided &amp;ndash; problem with onkeypress is   it can fire when you don't want it to&lt;/li&gt;
    &lt;li&gt;All data tables must have captions and summaries &amp;ndash; this   could be a bit strange in HTML5 where the summary attr is deprecated.&lt;/li&gt;
    &lt;li&gt;      title=&amp;rdquo;&amp;rdquo; can be used instead of &amp;lt;label for=&amp;rdquo;&amp;rdquo;&amp;gt;&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h4&gt;elliot jay stocks &amp;ndash; progressive enhancement&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;Lots of arguments against using CSS3 - have to wait for 100% support, have to wait for IE6 to drop out, have to give the same thing to every user... &lt;strong&gt;&amp;quot;These arguments are complete and utter bullshit!&amp;quot;&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;We're talking about enhancements and  not features &amp;ndash; give the sexy stuff to people who will see it.&lt;/li&gt;
    &lt;li&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/elliotjaystocks-crossbrowsers.gif" alt="Sketchnote: websites will never look the same across all browsers" width="224" height="92" border="0" class="right" /&gt; It all comes back to the old question: do web sites need to look  the same in every browser? NO. websites will never look consistent  across all browsers! Too many factors/variables/rendering engines. So  stop trying to reach the unreachable.&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://webtypography.net/"&gt;webtypography.net&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Enhancement = reward. Intentional degradation = punishment, the  removal of a treat.&lt;/li&gt;
    &lt;li&gt;&amp;ldquo;The designer giveth and the designer taketh away!&amp;rdquo;&lt;/li&gt;
    &lt;li&gt;eg. malarkey's site being black and white in IE6, but being done  absolutely intentionally.&lt;/li&gt;
    &lt;li&gt;Usability vs. aesthetics &amp;ndash; usability and functionality are  important, and although making it look nice is not quite as critical  it should not be underrated. A pleasing visual design leads too a  more fulfilling user experience.&lt;/li&gt;
    &lt;li&gt;Variety in web design. &lt;em&gt;I can haz it?&lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;What elliot sees: BORING (huge slide)&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Vanquish the boring!&lt;/strong&gt; (slide goes up in  flames)&lt;/li&gt;
    &lt;li&gt;Validation is irrelevant - &amp;ldquo;yes yes  bear with me&amp;rdquo; - don't be put off using a new technique just because  it doesn't validate. Validation is still useful as a code checking  method. One suggestion is that the validator could handle new  properties differently &amp;ndash; eg. Highlight with a warning rather than  an error, or mark  it as experimental.&lt;/li&gt;
    &lt;li&gt;...and validation doesn't truly mean  conformity with standards anyway.&lt;/li&gt;
    &lt;li&gt;Suggests we should speak in positive  terms &amp;ndash; talk about adding enhancements instead of saying we can't  make it the same for everyone. We can make a good experience for  most, and a great experience for some.&lt;br /&gt;
      &lt;img src="http://weblog.200ok.com.au/img-open/wds09/elliotjaystocks-enhancementisreward.gif" alt="Sketchnote: an enhancement is a reward!" width="279" height="81" border="0" /&gt;&lt;/li&gt;
    &lt;li&gt;This is not just about making things  look pretty, it's also about making a future-proof site. 10% of users  today are 100% of users tomorrow &amp;ndash; the number of people seeing the  enhancements will grow, not shrink. New features won't become  mainstream if we don't start using them.&lt;/li&gt;
    &lt;li&gt;Elliot's typographic journey: Describes  an early experience as a young designer being confused that  dreamweaver offered all the fonts on his machine without explaining  you couldn't use all of them. When he realised he couldn't he became  enamoured of flash and invested time learning that. But he came back  to the standards way... but frustration pushed him into techniques  like image replacement, which had their own problems. Sifr worked but  should be treated as a stopgap measure until something better comes  along... hopefully that's @font-face&lt;/li&gt;
    &lt;li&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/elliotjaystocks-typography2009.gif" alt="Sketchnote: web typography growing up" width="171" height="92" border="0" class="right" /&gt; &lt;strong&gt;2009: the year web typography started  to grow up&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;New sites to offer embeddable fonts:  typkit, fontdeck, kernest; also some foundries have their own bespoke  solutions.&lt;/li&gt;
    &lt;li&gt;.webfont - &amp;ldquo;this is where it gets  exciting&amp;rdquo;... proposal for a new, open standard with anti piracy  stuff in an attempt to make it viable etc... however not a reality  yet. Font file plus xml rights expression doesn't really protect  against piracy but may be enough to mollify the foundries.&lt;/li&gt;
    &lt;li&gt;[Alternatively the foundries  could price realistically and make it possible to actually support  them without sending yourself broke]&lt;/li&gt;
    &lt;li&gt;[Selectors really aren't &amp;ldquo;small  stuff&amp;rdquo;! The effect of css3 selectors on markup will be massive.  Ability to move heaps of required-for-presentation classes out of  markup will really clean things up. The key is getting rid of ie6 to  allow multi selectors.]&lt;/li&gt;
    &lt;li&gt;Finishing with a great definion of  progressive: favouring or advocating progress, change... [look up  slides]&lt;/li&gt;
    &lt;li&gt;Don't fear degradation: plan for it.&lt;/li&gt;
    &lt;li&gt;Aim for the stars: you might reach the  moon. [I absolutely agree with this philosophy!] &lt;/li&gt;
    &lt;li&gt;Slides at &lt;a href="http://elliotjaystocks.com/speaking/"&gt;elliotjaystocks.com/speaking/&lt;/a&gt; or &lt;a href="http://www.slideshare.net/elliotjaystocks/stop-worrying-get-on-with-it-progressive-enhancement-intentional-degradation"&gt;http://www.slideshare.net/elliotjaystocks/stop-worrying-get-on-with-it-progressive-enhancement-intentional-degradation&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h5&gt;Q&amp;amp;A&lt;/h5&gt;
  &lt;p&gt;Q: How will foundries cope with the web  when their licencsing and prices are ridiculous?&lt;/p&gt;
  &lt;p&gt;A: Some are coming around when they see  the potential benefit.&lt;/p&gt;
  &lt;p&gt;Q: View on using ie filter hacks for IE?&lt;/p&gt;
  &lt;p&gt;A: It comes down to the sense of how  far you're prepared to hack to achieve the result &amp;ndash; if it won't  cost too much time and you have a big ie6 audience it's ok.&lt;/p&gt;
  &lt;h4&gt;christian crumlish &amp;ndash; designing social  interfaces&lt;/h4&gt;
  &lt;h5&gt;Five principles&lt;/h5&gt;
  &lt;ul&gt;
    &lt;li&gt;Principle: Pave the cowpaths
      &lt;ul&gt;
        &lt;li&gt;eg. The twitter @reply syntax was made  up by the users and they ran with it.&lt;/li&gt;
        &lt;li&gt;Another one &amp;ndash; dogster and catster  where people share personal information in the voice/pov of their  pet. The services were originally intended as photo sharing, but the  users focussed and they ran with it.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/christiancrumlish-talklikeahuman.gif" alt="Sketchnote: talk to users like a human" width="236" height="107" border="0" class="right" /&gt; Principle: talk like a person
      &lt;ul&gt;
        &lt;li&gt;Don't drone like a lawyer, be  conversational; self-deprecating error messages; ask questions; your  vs my; no joking around &amp;ndash; or at least be very careful, as it's very  easy to use a joke that people don't get. Let the users tell each  other jokes, but don't do it yourself.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Principle: play well with others
      &lt;ul&gt;
        &lt;li&gt;Be open, use open standards, leverage  what's already out there. Share data,  accept external data, support  two-way interoperability.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Principle: learn from games
      &lt;ul&gt;
        &lt;li&gt;Games are often on the leading edge of  interfaces and social interaction. Games set up a space in which play  is possible; and then they make up what the final experience actually  is. You have to give up some control for this to work.&lt;/li&gt;
        &lt;li&gt;Example of evolution: Game Neverending,  which eventually evolved into Flickr...!&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Principle: respected the ethical  dimension
      &lt;ul&gt;
        &lt;li&gt;On some level you are literally playing  with peoples' lives. If you are going to get a business benefit from  users' interaction then you have a responsibility to look after those  people as best you can.&lt;/li&gt;
        &lt;li&gt;Spamming people's address book is an  example of NOT respecting the ethical dimension.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;h5&gt;96 Patterns&lt;/h5&gt;
  &lt;ul&gt;
    &lt;li&gt;Social spaces with three buckets &amp;ndash;  self, community, activities.&lt;/li&gt;
    &lt;li&gt;Picking a few of these...&lt;/li&gt;
    &lt;li&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/christiancrumlish-identified.gif" alt="Sketchnote: allow users to be identified" width="272" height="86" border="0" class="right" /&gt; Pattern: give people a way to be  identified
      &lt;ul&gt;
        &lt;li&gt;They have to be in the system, need to  have a way to identify themselves and personalise how they are shown.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Pattern: What's your social object?
      &lt;ul&gt;
        &lt;li&gt;Objects draw attention and allow us to  relate as human in a way we might not otherwise be inspired to do. &lt;/li&gt;
        &lt;li&gt;Give people something to do.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Let the community elevate people and  content they value.&lt;/li&gt;
    &lt;li&gt;Public vs. private conversation... you  need to be aware of this.&lt;/li&gt;
    &lt;li&gt;Enable a bridge to real life events &amp;ndash;  people connect better after they have met.&lt;/li&gt;
    &lt;li&gt;Using more geo information is helping  this.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h5&gt;5 anti patterns&lt;/h5&gt;
  &lt;ul&gt;
    &lt;li&gt;An anti pattern is something that seemed like a good idea at the  time... but it turns out to cause more problems than they solve.&lt;/li&gt;
    &lt;li&gt;Anti Pattern: cargo cult
      &lt;ul&gt;
        &lt;li&gt;Imitating a form or function without  understanding it.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Anti pattern: don't break email
      &lt;ul&gt;
        &lt;li&gt;It's tempting to use email as a  broadcast-only medium, usually with noreply emails... which means  when they use email the way they've used it for years before you were  around, it doesn't work. A better way is to work out how to cope if  someone does reply.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Anti pattern: the password anti pattern
      &lt;ul&gt;
        &lt;li&gt;Getting users to give their password  away creates some big problems elsewhere&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Anti pattern: ex boyfriend bug
      &lt;ul&gt;
        &lt;li&gt;&amp;ldquo;&lt;em&gt;the people you should know&amp;rdquo;  list on facebook is actuallya list of people you hate.&lt;/em&gt; - rex  sorgatz (twitter)&lt;/li&gt;
        &lt;li&gt;Services that keep suggesting you might  want to add someone are a problem... you need to let the user say  stop showing that option to me.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Anti pattern: potemkin village
      &lt;ul&gt;
        &lt;li&gt;Story goes that a russian tzarina  wanted to see the happy peasants, so they faked villages and gave her  a fake tour. &lt;/li&gt;
        &lt;li&gt;On the web a classic example is setting up a forum &amp;ndash;  don't set up empty rooms, just start with one single place to talk.  Make more rooms when the users define what they want to see created.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
  &lt;h5&gt;Q&amp;amp;A&lt;/h5&gt;
  &lt;p&gt;Q: why are youtube comments so full of  hate?&lt;/p&gt;
  &lt;p&gt;A: they were never moderated to set  some boundaries.&lt;/p&gt;
  &lt;h4&gt;javascript testing&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;Reasons to test are pretty obvious,  reasons to automate not quite as obvious but clear: testing needs to  be quick and easy enough to avoid undue cost, time or reluctance to  release as often as you need/want.&lt;/li&gt;
    &lt;li&gt;End to end tests: big, powerful,  convincing... but slow, inexact, high maintenance.&lt;/li&gt;
    &lt;li&gt;Unit tests: small, quick, focussed,  resilient... but limited, no integration testing.&lt;/li&gt;
    &lt;li&gt;Healthy test pyramid: lots of unit testing, some in between, some  end to end, very little manual testing.&lt;/li&gt;
    &lt;li&gt;Using browser emulators and browser drivers have some advantages  but do rely on the emulator getting it right. Safer than it used to  be, but still not perfect.&lt;/li&gt;
    &lt;li&gt;Lot of activity going on with javascript unit testing frameworks.  They sit alongside your code and execute test scripts. Jsunit has  been around for a while but there are some new ones coming out.&lt;/li&gt;
    &lt;li&gt;selenium demo&lt;/li&gt;
    &lt;li&gt;Testability:
        &lt;ul&gt;
          &lt;li&gt;coherent js modules&lt;/li&gt;
          &lt;li&gt;coherent tests&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;ul&gt;
      &lt;li&gt;unobtrusive js&lt;/li&gt;
      &lt;li&gt;write the tests first&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li&gt;Build integration is very tool-specific. Trickiness &amp;ndash; stopping  and starting servers and browsers.&lt;/li&gt;
    &lt;li&gt;Testswarm &amp;ndash; server which takes tests scripts, fires up browsers  as workers, tests are farmed to the browsers and results aggregated.  Anyone can provide computing power, seti-at-home style.&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://delicious.com/mdub/javascript+testing"&gt;Delicious.com/mdub/javascript+testing&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h4&gt;dan hill &amp;ndash; 15 years in&lt;/h4&gt;
  &lt;p&gt;[On a few occasions during this closing keynote, I realised I'd stopped taking notes because I was engrossed. It's hard to do it justice with the brief notes that result.]&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/danhill-approach.gif" alt="Sketchnote: design is an approach instead of a discipline" width="118" height="83" border="0" class="right" /&gt; Design = multidisciplinary; or an approach rather than a single  discipline.&lt;/li&gt;
    &lt;li&gt;Strategic design &amp;ndash; redesigning your surroundings&lt;/li&gt;
    &lt;li&gt;Eliel Saarinen: &amp;ldquo;Always design a thing by considering it in its next larger context - a chair in a room, a room in a house, a house in an environment, an environment in a city plan.&amp;rdquo;&lt;/li&gt;
    &lt;li&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/danhill-prototypethefutre.gif" alt="Sketchnote: prototype the future" border="0" class="right" /&gt;Artefacts from the future: Dan Hill discussing the use of  fake/spec mockups to inspire and guide clients facing a design  challenge. Mockups of a future edition of a magazine the decision  makers read; mockups of a magazine an organisation might put out;  websites that could be built.&lt;/li&gt;
    &lt;li&gt;Data visualisation takes dry data about a city and shows it as a  living, breathing thing. It makes so much more sense to see things  played out in real time.&lt;/li&gt;
    &lt;li&gt;Fantastic discovery at the state library of Queensland &amp;ndash; people  with their own net access go there to use the net because it's a  great space to use the net. It's a useful public space that attracts  new people.
      &lt;ul&gt;
        &lt;li&gt;[my thought: people don't want to spend all their time at  home online, even just being in a shared or &lt;em&gt;different &lt;/em&gt;space is attractive.]&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;...so they looked at what people were doing with the wifi. Extracted keywords, destinations... looked at where is the wifi signal the strongest.  &lt;/li&gt;
    &lt;li&gt;Also simply asked people what they were doing &amp;ndash; found people programming and committing code, uploading photos,  working out of the office. Also facebook, but hey.&lt;/li&gt;
    &lt;li&gt;Discussion needs to be taken from &amp;ldquo;what could we do&amp;rdquo; and then  into &amp;ldquo;what should we do&amp;rdquo;. &lt;/li&gt;
    &lt;li&gt;&lt;img src="http://weblog.200ok.com.au/img-open/wds09/danhill-spaces.gif" alt="Sketchnote" width="295" height="74" border="0" /&gt;&lt;br /&gt;
    The internet changes things, interactive environments change what  happens there. Expectations change, the way people use the space will  change. If you can be online and immersed in useful information, your  experience will be totally different than before.&lt;/li&gt;
    &lt;li&gt;Innovation and development is not dependent on a massive  population, it's about culture. We need to nurture creativity. &lt;/li&gt;
    &lt;li&gt;Redesign the culture, redesign the oceans. Redesign our  surroundings.&lt;/li&gt;
  &lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=ai5tcnRnfOE:nWUL2bJ3dag:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=ai5tcnRnfOE:nWUL2bJ3dag:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=ai5tcnRnfOE:nWUL2bJ3dag:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=ai5tcnRnfOE:nWUL2bJ3dag:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/ai5tcnRnfOE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/62594188253378660/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2009/10/wds09-notes.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/62594188253378660" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/62594188253378660" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/ai5tcnRnfOE/wds09-notes.html" title="WDS09: the notes" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2009/10/wds09-notes.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-5815658745579458387</id><published>2009-09-09T19:09:00.004+10:00</published><updated>2009-09-09T19:21:04.704+10:00</updated><title type="text">accessibility vs. alpha transparency</title><content type="html">&lt;p&gt;When we get new toys, we use them... and use them... and use them... Sometimes the problem with new toys is reminding ourselves when  &lt;strong&gt;not &lt;/strong&gt;to use them. &lt;/p&gt;
&lt;p&gt;Web development is no different. Support for new CSS features means we can start using things like rounded corners, font embedding and proper transparency/opacity - straight from our stylesheets.&lt;/p&gt;
&lt;p&gt;New toys, in other words. &lt;/p&gt;
&lt;p&gt;Some of these will create merely aesthetic issues (ready for ten-font websites?), but transparency can easily create accessibility problems for your site. &lt;/p&gt;
&lt;p&gt;Using transparency has the side effect of reducing contrast; and for some reason it just &lt;em&gt;feels&lt;/em&gt; like low-contrast thresholds kick in a little earlier than they do with straight colours. I'm sure it's just the "I wanna use the new toy!" factor, but there it is all the same. &lt;/p&gt;
&lt;h3&gt;contrast testing after transparency &lt;/h3&gt;
&lt;p&gt;So how fast do we hit trouble? I did a quick contrast check of black-on-white text with alpha transparency (using rgba colour). I started with opacity 1 (not transparent) and stepped through in 10% increments. Opacity 0 is included purely for the sake of completeness. &lt;/p&gt;
&lt;table width="100%" border="1" id="rgba-colour-test01"&gt;
 &lt;caption&gt;
   Testing alpha transparency - black text on white
 &lt;/caption&gt;
 &lt;tbody&gt;&lt;tr&gt;
   &lt;th width="30%" align="center" scope="col"&gt;rgba&lt;/th&gt;
   &lt;th width="15%" align="center" scope="col"&gt;Hex&lt;/th&gt;
   &lt;th width="15%" align="center" class="example" scope="col"&gt;Example&lt;/th&gt;
   &lt;th width="10%" align="center" class="patch" scope="col"&gt;Swatch&lt;/th&gt;
   &lt;th width="30%" align="center" scope="col"&gt;&lt;abbr title="Colour Contrast Analyser (by the Paciello Group)"&gt;CCA&lt;/abbr&gt; Luminosity Test &lt;/th&gt;
 &lt;/tr&gt;
 &lt;tr class="example1"&gt;
   &lt;th width="30%" align="center" scope="row"&gt;rgba(0%, 0%, 0%, 1.0)&lt;/th&gt;
   &lt;td width="15%" align="center"&gt;#000000&lt;/td&gt;
   &lt;td width="15%" align="center" class="example" style="color: #000000;"&gt;Example&lt;/td&gt;
   &lt;td width="10%" align="center" class="patch" style="background: #000000;"&gt; &lt;/td&gt;
   &lt;td width="30%" align="center"&gt;Passes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr class="example2"&gt;
   &lt;th width="30%" align="center" scope="row"&gt;rgba(0%, 0%, 0%, 0.9)&lt;/th&gt;
   &lt;td width="15%" align="center"&gt;#1A1A1A&lt;/td&gt;
   &lt;td width="15%" align="center" class="example" style="color: #1a1a1a;"&gt;Example&lt;/td&gt;
   &lt;td width="10%" align="center" class="patch" style="background: #1a1a1a;"&gt; &lt;/td&gt;
   &lt;td width="30%" align="center"&gt;Passes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr class="example3"&gt;
   &lt;th width="30%" align="center" scope="row"&gt;rgba(0%, 0%, 0%, 0.8)&lt;/th&gt;
   &lt;td width="15%" align="center"&gt;#323232&lt;/td&gt;
   &lt;td width="15%" align="center" class="example" style="color: #323232;"&gt;Example&lt;/td&gt;
   &lt;td width="10%" align="center" class="patch" style="background: #323232;"&gt; &lt;/td&gt;
   &lt;td width="30%" align="center"&gt;Passes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr class="example4"&gt;
   &lt;th width="30%" align="center" scope="row"&gt;rgba(0%, 0%, 0%, 0.7)&lt;/th&gt;
   &lt;td width="15%" align="center"&gt;#4C4C4C &lt;/td&gt;
   &lt;td width="15%" align="center" class="example" style="color: #4C4C4C;"&gt;Example&lt;/td&gt;
   &lt;td width="10%" align="center" class="patch" style="background: #4C4C4C;"&gt; &lt;/td&gt;
   &lt;td width="30%" align="center"&gt;Passes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr class="example5"&gt;
   &lt;th width="30%" align="center" scope="row"&gt;rgba(0%, 0%, 0%, 0.6)&lt;/th&gt;
   &lt;td width="15%" align="center"&gt;#666666&lt;/td&gt;
   &lt;td width="15%" align="center" class="example" style="color: #666666;"&gt;Example&lt;/td&gt;
   &lt;td width="10%" align="center" class="patch" style="background: #666666;"&gt; &lt;/td&gt;
   &lt;td width="30%" align="center"&gt;&lt;strong&gt;Fails 1/4 tests &lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr class="example6"&gt;
   &lt;th width="30%" align="center" scope="row"&gt;rgba(0%, 0%, 0%, 0.5)&lt;/th&gt;
   &lt;td width="15%" align="center"&gt;#7E7E7E&lt;/td&gt;
   &lt;td width="15%" align="center" class="example" style="color: #7E7E7E;"&gt;Example&lt;/td&gt;
   &lt;td width="10%" align="center" class="patch" style="background: #7E7E7E;"&gt; &lt;/td&gt;
   &lt;td width="30%" align="center"&gt;&lt;strong&gt;Fails 3/4 tests &lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr class="example7"&gt;
   &lt;th width="30%" align="center" scope="row"&gt;rgba(0%, 0%, 0%, 0.4)&lt;/th&gt;
   &lt;td width="15%" align="center"&gt;#999999 &lt;/td&gt;
   &lt;td width="15%" align="center" class="example" style="color: #999999;"&gt;Example&lt;/td&gt;
   &lt;td width="10%" align="center" class="patch" style="background: #999999;"&gt; &lt;/td&gt;
   &lt;td width="30%" align="center"&gt;&lt;strong&gt;Fails&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr class="example8"&gt;
   &lt;th width="30%" align="center" scope="row"&gt;rgba(0%, 0%, 0%, 0.3)&lt;/th&gt;
   &lt;td width="15%" align="center"&gt;#B3B3B3&lt;/td&gt;
   &lt;td width="15%" align="center" class="example" style="color: #B3B3B3;"&gt;Example&lt;/td&gt;
   &lt;td width="10%" align="center" class="patch" style="background: #B3B3B3;"&gt; &lt;/td&gt;
   &lt;td width="30%" align="center"&gt;&lt;strong&gt;Fails&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr class="example9"&gt;
   &lt;th width="30%" align="center" scope="row"&gt;rgba(0%, 0%, 0%, 0.2)&lt;/th&gt;
   &lt;td width="15%" align="center"&gt;#CDCDCD&lt;/td&gt;
   &lt;td width="15%" align="center" class="example" style="color: #CDCDCD;"&gt;Example&lt;/td&gt;
   &lt;td width="10%" align="center" class="patch" style="background: #CDCDCD;"&gt; &lt;/td&gt;
   &lt;td width="30%" align="center"&gt;&lt;strong&gt;Fails&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr class="example10"&gt;
   &lt;th width="30%" align="center" scope="row"&gt;rgba(0%, 0%, 0%, 0.1)&lt;/th&gt;
   &lt;td width="15%" align="center"&gt;#E5E5E5 &lt;/td&gt;
   &lt;td width="15%" align="center" class="example" style="color: #E5E5E5;"&gt;Example&lt;/td&gt;
   &lt;td width="10%" align="center" class="patch" style="background: #E5E5E5;"&gt; &lt;/td&gt;
   &lt;td width="30%" align="center"&gt;&lt;strong&gt;Fails&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr class="example10"&gt;
   &lt;th align="center" scope="row"&gt;rgba(0%, 0%, 0%, 0)&lt;/th&gt;
   &lt;td align="center"&gt;#FFFFFF&lt;/td&gt;
   &lt;td align="center" class="example" style="color: #fff;"&gt;Example&lt;/td&gt;
   &lt;td align="center" class="patch" style="background: #fff;"&gt; &lt;/td&gt;
   &lt;td align="center"&gt;&lt;strong&gt;Fails &lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;So with this simple test, applying 0.6 opacity means you're already into trouble; and 0.5 and below is an accessibility failure. &lt;strong&gt;There's only a completely "safe" zone of three steps down from fully opaque - and that's using black and white.&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;Keep in mind you will hit problems much faster with colours that are closer together. Watch out for the corporate favourite blue-on-blue.&lt;/p&gt;
&lt;h3&gt;what about backgrounds? &lt;/h3&gt;
&lt;p&gt;The colour issues are the same for backgrounds, but in practice there's a good chance you'll also be revealing an underlying graphic.&lt;/p&gt;
&lt;p&gt;In that case you have to check your foreground colour against several sample points in your background - make sure you get both the lightest and darkest regions. &lt;/p&gt;
&lt;p&gt;You also need to consider legibility - is the image interfering too much? Admittedly that's subjective, all I can suggest is it's likely we can't show our nifty background nearly as much as we'd like.&lt;/p&gt;
&lt;h3&gt;every old problem is new again &lt;/h3&gt;
&lt;p&gt;It's true that contrast problems aren't new, and there have been clumsy ways to use transparency for quite a while as well. However &lt;a href="http://dev.opera.com/articles/view/color-in-opera-10-hsl-rgb-and-alpha-transparency/"&gt;rgba and hsla colour&lt;/a&gt; are easy to use and &lt;a href="http://www.css3.info/modules/compatibility-table-colour-module/"&gt;now available in all good browsers&lt;/a&gt; (plus a &lt;a href="http://css-tricks.com/rgba-browser-support/"&gt;hack for IE&lt;/a&gt;). &lt;/p&gt;
&lt;p&gt;Growing acceptance of progressive enhancement is also fuelling the desire to use new features and push web design forwards.&lt;/p&gt;
&lt;p&gt;So now that it's easier to implement, it's reasonable to expect an increase in designers and developers experimenting with layering colour and images. That means we need to be sure we catch the potential issues. &lt;/p&gt;
&lt;h3&gt;solving the problem  &lt;/h3&gt;
&lt;p&gt;No matter how you build a site, you should check the final colour combinations carefully. Even if you already do this, you need to &lt;strong&gt;check your tools &lt;/strong&gt;as not all of them can evaluate  transparency. &lt;/p&gt;
&lt;p&gt;For example the Juicy Studio Firefox extension read all ten transparencies in my test as pure black,  incorrectly giving them all a pass for contrast. Although it's convenient for quick checks of basic colour, the extension currently doesn't evaluate transparency or check the colours in images.&lt;/p&gt;
&lt;p&gt;To avoid these issues I recommend using the &lt;a href="http://www.paciellogroup.com/resources/contrast-analyser.html"&gt;Paciello Group's Colour Contrast Analyser&lt;/a&gt; which is based on the same contrast standards, but offers an eyedropper selection tool. That way you are certain that you're testing the actual output, regardless of the technology you're using.&lt;/p&gt;
&lt;p&gt;One good thing about contrast checks is they're not even slightly subjective - use a contrast checker, it will give you an answer (&lt;a href="http://weblog.200ok.com.au/2008/06/problem-with-light-grey.html"&gt;even when your monitor is screwing up your colours&lt;/a&gt;). It's a good point to remember when your designer is disappointed they need to change their design - it's not opinion, it's a simple fact.&lt;/p&gt;
&lt;h3&gt;last thoughts&lt;/h3&gt;
&lt;p&gt;It's easy to get caught up in the moment when trying something new, but we need to keep a level head and make sure the final product still &lt;em&gt;works&lt;/em&gt;. There is nothing stopping us using hsla and rgba, so long as we don't throw out basic accessibility along the way. &lt;/p&gt;
&lt;p&gt;The purpose of web pages is to convey information, and accessibility guidelines are there to make sure we do that for everyone. There's no point putting together a technically clever site if the content disappears into a low-contrast mess.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=2egTXATlnB4:xbwa3yH0gMk:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=2egTXATlnB4:xbwa3yH0gMk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=2egTXATlnB4:xbwa3yH0gMk:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=2egTXATlnB4:xbwa3yH0gMk:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/2egTXATlnB4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/5815658745579458387/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2009/09/accessibility-vs-alpha-transparency.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/5815658745579458387" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/5815658745579458387" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/2egTXATlnB4/accessibility-vs-alpha-transparency.html" title="accessibility vs. alpha transparency" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2009/09/accessibility-vs-alpha-transparency.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-2877293960793211912</id><published>2009-04-27T08:00:00.001+10:00</published><updated>2009-05-03T23:42:52.198+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="work life" /><category scheme="http://www.blogger.com/atom/ns#" term="productivity" /><category scheme="http://www.blogger.com/atom/ns#" term="coffee" /><category scheme="http://www.blogger.com/atom/ns#" term="human stuff" /><title type="text">Coffee Theory</title><content type="html">&lt;p&gt;Ask web developers about the tools they use, and it’s likely they’ll start talking about hardware, software and web applications. That’s understandable, but it’s not the whole picture.&lt;/p&gt;
&lt;p&gt;I believe things like software pale in comparison with the most powerful tool available: coffee.&lt;/p&gt;
&lt;p&gt;I'm not talking about caffeine. What I'm talking about is the power of informal work time. It’s wrapped up in what I call Coffee Theory, which in short form is this:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Large organisations only survive because people drink coffee.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;It’s all about people&lt;/h3&gt;
&lt;p&gt;When I think back over the projects I’ve worked on, technology was often the least of our problems. Before we even started coding, there were people to convince, requirements to gather and budgets to get approved.&lt;/p&gt;
&lt;p&gt;Sure, bugs can be nasty and frustrating &amp;ndash; but they can be fixed. You’re smart, you can Debug Stuff. But you can’t debug &lt;em&gt;people&lt;/em&gt;; and if you hit a big enough problem with people you might not even &lt;em&gt;get&lt;/em&gt; to the coding stage.&lt;/p&gt;
&lt;p&gt;People can baulk at an idea, people can play politics and ultimately people can bring your entire project to a halt. One thing is for sure &amp;ndash; you can’t solve &lt;em&gt;people problems&lt;/em&gt; by hacking code. &lt;/p&gt;
&lt;p&gt;The good news is a lot of people problems are &lt;em&gt;communication&lt;/em&gt; problems, and coffee can help you fix those.&lt;/p&gt;
&lt;h3&gt;Communication Problems&lt;/h3&gt;
&lt;p&gt;Businesses generate a huge amount of data, but they struggle getting the right information to the right people.&lt;/p&gt;
&lt;p&gt;The problem starts with simple overload &amp;ndash; there’s just too much email and documentation for any one person to read. Attempts to filter information have mixed success, since the gatekeepers may not always know what’s relevant to everyone else.&lt;/p&gt;
&lt;p&gt;If the organisation is big enough there can be entire teams who do similar work, but have no effective lines of communication. Maybe they only ever deal with each other &lt;em&gt;when something has already gone wrong&lt;/em&gt; &amp;ndash; and they’re still annoyed about what happened last time…&lt;/p&gt;
&lt;p&gt;At best, you’re probably missing great opportunities for collaboration, knowledge sharing and just simply meeting new people.&lt;/p&gt;
&lt;p&gt;At worst, you can have teams working at cross purposes, duplicating effort and having arguments that are mostly historical. Good things like &amp;#8220;what’s the best solution&amp;#8221; get lost in the noise. The organisation has ended up with internal disconnection.&lt;/p&gt;
&lt;h3&gt;So how does coffee help?&lt;/h3&gt;
&lt;p&gt;The morning coffee break does not respect hierarchy, structure or politics. When you go for coffee, you can and will meet everyone from the developer who sits in the next cubicle, right up to the CEO. &lt;/p&gt;
&lt;p&gt;In the corporate environment, people who otherwise wouldn’t talk to each other can still meet over coffee. Organisational disconnects are repaired by the humans in the system, since they are social beings who get together and chat about Stuff™.&lt;/p&gt;
&lt;p&gt;Without coffee, without &lt;em&gt;informality&lt;/em&gt;, organisations would grind to a halt. Think about it: if you waited to be told everything through official channels, do you think you’d ever get anything done? Or have you just &lt;em&gt;learned who to ask&lt;/em&gt; when you need information?&lt;/p&gt;
&lt;p&gt;Smart managers recognise this and encourage their staff to socialise a little at work. They know that some of the best ideas happen between the discussions about sport, politics and the weather.&lt;/p&gt;
&lt;p&gt;People are often more attentive and open to discussion during the coffee run &amp;ndash; you can actually get their undivided attention, away from the interruptions of the office. It can be a very smart and efficient way to brainstorm a problem.&lt;/p&gt;
&lt;p&gt;So coffee is the reason that large organisations survive. If individuals are smart about it, coffee can also be a way for them to thrive and have fun within these bureaucratic behemoths.&lt;/p&gt;
&lt;h3&gt;Extend your social network&lt;/h3&gt;
&lt;p&gt;One of the best things I’ve ever learned about work life is that “networking” is just a fancy word for &lt;em&gt;being sociable&lt;/em&gt;. So if you’re worried about taking some time out of your day for the coffee run, remember that keeping in touch with co-workers is an important part of work life. &lt;/p&gt;
&lt;p&gt;Walk to the coffee shop and get to know the people you work with; then get to know the people &lt;em&gt;they &lt;/em&gt;work with. Keep doing this and you’ll have contacts all over the organisation, which turns a cold call into a friendly chat. When you need information you’ll have friendly faces to go to &amp;ndash; and they’ll come to you when they need your expertise. &lt;/p&gt;
&lt;p&gt;Even if you’re not a hard-edged, career-driven type, being friendly with people makes work life infinitely more enjoyable. It’s not cynical, it’s human!&lt;/p&gt;
&lt;h4&gt;Don’t get carried away&amp;hellip;&lt;/h4&gt;
&lt;p&gt;With all networking activities there’s a danger of acting outside your character because You Are Networking And This Is Serious Business. I think the best way to avoid this is to just &lt;em&gt;relax and be yourself&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;Be friendly, be genuine and let the passion for your work speak for itself. Pay attention to the things other people are passionate about &amp;ndash; even if you don’t share their focus, understanding it will help you work together.&lt;/p&gt;
&lt;p&gt;Use coffee as a way to get to know people, but don’t bulldoze conversations into an agenda. You should find opportunities to pitch your ideas to the right people, but let those moments arrive naturally.&lt;/p&gt;
&lt;p&gt;You should also be a little diplomatic &amp;ndash; be open, discuss whatever comes up, but be just a little careful. Remember, if you’re about to tell a senior manager how unbelievably bad a system is&amp;hellip; they might have been the one who selected the system in the first place. So be nice.&lt;/p&gt;
&lt;h3&gt;The coffee shop is not a boardroom!&lt;/h3&gt;
&lt;p&gt;Beyond the random gathering of the coffee run, you can use coffee as a way to break down barriers with specific people. &lt;/p&gt;
&lt;p&gt;If you’ve had a string of meetings with someone and still find yourselves at an impasse, try meeting in a coffee shop instead of the office. The change of pace can help find a new approach, or prompt people to explain underlying issues they didn’t think to discuss in meetings. &lt;/p&gt;
&lt;p&gt;People relax in coffee shops &amp;ndash; they do not relax in boardrooms. Take people out of strict working environments, and you may find “impossible” problems can be sorted out in half an hour over a coffee. &lt;/p&gt;
&lt;p&gt;Coffee is informal, it's friendly and it's personal. It shows that you're interested in the person as well as the business card. It may not work on everyone, but you might be surprised who it &lt;em&gt;does&lt;/em&gt; work on.&lt;/p&gt;
&lt;h3&gt;&amp;#8220;But I don’t like coffee&amp;hellip;&amp;#8221;&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Great, or maybe we could go somewhere and just eat a bunch of caramels. When you think about it, it’s just as arbitrary as drinking coffee.&lt;/p&gt;
&lt;cite&gt;&amp;ndash; Will, &lt;em&gt;Good Will Hunting&lt;/em&gt;.&lt;/cite&gt;&lt;/blockquote&gt;
&lt;p&gt;Coffee theory does not strictly require &lt;em&gt;coffee&lt;/em&gt;. Coffee is just a very common social ritual which is accepted in most offices. In your office it could be tea, ice cream or indeed eating a bunch of caramels&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The actual &lt;em&gt;thing&lt;/em&gt; doesn’t matter. Realistically you should just watch out for informal moments which offer an opportunity to step outside the normal, staid office dynamic.&lt;/p&gt;
&lt;h3&gt;What about beer?&lt;/h3&gt;
&lt;p&gt;Sure, beer is another social lubricant. But unlike coffee, it does not sharpen your ability to pitch your ideas. Alcohol is also commonly consumed at the end of the week. So although on Friday night someone was totally convinced you're on to something, by the time Monday rolls around they’ve probably forgotten the conversation entirely.&lt;/p&gt;
&lt;p&gt;Besides that, not everyone drinks beer. But most people do enjoy some form of break during the work day. They also tend to do it every day, so you don’t have to wait another week for the pub night to roll around.&lt;/p&gt;
&lt;p&gt;So beer has its place; but realistically while you’re likely to achieve general social bonding between workmates&amp;mdash;and yes that’s a good thing&amp;mdash;you’re far less likely to get any real work done. &lt;/p&gt;
&lt;h3&gt;To the coffee shop!&lt;/h3&gt;
&lt;p&gt;Regardless of your role, at some point the human factor is going to be the biggest hurdle you have between you and your goals. &lt;/p&gt;
&lt;p&gt;The challenge may be selling an idea; resolving a dispute; getting people to work together; or finding new ways to do old tasks.&lt;/p&gt;
&lt;p&gt;Whatever it is, sometimes the office will not hold the answer. Meetings, email and phone calls can’t fix everything. Sometimes you need to get people out of the workplace and into a different mindset &amp;ndash; and going for a coffee is an ideal way to make that happen.&lt;/p&gt;
&lt;p&gt;So that’s Coffee Theory in a nutshell. It’s about bridging the gaps left in corporate communications, so you can get people together and &lt;em&gt;get things done&lt;/em&gt;. It’s about embracing the human side of work life; and accepting that informal work time can be the most productive time of the day. &lt;/p&gt;
&lt;p&gt;It’s worked for me so far, I hope it works for you too.&lt;/p&gt;
&lt;p&gt;Now, who’s up for a coffee?&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=-Rhu2nNPBGg:sNL8NKZnS2M:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=-Rhu2nNPBGg:sNL8NKZnS2M:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=-Rhu2nNPBGg:sNL8NKZnS2M:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=-Rhu2nNPBGg:sNL8NKZnS2M:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/-Rhu2nNPBGg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/2877293960793211912/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2009/04/coffee-theory.html#comment-form" title="17 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/2877293960793211912" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/2877293960793211912" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/-Rhu2nNPBGg/coffee-theory.html" title="Coffee Theory" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>17</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2009/04/coffee-theory.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-1018976890449340746</id><published>2009-04-08T23:09:00.004+10:00</published><updated>2009-04-08T23:35:11.434+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="css naked day" /><title type="text">proudly naked</title><content type="html">&lt;p&gt;
It's &lt;a href="http://naked.dustindiaz.com/"&gt;CSS Naked Day&lt;/a&gt;, is your markup showing?&lt;/p&gt;
&lt;p&gt;
There's a certain purity to seeing content with absolutely no CSS applied. Raw structure, a focus what the page is &lt;em&gt;really about&lt;/em&gt;. It pares away all possible distraction, shows the heirarchy of content. Plus, it kind of reminds me of the early days when my net access was text-only ;) (vt100, dialup).&lt;/p&gt;
&lt;p&gt;
Running good semantic HTML without any CSS is perhaps the most levelling thing you can do - &lt;strong&gt;everyone can use it&lt;/strong&gt;. Desktop browsers, mobiles, Lynx, screen readers... the Googlebot is pretty big on text, too.&lt;/p&gt;
&lt;p&gt;
Good structural markup is the foundation for a solid, flexible and maintainable website. You should always pay attention to your markup!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=5IdEG1vWKVE:9lVy0wnuEF8:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=5IdEG1vWKVE:9lVy0wnuEF8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=5IdEG1vWKVE:9lVy0wnuEF8:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=5IdEG1vWKVE:9lVy0wnuEF8:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/5IdEG1vWKVE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/1018976890449340746/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2009/04/proudly-naked.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/1018976890449340746" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/1018976890449340746" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/5IdEG1vWKVE/proudly-naked.html" title="proudly naked" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2009/04/proudly-naked.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-2902708765542185801</id><published>2009-03-23T01:32:00.002+11:00</published><updated>2009-03-23T01:38:37.857+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ie6" /><category scheme="http://www.blogger.com/atom/ns#" term="browsers" /><title type="text">putting ie6 out to pasture</title><content type="html">&lt;p&gt;Many things live on past their use-by date, but few have shown the zombie-like tenacity of IE6. It has remained animated, chewing on our brains long after it should have stopped twitching.&lt;/p&gt;
  &lt;p&gt;We've all felt the pain of building for IE6 alongside modern browsers. So, it's glorious to be able to say this - &lt;strong&gt;2009 is the year we get rid of IE6&lt;/strong&gt;. Say it with me, people! &lt;/p&gt;
  &lt;p&gt;We know it's the right decision. IE6 is obsolete,  insecure and takes a disproportionate amount of developer time. It doesn't make any sense to support IE6 when times are tough and budgets are short.&lt;/p&gt;
  &lt;p&gt;No more waiting. I can feel it in the very bones of this industry - can't you? &lt;/p&gt;
  &lt;p&gt;It's not just funny slogans and therapeutic IE6 hate sites, either. We're talking about the reality of how we actually get this browser off our support lists. &lt;/p&gt;
  &lt;h3&gt;why now?&lt;/h3&gt;
  &lt;p&gt;IE6 is long overdue for the chop, but the release of IE8 was the last piece of the puzzle. &lt;/p&gt;
  &lt;p&gt;IE7 wasn't it - there were too many locked down corporate environments, too many intranets that only work in IE6. Too many corporate policies about running one version behind the latest, for reasons like stability and cost. &lt;/p&gt;
  &lt;p&gt;IE6 has hung on, retaining a truly astounding market share - even now it hangs on to &lt;a href="http://marketshare.hitslink.com/browser-market-share.aspx?qprid=2&amp;amp;qpmr=40&amp;amp;qpdt=1&amp;amp;qpct=3&amp;amp;qptimeframe=M&amp;amp;qpsp=121&amp;amp;qpnp=1"&gt;roughly 18%&lt;/a&gt; depending on your source. Much as we hate building for it, we had to accept that people were using it. &lt;/p&gt;
  &lt;p&gt;But now, IE8 is out. That puts IE6 two entire versions behind; and companies with IE6-only services have had &lt;em&gt;two years &lt;/em&gt;to prepare for the inevitable. Microsoft's recommendation is to upgrade:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;Customers who have applications for Internet Explorer 6 should visit &lt;a href="http://msdn.microsoft.com/iecompat"&gt;http://msdn.microsoft.com/iecompat&lt;/a&gt; for the latest guidance on migrating from Internet Explorer 6 to Internet Explorer 7 and Internet Explorer 8. &lt;/p&gt;
    &lt;cite&gt;&lt;a href="http://download.microsoft.com/download/7/A/E/7AE6C8FA-87D3-4E31-8FC3-BC756E8BC031/Windows Internet Explorer 8 FAQ for Business.pdf"&gt;Internet Explorer 8 Business FAQ (PDF)&lt;/a&gt;&lt;/cite&gt; &lt;/blockquote&gt;


  &lt;p&gt;IE6 is just too old and outdated to be part of a responsible corporate operating environment. Similarly, home users with IE6 should upgrade to something more secure even if they don't care about the new features. There just aren't any good arguments for keeping IE6. &lt;/p&gt;
  &lt;h3&gt;just how old is ie6, again? &lt;/h3&gt;
  &lt;p&gt;IE6 was released in August 2001. Its competitors were Netscape 6 and Opera 6. Firefox and Safari &lt;em&gt;weren't even out&lt;/em&gt; when IE6 was released. &lt;/p&gt;
  &lt;p&gt;IE6 is older than iPods, Canon dSLRs and BlackBerry smartphones (the Sony-Ericsson P800 was the hot smartphone at the time). It's older than MySpace and YouTube. Web 2.0 wasn't even a buzzword yet...&lt;/p&gt;
  &lt;p&gt;We are talking about a browser that simply wasn't designed for the modern web. &lt;a href="http://meyerweb.com/eric/browsers/timeline.html"&gt;IE sat stagnant for more than &lt;em&gt;five years&lt;/em&gt;&lt;/a&gt; while other browsers improved standards compliance, speed, security and features. &lt;/p&gt;
  &lt;p&gt;The real kicker is that since Microsoft was shocked back into IE development, they have released &lt;em&gt;two major versions &lt;/em&gt;of the product. They make no bones about whether IE6 should still be in use: &lt;/p&gt;
  &lt;blockquote&gt;
    &lt;p&gt;Internet Explorer 6 was designed for the Web as it was in 2001. In the last 8 years the Web has changed and evolved. ... Internet Explorer 8 provides the latest features to help users get work done more quickly, and browse the Web more safely and more reliably. &lt;/p&gt;
    &lt;p&gt;&lt;cite&gt;&lt;a href="http://download.microsoft.com/download/7/A/E/7AE6C8FA-87D3-4E31-8FC3-BC756E8BC031/Windows Internet Explorer 8 FAQ for Business.pdf"&gt;Internet Explorer 8 Business FAQ (PDF)&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
  &lt;/blockquote&gt;
&lt;p&gt;That's about as blunt as corporations get about their own product.  Microsoft can't really push much harder - it's &lt;a href="http://blogs.msdn.com/ie/archive/2006/08/30/730878.aspx"&gt;stuck with a  long support plan for IE6&lt;/a&gt; because it came &lt;a href="http://support.microsoft.com/gp/lifean24"&gt;bundled with several operating systems&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;What this all means it that we should switch from &amp;quot;waiting for IE6 to go away&amp;quot; mode, to &amp;quot;giving it a push out the door&amp;quot; mode. &lt;/p&gt;
&lt;h3&gt;options for &amp;quot;not supporting&amp;quot; ie6 &lt;/h3&gt;
  &lt;p&gt;So what does it actually mean to &amp;quot;not support&amp;quot; IE6?&lt;/p&gt;
  &lt;p&gt;Unlike other decrepit browsers, IE6 is still clinging to a market share large enough that few sites can dismiss it outright. For some lucky sites the share is low enough to aggressively push it out, but for the rest of us we need some interim options. &lt;/p&gt;
  &lt;p&gt;In the world of graded browser support, IE6 still manages to be its own category. &lt;/p&gt;
  &lt;p&gt;So, here are some options: &lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;No change&lt;/strong&gt;: continue full support. If you are stuck with this, make sure your timelines and maintenance budget are increased - the site owner needs to be aware of the costs.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Reduced bugfixing&lt;/strong&gt;: aim for full support, but when you hit an IE6 bug you fix it the simplest way. That usually means IE6 will look a bit different - a few px here and there - but you can save &lt;em&gt;days&lt;/em&gt; of development time. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Progressive enhancement&lt;/strong&gt;: use advanced CSS and provide a premium experience for better browsers. So what if IE6 gets square corners instead of round ones, or loses a text shadow? It doesn't matter so long as the site is still functional in IE6. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Soft push&lt;/strong&gt;: keep supporting IE6, but show a low-key message on your site encouraging people to upgrade (or contact their IT department requesting an upgrade).&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Aggressive push&lt;/strong&gt;: actively tell your users not to use IE6; stop serving stylesheets to IE6; etc. Some high-profile sites like Facebook are going down this path, but right now it's not a viable option for all sites.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;Chances are that your roadmap will move through these phases, for example a combination of reduced bugfixing and progressive enhancement is likely to fit a lot of mainstream sites. &lt;/p&gt;
  &lt;h3&gt;arguments and questions &lt;/h3&gt;
&lt;p&gt;If you take this issue to your boss, or to your clients, it's not hard to anticipate a few questions coming up...&lt;/p&gt;
  &lt;dl&gt;
    &lt;dt&gt;Don't you support other older browsers?&lt;/dt&gt;
    &lt;dd&gt;Not two entire versions behind and not when the browser in question can take as long to support as all the others put together.  &lt;/dd&gt;
    &lt;dt&gt;Don't we just have a percentage threshold for browser support? Don't we have to wait for IE6's share to drop to nothing? &lt;/dt&gt;
    &lt;dd&gt;Browser support really isn't quite that simple. In any case IE6 has an artificially inflated share, despite being the worst browser on the market. It has to be pushed out.&lt;/dd&gt;
    &lt;dt&gt;I can't just take your word that IE6 is bad...&lt;/dt&gt;
    &lt;dd&gt;Ok... &lt;a href="http://www.nickhodge.com/blog/archives/2919"&gt;Microsoft  evangelists recommend upgrading&lt;/a&gt; and &lt;a href="http://mediaproducts.gartner.com/reprints/microsoft/vol2/article1/article1.html"&gt;Gartner strongly recommend you upgrade or switch if you're still on IE6&lt;/a&gt;. Does that help? &lt;/dd&gt;
    &lt;dt&gt;Surely bugfixing isn't that big a deal?&lt;/dt&gt;
    &lt;dd&gt;IE6 is so outdated &amp;quot;bugfixing&amp;quot;  means &amp;quot;build and maintain a parallel code base&amp;quot;. If we're going to that much effort, maybe we should invest in a purpose-built mobile site instead? Or free up some time for R&amp;amp;D? Or just simply drop IE6 and save some money? &lt;/dd&gt;
    &lt;dt&gt;It's your job to build the website, just get on with it.&lt;/dt&gt;
    &lt;dd&gt;It's also our job to advise the business when it's making an expensive and risky decision. It is bad for business to support this browser. &lt;/dd&gt;
    &lt;dt&gt;Can't I simply expect you to build for it, like last time? &lt;/dt&gt;
    &lt;dd&gt;Not any more. Now that we have to support IE8, IE6 is outside the reasonable boundaries of assumed support. IE6 support is now outside scope, unless you pay for it.&lt;/dd&gt;
    &lt;dt&gt;Don't your estimates cover it?&lt;/dt&gt;
    &lt;dd&gt;The market has now changed and estimates need to be revised accordingly. &lt;/dd&gt;
    &lt;dt&gt;We only have IE6, since our intranet only works in IE6.&lt;/dt&gt;
 &lt;dd&gt;That's a very risky dependency. However it should not dictate the support standard for your public website, which is frequented by people who don't use your intranet. &lt;/dd&gt;
    &lt;dd&gt;As far as intranets go... IE7 has been out for more than two years; and Microsoft has released two entire rounds of &amp;quot;readiness kits&amp;quot; to help update IE6-only services. At this point, maybe you should consider using Virtual PC for your IE6-only application (it's free); and upgrade workstation browsers to something better.&lt;/dd&gt;
    &lt;dd&gt;If you're really stuck with IE6, you can also roll out an additional browser on your system; giving users a modern, secure browser like Opera, Firefox, Chrome or Safari for general web use. You do not have to live with just one browser. &lt;/dd&gt;
    &lt;dt&gt;But... IE6 looks different... DIFFERENT I TELL YOU!&lt;/dt&gt;
    &lt;dd&gt;Unless you have a contractual obligation to make IE6 pixel-perfect, that really doesn't matter.  &lt;a href="http://www.alistapart.com/articles/dao/"&gt;Let the web be the web&lt;/a&gt;.   &lt;/dd&gt;
  &lt;/dl&gt;
  &lt;h3&gt;last thoughts &lt;/h3&gt;
  &lt;p&gt;Most browsers don't need this kind of attention at the end of their lives. Most die out pretty fast when the new version comes out. IE6 is an aberration, an accident of history.&lt;/p&gt;
  &lt;p&gt;If Microsoft hadn't sat on IE6 for so long, perhaps we wouldn't have got so many web and application developers who started treating it like a stable release environment. Maybe if Microsoft had pushed IE7 a bit harder it would have taken more market share. Who knows. &lt;/p&gt;
  &lt;p&gt;The reality we have right now is that the industry is being held back by a crappy browser that even the vendor wants to see gone. Although we would normally keep supporting a browser to its natural death, IE6 has stubbornly refused to die.&lt;/p&gt;
  &lt;p&gt;The industry has to take control and say enough is enough. It's bad for innovation, it's bad for our sanity, it's bad for security, it's bad for everyone's bottom line. IE6 has to go. The time has come.&lt;/p&gt;
  &lt;p&gt;Say it again:  2009 is the year we get rid of IE6!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=Z07Y534CPUY:Zh5NJaUXLDo:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=Z07Y534CPUY:Zh5NJaUXLDo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=Z07Y534CPUY:Zh5NJaUXLDo:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=Z07Y534CPUY:Zh5NJaUXLDo:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/Z07Y534CPUY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/2902708765542185801/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2009/03/putting-ie6-out-to-pasture.html#comment-form" title="36 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/2902708765542185801" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/2902708765542185801" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/Z07Y534CPUY/putting-ie6-out-to-pasture.html" title="putting ie6 out to pasture" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>36</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2009/03/putting-ie6-out-to-pasture.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-4765993494794900695</id><published>2009-03-05T23:45:00.005+11:00</published><updated>2009-03-06T00:27:00.551+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="review" /><category scheme="http://www.blogger.com/atom/ns#" term="eeepc" /><title type="text">Review: Asus Eee PC 1000H</title><content type="html">&lt;p&gt;
The popularity of netbooks seems to just keep on growing. I suppose it's not really surprising to find a lot of people are keen on a cheap, small laptop!&lt;/p&gt;
&lt;p&gt;
I bought a 10&amp;#8243; Eee PC just in time for WDS08, where it seemed even the Macbook Pro's dominance might be under threat from cheap ultraportables. Since then I've travelled to Perth with it; taken it to several web events; and even used it at work.&lt;/p&gt;
&lt;p&gt;
Since I periodically get asked what I think of the Eee, I thought I should write up a proper review.&lt;/p&gt;

&lt;div class="hreview"&gt;
&lt;p&gt;Specific model: &lt;span class="item"&gt;&lt;span class="fn"&gt;ASUS Eee PC 1000H, Windows XP Home, 80gig HDD, 1gig RAM, 1.6Ghz Atom CPU.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class="description"&gt;

  &lt;h3&gt;price and portability&lt;/h3&gt;
  &lt;p&gt;  
  &lt;a class="image" href="http://www.flickr.com/photos/200ok/3329981047/"&gt;&lt;img src="http://farm4.static.flickr.com/3611/3329981047_22a101768d.jpg" width="500" height="281" alt="Photo: Gen5 iPod Classic and EeePC 1000H" style="border:0;" /&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Two key reasons to buy a netbook in the first place are that they are cheap and tiny. With the Eee PC I have a neat little laptop for about the same amount of cash that my first iPod took out of me, which is kind of impressive when you consider the 1000H is one of the more expensive models so far. &lt;/p&gt;
  &lt;p&gt;And yes, it's tiny. The 10&amp;quot; model is heavier than the 9&amp;quot; (for obvious reasons), but it's still really light. I really don't notice the extra weight in my backpack on the days I carry this with me, a sharp distinction from the 15&amp;quot; MacBook Pro I used to borrow (which weighs a ton).&lt;/p&gt;
  &lt;p&gt;The Eee's portability is particularly noticeable getting through airport security checks. I've lugged a few different laptops through airports and they've been a real pain. However the Eee was a breeze - probably mostly because you can pick it up easily with one hand, leaving the other hand free to grab your bag.&lt;/p&gt;
  &lt;h3&gt;battery life &lt;/h3&gt;
  &lt;p&gt;In power-saving mode the Eee easily goes for more than five hours, putting far more expensive and heavy machines to shame - most laptops seem to need power by the two hour mark. Asus claim a maximum of seven hours, but to be honest I've never had it running that long in a single stretch away from power.&lt;/p&gt;
  &lt;p&gt;To put it into real terms... during the flight to Perth for Edge of the Web I spent time editing my presentation, watched an episode of Top Gear, wrote a draft of this review and still had three hours of battery left.&lt;/p&gt;
  &lt;p&gt;The only battery-related niggle is the battery LED. For no sane reason, it blinks green all the way from 80% down to 20%; at which point it starts blinking orange. This means the LED is blinking uselessly most of the time. I don't need to be alerted when power is 80%! &lt;/p&gt;
  &lt;h3&gt;keyboard&lt;/h3&gt;
  &lt;p&gt;The keyboard was the reason I never bought a 7&amp;quot; Eee PC - I couldn't type on it, it was just too small. But the increase to 10&amp;quot; was a critical difference - it's still small, but usable. &lt;/p&gt;
  &lt;p&gt;
  &lt;a class="image" href="http://www.flickr.com/photos/200ok/3329983347/"&gt;&lt;img class="right" src="http://farm4.static.flickr.com/3357/3329983347_98f7d87193_m.jpg" width="240" height="180" alt="Photo: Eee PC keyboard" style="border:0;" /&gt;&lt;/a&gt;
  
  The keyboard has an excellent feel, apart from a slight rattle in the right-hand side. My only complaint is that the right-side shift key is in the wrong place. Asus had to compromise on the placement of the shift key to preserve the layout of the cursor keys. &lt;/p&gt;
  &lt;p&gt;What this means is you have to be careful, or else an accidental keystroke on the up arrow will have you editing the line above your intended focus. It's annoying and it's really my biggest complaint about the machine. &lt;/p&gt;
  &lt;p&gt;Still I'm getting used to it and the only netbook I've seen with a better keyboard was the Acer Aspire One, which didn't compete with the Eee on any other critical factor on my list (particularly battery life). &lt;/p&gt;
  &lt;h3&gt;touchpad&lt;/h3&gt;
  &lt;p&gt;This machine has one of the most natural and responsive touchpads I've ever used. It really is nice to use and with the low resolution it's plenty big enough. The multi-touch features are great. &lt;/p&gt;
  &lt;h3&gt;screen&lt;/h3&gt;
  &lt;p&gt;The 1024x600 screen is fine. On the rare occasion something doesn't fit vertically, you can switch to a 1024x768 mode - you scroll slightly to the extra screen area, which sounds a bit odd but actually works pretty well. &lt;/p&gt;
  &lt;h3&gt;performance&lt;/h3&gt;
  &lt;p&gt;I haven't had any problems with the performance of this machine. It does take a little while to start up, but once running it's fine - which has been true for many laptops I've used.&lt;/p&gt;
  &lt;p&gt;&lt;img src="http://weblog.200ok.com.au/uploaded_images/meters-742178.jpg" border="0" alt="Performance meters" /&gt;&lt;/p&gt;
  &lt;p&gt;The Eee switches between three modes (power saving, high performance and super performance) depending on factors like whether it's on battery or mains power. Obviously you can override that behaviour, trading off some battery life to run at full CPU power.&lt;/p&gt;
  &lt;p&gt;Either way it handles work tasks just fine, particularly using StarOffice; it plays music and video with no hassles; and I've not had any issues with common browsing tasks.&lt;/p&gt;
  &lt;p&gt;I'm not sure how it would cope with something like Photoshop, but I'm not planning on doing any photo editing  on the Eee. I have a desktop with a nice 22&amp;quot; monitor at home for that.&lt;/p&gt;
  &lt;h3&gt;glitches&lt;/h3&gt;
  &lt;p&gt;I've had one or two minor glitches. I needed to upgrade the touchpad drivers to get it working in some browsers; and if you have a password set on your machine it will bounce back out of sleep to the login screen the first time you hit the sleep button (you have to hit it again to actually sleep the machine). &lt;/p&gt;
  &lt;p&gt;I've also found you need to be patient and wait for Windows to finish shutting down before you close the lid. Apparently there are some system dialogs which prevent shutdown and the Eee doesn't seem to override these at the hardware level - which is bad if you've already shoved it into your bag. &lt;/p&gt;
  &lt;p&gt;Really these are minor issues and I think they're more related to the OS than the hardware. &lt;/p&gt;
&lt;/div&gt;&lt;!-- // .description --&gt;
&lt;div class="summary"&gt;
  &lt;h3&gt;summary&lt;/h3&gt;
  &lt;p&gt;The Eee PC was built to a purpose and it fulfils that purpose very well. I wouldn't buy this as a primary workstation because that simply isn't what it's for. However as a secondary, portable machine on a budget it's brilliant. &lt;/p&gt;
  &lt;p&gt;Good:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;cheap&lt;/li&gt;
    &lt;li&gt;light&lt;/li&gt;
    &lt;li&gt;extremely good battery life&lt;/li&gt;
    &lt;/ul&gt;
  &lt;p&gt;Bad:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;annoying battery LED&lt;/li&gt;
    &lt;li&gt;right-hand shift key in wrong place&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Would I recommend it to a friend? Heck I do all the time. I'm really happy with my Eee PC. &lt;/p&gt;
&lt;/div&gt;&lt;!-- // .summary --&gt;
&lt;/div&gt;&lt;!-- // .hreview --&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=5CJzPAVltFA:jXVhWO7Ih40:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=5CJzPAVltFA:jXVhWO7Ih40:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=5CJzPAVltFA:jXVhWO7Ih40:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=5CJzPAVltFA:jXVhWO7Ih40:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/5CJzPAVltFA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/4765993494794900695/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2009/03/review-asus-eee-pc-1000h.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/4765993494794900695" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/4765993494794900695" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/5CJzPAVltFA/review-asus-eee-pc-1000h.html" title="Review: Asus Eee PC 1000H" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm4.static.flickr.com/3611/3329981047_22a101768d_t.jpg" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2009/03/review-asus-eee-pc-1000h.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-8398066556903178097</id><published>2009-01-25T23:20:00.014+11:00</published><updated>2010-08-21T03:25:04.539+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="browsers" /><category scheme="http://www.blogger.com/atom/ns#" term="testing" /><category scheme="http://www.blogger.com/atom/ns#" term="virtual pc" /><category scheme="http://www.blogger.com/atom/ns#" term="microsoft" /><title type="text">microsoft virtual pc tips</title><content type="html">&lt;div class="warning-note"&gt;
    &lt;hr /&gt;
    &lt;p&gt;If you're running Windows 7, you might also like to look at &lt;a href="http://weblog.200ok.com.au/2010/08/browser-testing-with-windows-7-xp-mode.html"&gt;Browser Testing With Windows 7 XP Mode&lt;/a&gt;.&lt;/p&gt;
    &lt;hr /&gt;
&lt;/div&gt;&lt;!-- .warning --&gt;

&lt;p&gt;I've never been a fan of &amp;quot;multiple IE&amp;quot; and &amp;quot;multiple Firefox&amp;quot; hacks, since my experience has always been they're not &lt;em&gt;quite&lt;/em&gt; the same as having the different versions installed on different machines. Most of the time they're fine, but sooner or later one of those funny little bugs will bite you.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/petel/archive/2009/04/27/running-multiple-versions-of-ie-on-the-same-box.aspx"&gt;PeteL&amp;#39;s Blog : Running Multiple Versions Of IE On The Same Box&lt;/a&gt; digs a bit further into potential issues with &amp;quot;frankenbuild&amp;quot; solutions (great term :)).&lt;/p&gt;

&lt;p&gt;So anyway, for a while now I've used the free Virtual PC setup that Microsoft gives away for testing purposes. They're full systems, so you can be confident that they're &amp;quot;real&amp;quot; installs - and of course you can run other browsers on them too. Currently I run a test image with IE6 and FF2.&lt;/p&gt;
&lt;p&gt;Here are a few quick tips about Virtual PC that I've learned along the way...&lt;/p&gt;
&lt;p&gt;Where to download it:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&amp;amp;displaylang=en"&gt;Virtual PC 2007 download&lt;/a&gt; (via the &lt;a href="http://www.microsoft.com/windows/products/winfamily/virtualpc/"&gt;Virtual PC homepage&lt;/a&gt;)&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B64-B5F1-73D0A413C8EF&amp;amp;displaylang=en"&gt;IE testing VPC images download&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;The images are big files and slow to download, so be nice at work and stick them on a network drive for your coworkers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Setting it up:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;The free test images are all time-bombed to an irritatingly short period of time. So, don't invest too much time setting them up. &lt;/li&gt;
    &lt;li&gt;I usually name the machine something like "IE6 to the end of April 09" to remind myself which image it is and how long it'll keep working.&lt;/li&gt;
    &lt;li&gt;I've found Virtual PC images seem to run a little better if you double the "recommended" RAM to 256megs. YMMV.&lt;/li&gt;
    &lt;li&gt;The test images given out by Microsoft will generally have no Flash or an old version installed (usually v6). So you probably want to upgrade Flash immediately unless you are specifically wanting to test old Flash versions.&lt;/li&gt;
    &lt;li&gt;Virtual PC unable to connect to the web? Try setting it to use a shared connection (NAT). Right-click the network icon at the bottom of the Virtual PC  window, and hit "network settings" in the network panel. NAT will be an option in the adapters dropdown.&lt;/li&gt;
    &lt;li&gt;If you have restricted access your main machine's localhost, remember that the Virtual PC should be treated liked a physically separate machine (with its own IP) and you'll need to update your settings accordingly.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Using it:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Don't forget, you will need to hit the main machine by IP address to view any localhost/test server that you're running on it.&lt;/li&gt;
    &lt;li&gt;Alternatively you can access files directly on your main machine by adding a shared folder (right-click the folder icon at the bottom left of Virtual PC window, then click Add Folder). The folder will show up as a drive on the virtual machine.&lt;/li&gt;
    &lt;li&gt;Sick of using the mouse to get out of the Virtual PC window? Hit right-alt+L to minimise it, then you can alt-tab as normal. Right-alt is the default &amp;quot;host key&amp;quot; which has &lt;a href="http://technet.microsoft.com/en-us/library/cc708368.aspx"&gt;a bunch of other shortcuts&lt;/a&gt; as well.&lt;/li&gt;
    &lt;li&gt;You can drag and drop, copy and paste etc between the host system and the virtual PC. I was used to a VMWare environment where you couldn't do that, so I originally assumed you couldn't do that in VPC - but you can.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope those tips are useful. Happy testing...&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=Dc4M00hR7gA:ejNF7Aazon4:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=Dc4M00hR7gA:ejNF7Aazon4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=Dc4M00hR7gA:ejNF7Aazon4:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=Dc4M00hR7gA:ejNF7Aazon4:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/Dc4M00hR7gA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/8398066556903178097/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2009/01/microsoft-virtual-pc-tips.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/8398066556903178097" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/8398066556903178097" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/Dc4M00hR7gA/microsoft-virtual-pc-tips.html" title="microsoft virtual pc tips" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2009/01/microsoft-virtual-pc-tips.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-2458352669929490676</id><published>2008-12-26T17:30:00.006+11:00</published><updated>2008-12-26T17:57:32.051+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="web connections" /><category scheme="http://www.blogger.com/atom/ns#" term="human stuff" /><title type="text">Moments of Connection</title><content type="html">&lt;p&gt;We talk about connection a lot. We talk about social objects, social networks... technology to connect people. &lt;/p&gt;
 &lt;p&gt;But for all that, a lot of the time we remain distracted by the tools we're using. The experience is often "using the service" rather than "connecting with friends". &lt;/p&gt;
 &lt;p&gt;Then there are some moments which show us what connection really means.&lt;/p&gt;
 &lt;p&gt;I'm talking about those moments when the technology falls away from notice, and we simply experience the warmth and emotion of human connection.&lt;/p&gt;
 &lt;p&gt;&lt;strong&gt;Human stuff&lt;/strong&gt;. Like many things it defies definition, but we know it when we see it... and we know it when we &lt;em&gt;feel it&lt;/em&gt;.  &lt;/p&gt;
 &lt;p&gt;Derek Featherstone's "Connection" post describes just such a moment, browsing Flickr photos on his TV in his lounge room. You should read the whole post but I'll borrow a little: &lt;/p&gt;
&lt;blockquote&gt;  &lt;p&gt;As the photos play, I see my friends. I see Ben. I see Chaals. Lisa and Lisa and Lachlan, John and Maxine, Scott and Cheryl. My head and heart both started racing. &lt;/p&gt;
 &lt;p&gt;... &lt;/p&gt;
 &lt;p&gt;Next up was Jeremy Keith. Scrolling through his sets I see dConstruct 2008 and push play. I see photos of speakers, attendees, conference organizers — and friends in each category. It starts happening again. I see Jessica, Paul Duncan, Andy Budd, James Box and more. Heart racing, fitting with the music. What is happening?&lt;/p&gt;
 &lt;cite&gt;&lt;a href="http://boxofchocolates.ca/archives/2008/12/04/connection"&gt;Connection » box of chocolates&lt;/a&gt;&lt;/cite&gt;
&lt;/blockquote&gt;
 &lt;p&gt;These moments are what truly excite me about the web; and about the potential of the internet as a whole. &lt;/p&gt;
 &lt;p&gt;These moments are what I want my less tech-savvy friends to tap into.&lt;/p&gt;
 &lt;h3&gt;the net keeps me connected&lt;/h3&gt;
 &lt;p&gt;Twitter has kept me in touch with friends from web events. Flickr lets me share photos with friends and family. Skype lets me video call my family (I live in a different city). Facebook, for all its faults, has kept me in touch with friends from college. &lt;/p&gt;
 &lt;p&gt;My friends are split to the four winds. We revel in the moments when we're in the same room, but in between those golden moments we use the net to keep in touch. Online connection is real and  important to me, not the ersatz connection many people still assume it must be. &lt;/p&gt;
 &lt;h3&gt;connected moments &lt;/h3&gt;
 &lt;p&gt;Moments don't need to be big or complex to make an impression. One of my favourites was my "twitter moment". It was essentially the moment when I decided I'd keep using Twitter. &lt;/p&gt;
 &lt;p&gt;One night back in March 2007 I was &lt;a href="http://flickr.com/photos/200ok/951273960/"&gt;enjoying a few drinks here in Sydney with Chaals&lt;/a&gt;, who was visiting from Oslo. I used my phone to twitter our location, with our view of the Sydney Harbour Bridge. Moments later I got a direct message from Derek, in Ottawa, asking me to say "hi" to Chaals for him.&lt;/p&gt;
 &lt;p&gt;It was a very simple thing. But in that moment technology had connected three friends in real time, away from the computer  and in fact on opposite sides of the planet... and that's pretty cool! &lt;/p&gt;
 &lt;p&gt;Sure, I know it's all just mobile towers and servers and satellites and data. But every once in a while I think we should just appreciate &lt;em&gt;the joy of the magic &lt;/em&gt;of it all. &lt;/p&gt;
 &lt;p&gt;&lt;a class="image" href="http://weblog.200ok.com.au/uploaded_images/threepanelsoul-com-103-749074.png"&gt;&lt;img src="http://weblog.200ok.com.au/uploaded_images/threepanelsoul-com-103-749071.png" border="0" alt="Cartoon (Three Panel Soul) - guy holding a mobile phone: This device can contact nearly anyone in the world, locate me on aerial maps and plot directions to any location in the country. It is unquestionably the future, and you would have crashed your stupid flying car anyway." /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Cartoon: &lt;cite&gt;&lt;a href="http://www.threepanelsoul.com/view.php?date=2008-11-05"&gt;Three Panel Soul :: Archive 2008-11-05&lt;/a&gt;&lt;/cite&gt;]&lt;/p&gt;
 &lt;p&gt;I'm not saying that a text message was as good as having Derek there with us. But it was  nice to be able to share the moment so casually. Without Twitter it wouldn't have happened. &lt;/p&gt;
 &lt;p&gt;Moments of connection like these help build friendships, despite great distances... and this year, on my 30th birthday no less, this moment happened: &lt;/p&gt;
 &lt;p&gt;&lt;a class="flickr image" href="http://www.flickr.com/photos/200ok/2906629147/" title="me, derek and chaals by 200ok, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3065/2906629147_9059ed4365.jpg" width="500" height="375" alt="me, derek and chaals" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;L-R: me, Derek, Chaals.&lt;/p&gt;
 &lt;p&gt;And that's the &lt;em&gt;really &lt;/em&gt;good stuff :) &lt;/p&gt;
 &lt;h3&gt;...and you? &lt;/h3&gt;
 &lt;p&gt;So, has there ever been a moment where—for all your web savvy—you were able to simply enjoy the magic?&lt;/p&gt;
 &lt;p&gt;What's your moment of connection?&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=wMCEjrCErxo:GngUbU6P9AY:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=wMCEjrCErxo:GngUbU6P9AY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=wMCEjrCErxo:GngUbU6P9AY:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=wMCEjrCErxo:GngUbU6P9AY:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/wMCEjrCErxo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/2458352669929490676/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2008/12/moments-of-connection.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/2458352669929490676" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/2458352669929490676" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/wMCEjrCErxo/moments-of-connection.html" title="Moments of Connection" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm4.static.flickr.com/3065/2906629147_9059ed4365_t.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2008/12/moments-of-connection.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-1809351643560358124</id><published>2008-12-03T22:46:00.004+11:00</published><updated>2008-12-06T01:05:18.227+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="screen resolution" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile device" /><category scheme="http://www.blogger.com/atom/ns#" term="widescreen" /><title type="text">Choose your resolution</title><content type="html">&lt;p&gt;The old rules for supporting screen resolutions were simple. Monitors were basically all the same shape and new ones just got a little bigger... so all you really had to do was support the standard resolution of new monitors, plus one resolution "back". Easy! &lt;/p&gt;
&lt;p&gt;But these days the rules aren't so simple. Desktop monitors are generally bigger, but they come in a variety of sizes and ratios; and users don't always maximise their browser windows anyway. People are browsing on tiny mobile phones that weren't really designed for anything longer than a text message. Devices like the iPhone, Nintendo Wii and Asus Eee PC are new and shiny, yet their resolution is retro. &lt;/p&gt;
&lt;p&gt;All of these displays are &lt;em&gt;new&lt;/em&gt;. We don't have a situation where the major differences are divided between new and old, nor is there a linear increase in size as new displays come out. &lt;/p&gt;
&lt;p&gt;To really see what this means, let's compare a selection of new device resolutions side by side: &lt;/p&gt;
&lt;p&gt;&lt;a href="http://weblog.200ok.com.au/img/resolutions-fullsize.gif"&gt;&lt;img src="http://weblog.200ok.com.au/img-open/resolutions-500pxwide.gif" alt="Visual comparison of screen resolutions" width="500" height="357" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Statistics from &lt;a href="http://www.thecounter.com/stats/2008/November/res.php"&gt;TheCounter.com November 2008 resolution data&lt;/a&gt;)&lt;/p&gt;
&lt;table width="100%" border="1"&gt;
&lt;caption&gt;
Screen Resolutions
&lt;/caption&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th width="20%" scope="col"&gt;Device&lt;/th&gt;
&lt;th width="50%" scope="col"&gt;Resolution (pixels) &lt;/th&gt;
&lt;th width="30%" scope="col"&gt;Notes/Source&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope="row"&gt;Nokia n95 &lt;/th&gt;
&lt;td&gt;240×320 (can be portrait or landscape) &lt;/td&gt;
&lt;td&gt;&lt;a href="http://www.nokia.com.au/A4519230"&gt;Nokia n95&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope="row"&gt;Nintendo DS&lt;/th&gt;
&lt;td&gt;256&amp;times;192 (dual screen; total viewable 256 x 384 across both). Not an especially common device for web browsing, but it is out there.&lt;/td&gt;
&lt;td&gt;&lt;a href="http://en.wikipedia.org/wiki/Nintendo_DS_Browser"&gt;Wikipedia - DS&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;th width="20%" scope="row"&gt;Sony PSP&lt;/th&gt;
&lt;td width="60%"&gt; 480×272 (16:9 ratio)&lt;/td&gt;
&lt;td width="20%"&gt;&lt;a href="http://en.wikipedia.org/wiki/PlayStation_Portable"&gt;Wikipedia - PSP&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th width="20%" scope="row"&gt;Apple iPhone&lt;/th&gt;
&lt;td width="60%"&gt;480×320 (can be portrait or landscape)&lt;/td&gt;
&lt;td width="20%"&gt;&lt;a href="http://www.apple.com/iphone/specs.html"&gt;Apple - iPhone specs&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th width="20%" scope="row"&gt;Nintendo Wii&lt;/th&gt;
&lt;td width="60%"&gt;608×456 (pictured); or 1024×500 on 16:9 ratio TVs; may vary depending on TV/settings. &lt;/td&gt;
&lt;td width="20%"&gt;&lt;a href="http://wiinintendo.net/2006/11/30/web-design-guide-for-opera-browser-on-wii/"&gt;Web design guide for Opera Browser on Wii&lt;/a&gt; &amp;amp; &lt;a href="http://wiinintendo.net/2006/12/22/wii-opera-browser-is-out-230am-est/"&gt;update&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope="row"&gt;Eee PC &lt;/th&gt;
&lt;td&gt;7 inch - 800×480; or
 8.9 and 10 inch 1024x600&lt;/td&gt;
&lt;td&gt;&lt;a href="http://en.wikipedia.org/wiki/Eee_pc"&gt;Wikipedia - Eee PC&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th width="20%" scope="row"&gt;Average monitor &lt;/th&gt;
&lt;td width="60%"&gt;1024×768 is still the most popular browser window size at 45% share; and 1280×1024 is second at 31%. &lt;/td&gt;
&lt;td width="20%"&gt;&lt;a href="http://www.thecounter.com/stats/2008/November/res.php"&gt;The Counter global stats, November 2008&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope="row"&gt;20 inch monitor &lt;/th&gt;
&lt;td&gt;1600×1200&lt;/td&gt;
&lt;td width="20%" rowspan="2"&gt;Average specs found on hardware sites.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th width="20%" scope="row"&gt;22 inch widescreen &lt;/th&gt;
&lt;td width="60%"&gt;1680×1050&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;So what difference does it all make? Didn't fluid layouts solve all our problems? Well, unfortunately, no they didn't.  &lt;/p&gt;
&lt;h3&gt;bigger and... broken?! &lt;/h3&gt;
&lt;p&gt;There's nothing like a real-life demonstration to illustrate how much your monitor can change your browsing experience. &lt;/p&gt;
&lt;p&gt;A few months ago I finally upgraded to a 22 inch widescreen LCD from my trusty old 17 inch Sony Trinitron CRT (which lasted &lt;em&gt;ten years&lt;/em&gt;). At work I use twin 1280×1024 LCDs, so widescreen is a new frontier for me. I still occasionally feel like I'm watching tennis. &lt;/p&gt;
&lt;p&gt;One reason I lingered at 1024×768 was the reality check - amazingly it's still the most popular screen resolution out there. The share is falling, but having dropped just 5% in the past year (from 50% to 45%), it's not going anywhere just yet.&lt;/p&gt;
&lt;p&gt;So we keep supporting 1024×768 and I had generally thought that larger monitors wouldn't have any problems. But when I switched over, I was surprised to discover that many sites which work nicely at 1024×768 effectively "break" at 1680×1050. &lt;/p&gt;
&lt;h4&gt;what's bad at high resolution?&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Fixed width + left-aligned sites &lt;/li&gt;
&lt;li&gt;100% width + fluid layout &lt;/li&gt;
&lt;li&gt;Tiny text &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The single biggest annoyance for me is sites that are left-aligned and fixed-width. That means they're way off to the side on a widescreen monitor, so I'm either looking off to one side or I have to start messing around resizing my browser. &lt;/p&gt;
&lt;p&gt;Fluid layouts don't solve everything, since line lengths can get completely out of control. Would you set a line length of 19 inches in print? Not for body copy, I'm sure. But that's basically what happens on my screen at 100% width - and it's incredibly hard to read. &lt;/p&gt;
&lt;p&gt;The other major issue at higher resolution is text size - it's just too damn small! I'm forever zooming the page or even disabling styles completely. Designers, please, set larger text! &lt;/p&gt;
&lt;h4&gt;what's ok at high resolution?&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Elastic layouts&lt;/li&gt;
&lt;li&gt;Fixed width + center aligned  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Elastic layouts do fare quite well, so long as they have intelligent minimum and maximum widths set up to preserve line length. Some go too far and end up being as bad as a fully fluid layout, but the good ones subtly adjust to use some more space. Bonus points for bumping up the text size for very wide screens (and I can only think of one here: props to &lt;a href="http://nickcowie.com/"&gt;nickcowie.com&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Fixed width, center-aligned sites are great, since they put the content front and centre and keep line lengths readable. At smaller resolutions it looks basically the same as left-aligned sites, so centre-aligned design adds a nice experience for people viewing at wide resolutions without causing any trouble on smaller screens. &lt;/p&gt;
&lt;h3&gt;so how do you choose a resolution? &lt;/h3&gt;
&lt;p&gt;With all this in mind, how do you decide on a base resolution to support? Even if everybody browsed with maximised windows it's not a straight call. You end up having to choose a middle ground - no resolution is perfect for every last screen. &lt;/p&gt;
&lt;p&gt;Besides that, what does it even mean to "support" a resolution these days? So let's start by defining what we mean by "supporting a resolution". &lt;/p&gt;
&lt;h4&gt;define support levels &lt;/h4&gt;
&lt;p&gt;I'm suggesting a graded support system, the same way most of us treat browsers:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Direct support &lt;/dt&gt;
&lt;dd&gt;A resolution where the user can view the default rendering of the site without horizontal scrolling, loading alternative stylesheets or some other form of modification. The design does not have excessive whitespace. Something that works at both 1024×768 and 1280×1024 would mean direct support for both. &lt;/dd&gt;
&lt;dt&gt;Oversize support &lt;/dt&gt;
&lt;dd&gt;A resolution where the design works even if it has a large amount of whitespace, eg. a fixed width, centred design. &lt;/dd&gt;
&lt;dt&gt;Cut down support&lt;/dt&gt;
&lt;dd&gt;A resolution where the primary content is on screen without scrolling, but the user scrolls to see secondary content (eg. having your main content area fit at 800px wide, but the sidebar etc requires scrolling).&lt;/dd&gt;
&lt;dt&gt;Alternative support &lt;/dt&gt;
&lt;dd&gt;A resolution supported via an alternative stylesheet, resolution detection, alternate template, device detection or some other modification from the default. &lt;/dd&gt;
&lt;dt&gt;No support&lt;/dt&gt;
&lt;dd&gt;You leave  it to the user (or their device) to sort it out if they are using that resolution. &lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;I'm sure we all have something like this in our heads anyway, but it's better to be precise and definite - particularly when the boss asks you to explain why the site was cut off on his Wii.&lt;/p&gt;
&lt;h4&gt;use your own stats to make decisions &lt;/h4&gt;
&lt;p&gt;Nobody's statistics are as relevant as your own, so you should always pay attention to them. Look to global statistics for trends, then apply those trends to your current state. &lt;/p&gt;
&lt;p&gt;When I redesigned this blog I found that about 5.8% of visits were at 800×600, 18.6% on 1024×768, 23.5% on 1280×1024. The other 52.1% were at various large and widescreen resolutions above 1280px wide.&lt;/p&gt;
&lt;p&gt;I set the minimum cutoff point for direct support at 1024×768 (minimum width 950px). At 800×600 you see the main content and middle column, but have to scroll for the third column. &lt;/p&gt;
&lt;p&gt;Then I decided to use oversize support for large screens, capping max width at 1200px. &lt;/p&gt;
&lt;p&gt;There's only 250px play between the min and max width; so the line length doesn't change by too much. I could just as easily have set a fixed width, but I prefer to let the design breathe a little. &lt;/p&gt;
&lt;p&gt;I currently don't have extra stylesheets for mobiles and other small screen devices. Some random testing shows the site seems to hold up ok anyway. Essentially I'm leaving them in the "no support" category (I might be more interested if mobiles supported the handheld media type).&lt;/p&gt;
&lt;h3&gt;the process &lt;/h3&gt;
&lt;p&gt;So basically the process I suggest for choosing a resolution is this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Look at global stats for trends&lt;/li&gt;
&lt;li&gt;Look at your own stats for current numbers &lt;/li&gt;
&lt;li&gt;Consider what the trends mean for your stats &lt;/li&gt;
&lt;li&gt;Allocate major resolution market shares to support categories (create a support matrix) &lt;/li&gt;
&lt;li&gt;Build to meet the requirements of your support matrix
&lt;ul&gt;
 &lt;li&gt;Build your default site to suit the min and max widths of your Direct Support resolutions&lt;/li&gt;
 &lt;li&gt;Support slightly-smaller resolutions with Cut Down Support &lt;/li&gt;
 &lt;li&gt;Support massive resolutions with Oversize Support &lt;/li&gt;
 &lt;li&gt;Where there's a need, build niche stylesheets or templates for Alternative Support resolutions&lt;/li&gt;
 &lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Periodically review your support matrix &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That's a very formal way to describe the process, of course. Really what it boils down to is making some conscious decisions; and considering what you want to happen at all the potential resolutions out there.&lt;/p&gt;
&lt;h3&gt;conclusion&lt;/h3&gt;
&lt;p&gt;There are a lot devices out there with a crazy array of resolutions. The good news is you don't have to support every last resolution directly. &lt;/p&gt;
&lt;p&gt;There's no imperative to fill up the entire screen at massive resolutions; and it's not the end of the world if someone needs to scroll a lot on a tiny-screened device. &lt;/p&gt;
&lt;p&gt;Statistically speaking, the majority of people are still using a reasonably standard size monitor to view your content. Widescreen monitors just mean there's more real estate than you actually need to present your content. &lt;/p&gt;
&lt;p&gt;So, create a coherent, legible design and don't be scared of whitespace. A good design sitting in the middle of a big space is a better experience than a clever-but-unreadable fluid design.&lt;/p&gt;
&lt;p&gt;Of course, next thing you know someone will bring out some new device that changes the whole situation...&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=BOngprD48ZE:wMV7IfCidlo:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=BOngprD48ZE:wMV7IfCidlo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=BOngprD48ZE:wMV7IfCidlo:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=BOngprD48ZE:wMV7IfCidlo:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/BOngprD48ZE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/1809351643560358124/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2008/12/choose-your-resolution.html#comment-form" title="16 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/1809351643560358124" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/1809351643560358124" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/BOngprD48ZE/choose-your-resolution.html" title="Choose your resolution" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>16</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2008/12/choose-your-resolution.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-3542409599506501744</id><published>2008-11-19T21:41:00.003+11:00</published><updated>2008-11-19T22:00:04.868+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="barcampcanberra" /><category scheme="http://www.blogger.com/atom/ns#" term="barcampadelaide" /><category scheme="http://www.blogger.com/atom/ns#" term="barcamp" /><category scheme="http://www.blogger.com/atom/ns#" term="barcampgoldcoast" /><title type="text">it's barcamp season...</title><content type="html">&lt;p&gt;
Hot on the heels of barcampsydney, it's time for Queenslanders to get their barcamp on! &lt;a href="http://barcamp.org/BarCampGoldCoast"&gt;BarCampGoldCoast 2&lt;/a&gt; has just been announced. It's being held at Griffith Uni's Gold Coast campus on 29th November 2008. &lt;a href="http://barcamp.org/BarCampGoldCoast2"&gt;Registrations are open now&lt;/a&gt;; head on over and sign up.&lt;/p&gt;
&lt;p&gt;
They're also looking for sponsors - it's incredibly cheap ($150-300) to sponsor a barcamp, yet it puts your brand in front of some seriously bright people. So it rates very high on the 'bang for your promotional bucks' scale. [/pitch] ;)&lt;/p&gt;
&lt;p&gt;
Not only but also... word on the street is that there are barcamps coming up for Canberra and Adelaide. Keep an eye on &lt;a href="http://barcamp.org/#Australia"&gt;http://barcamp.org/#Australia&lt;/a&gt; for details.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=hqX9JKawlhk:s39DPcSh01k:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=hqX9JKawlhk:s39DPcSh01k:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=hqX9JKawlhk:s39DPcSh01k:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=hqX9JKawlhk:s39DPcSh01k:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/hqX9JKawlhk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/3542409599506501744/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2008/11/its-barcamp-season.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/3542409599506501744" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/3542409599506501744" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/hqX9JKawlhk/its-barcamp-season.html" title="it's barcamp season..." /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2008/11/its-barcamp-season.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11827417.post-3317942572022331693</id><published>2008-10-29T21:01:00.002+11:00</published><updated>2008-10-29T21:06:31.122+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="barcampsydney4" /><category scheme="http://www.blogger.com/atom/ns#" term="barcamp" /><category scheme="http://www.blogger.com/atom/ns#" term="barcampsydney" /><title type="text">get your barcamp on</title><content type="html">&lt;p&gt;
BarCampSydney 4 has just been announced for the 15th of November. For details, head on over to &lt;a href="http://www.barcampsydney.org/2008/10/29/barcampsydney-4-lets-do-it/"&gt;BarCampSydney | BarCampSydney 4 - Let’s do it!!&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=uOlils7dIsg:foarIPv4Lmw:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=uOlils7dIsg:foarIPv4Lmw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=uOlils7dIsg:foarIPv4Lmw:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/The200okWeblog?a=uOlils7dIsg:foarIPv4Lmw:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/The200okWeblog?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/The200okWeblog/~4/uOlils7dIsg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://weblog.200ok.com.au/feeds/3317942572022331693/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://weblog.200ok.com.au/2008/10/get-your-barcamp-on.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/3317942572022331693" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11827417/posts/default/3317942572022331693" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/The200okWeblog/~3/uOlils7dIsg/get-your-barcamp-on.html" title="get your barcamp on" /><author><name>200ok</name><uri>http://www.blogger.com/profile/03236705748240585685</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://www.200ok.com.au/avatar.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://weblog.200ok.com.au/2008/10/get-your-barcamp-on.html</feedburner:origLink></entry></feed>
