<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>My Little Black Book &#187; day3</title>
	<atom:link href="http://blog.williegoosen.com/tag/day3/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.williegoosen.com</link>
	<description></description>
	<lastBuildDate>Tue, 24 Aug 2010 11:42:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Performance Bootcamp</title>
		<link>http://blog.williegoosen.com/2010/02/performance-bootcamp/</link>
		<comments>http://blog.williegoosen.com/2010/02/performance-bootcamp/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 12:10:35 +0000</pubDate>
		<dc:creator>Willie Goosen</dc:creator>
				<category><![CDATA[Webstock2010]]></category>
		<category><![CDATA[day3]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://blog.williegoosen.com/?p=89</guid>
		<description><![CDATA[Presenters : Amy Hoy @amyhoy Thomas Fuchs @thomasfuchs Sites: http://mir.aculo.us http://slash7.com/about/ photo credit: Chris Shiflett A quote from Thomas Fuchs&#8217; site&#8230; &#8220;You&#8217;re using my work every day, even if you&#8217;re not aware of it&#8221;. Thomas is the author of http://script.aculo.us and working group member of prototype.  Funnily enough williegoosen.com uses mootools, which uses prototype.  Amy has [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><a title="Chris Shiflett" href="http://www.flickr.com/photos/shiflett/3639618407/" target="_blank"><img class="alignright" style="border: 0pt none;" src="http://farm3.static.flickr.com/2270/2272128435_209181ef4d_m.jpg" border="0" alt="Amy Hoy and Thomas Fuchs" width="240" height="160" /></a> Presenters :</p>
<ul>
<li>Amy Hoy <a href="http://twitter.com/amyhoy" target="_blank">@amyhoy</a></li>
<li>Thomas Fuchs <a href="http://twitter.com/thomasfuchs" target="_blank">@thomasfuchs</a></li>
</ul>
<p>Sites:</p>
<ul>
<li> <a href="http://mir.aculo.us" target="_blank">http://mir.aculo.us</a></li>
<li> <a href="http://slash7.com/about/" target="_blank">http://slash7.com/about/</a></li>
</ul>
<p><small><a title="Attribution-NonCommercial-NoDerivs License" href="http://creativecommons.org/licenses/by-nc-nd/2.0/" target="_blank"><img src="../wp-content/plugins/photo-dropper/images/cc.png" border="0" alt="Creative Commons License" width="16" height="16" align="absmiddle" /></a> photo credit: <a title="Link to Chris Shiflett's photostream" rel="dc:creator cc:attributionURL" href="http://www.flickr.com/photos/shiflett/" target="_blank">Chris Shiflett</a></small></p>
<p>A quote from Thomas Fuchs&#8217; site&#8230; &#8220;You&#8217;re using my work every day, even if you&#8217;re not aware of it&#8221;. Thomas is the author of http://script.aculo.us and working group member of prototype.  Funnily enough williegoosen.com uses mootools, which uses prototype.  Amy has also made some rather cool tweet walls http://twistori.com/ and more recently http://letsfreckle.com/ a time sheeting app.</p>
<p>So I knew there were some tricks, having spent some time with ySlow in the weeks before, but was enlightened by the simple techniques that make a lot of difference.  Amy and Thomas did a great job of tag teaming through a rather dry subject and made it rather interesting, with one of the team walking through the slides and the other answering questions on a chat room style back-channel.</p>
<p>The talk started off with one of the rules being &#8220;only fix it if you need to&#8221; which i suppose makes a lot of sense. Tweaking performance can be a real fickle business, but if the users aren&#8217;t happy you have to fix it quick!</p>
<p>Test, don&#8217;t guess. benchmark. Make sure you can quantify the issue before you attempt any fixes so you can measure your improvement.</p>
<p>In some cases it will just be impossible to please your users but there are ways to keep people engaged and let them feel you are not ignoring them, while doing the heavy lifting in the background.</p>
<p><strong>Main areas of focus<br />
</strong> <em>Loading </em>-  connecting/spinning wheel, back-end speed, dns, latency * easiest win*.<br />
<em>Rendering </em>- white screen of death, you can see items still loading in the status bar.<br />
<em>Execution </em>- site stops responding after is completely rendered.</p>
<p>But to be honest there were just so many &#8220;oooh I should be doing that&#8221;, &#8220;woops shouldn&#8217;t be doing that&#8221; moments I will try and capture a bunch of them. Non-techy people can stop reading here.</p>
<p><strong>Do&#8217;s</strong></p>
<ul>
<li>Simple html = simple dom = faster rendering.</li>
<li>Use yslow and dommonster to identify issues.</li>
<li>JS scripts at the bottom of your pages.</li>
<li>Keep external assets to a minimum.</li>
<li>Set content expiry time frames correctly in the headers.</li>
<li>Yuicompressor + gzip to reduce .js .css .html size x5 smaller <a href="http://refresh-sf.com/yui/" target="_blank">http://refresh-sf.com/yui/</a>.</li>
<li>Merge .js files into a single .min.js file see <a href="http://getsprockets.org/" target="_blank">http://getsprockets.org/</a> and <a href="http://dailyjs.com/2010/01/27/pro-practices-1/" target="_blank">http://dailyjs.com/2010/01/27/pro-practices-1/</a>.</li>
<li>Reduce image size with http://smush.it 30% size reduction no loss.</li>
<li>Far future cache-headers (resolve updates issues by replacing with new file names).</li>
<li>Multiple asset hosts &#8211; assets on separate hosts than HTML allows for concurrent downloading.</li>
<li>Focus on whats important to users, webapps(gmail) focus on executing where as static pages (google search) focus on loading/rendering real fast.</li>
<li>Only HTML and maybe analytics JS should be load in subsequent loads rest should be cached.</li>
</ul>
<p><strong>Dont&#8217;s</strong></p>
<ul>
<li>JS in the middle of a page will block the execution of the whole page until its finished running, and can leave the user looking at an unrendered page.</li>
<li>404 requests really hurt.</li>
<li>Avoid slow external assets \ 3rd party libs.</li>
<li>Watch out for weight of frameworks, try microframeworks instead see underscore.js and emile.js.</li>
<li>Frameworks and widgets are frowned upon but if you have to script.aculo.us and jquery were mentioned</li>
</ul>
<p><strong>Interesting</strong></p>
<ul>
<li>Cool animation on how browser renders components does multiple sweeps over content to do the layout see <a href="http://en.boose.gr/gecko-reflow/">http://en.boose.gr/gecko-reflow/</a>.</li>
<li>Other open tabs can affect your sites performance or crash the whole browser.</li>
<li>-webkit-transforms are fast and very cool 2/3d stuff at 30-60fps for used on iphone and some android phones similar in jquery animation would be 5-10 fps.</li>
<li>If it takes long in real life to do something you could get away with a bit of lag, moving between forms and search should be instant.</li>
<li>Too many page assets becomes a performance hit conciser 3-5 streams for asset downloads being the default in a browser and will require cueing if more assest are required.</li>
<li>Dynatrace http://ajax.dynatrace.com/ IE tool for testing page loading.</li>
</ul>
<p>&#8220;Silence of more than four seconds become embarrassing because that implies a breaking of the thread of communication.&#8221; RB Miller(1968)</p>
<p>And if the conversations is still not happening after all the tuning, then its time to fake it!</p>
<ul>
<li>Perception is critical.</li>
<li>Tell people how long it will take &#8211; visual indication of progress can increase patience up to 5x.</li>
<li>User should feel like they are heard and their input is being considered.</li>
<li>Instant reaction even if action takes longer for action to complete.</li>
<li>Never leave the user bored.</li>
</ul>
<div class="shr-publisher-89"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://blog.williegoosen.com/2010/02/performance-bootcamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day Three Accessibility and Ajax</title>
		<link>http://blog.williegoosen.com/2009/02/day_three_accessibility_and_ajax/</link>
		<comments>http://blog.williegoosen.com/2009/02/day_three_accessibility_and_ajax/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 10:53:16 +0000</pubDate>
		<dc:creator>Willie Goosen</dc:creator>
				<category><![CDATA[Webstock2009]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[day3]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://blog.williegoosen.com/?p=51</guid>
		<description><![CDATA[Derek Featherstone Real world Accessibility for Ajax and Web Apps Sites : www.boxofchocolates.ca www.furtherahead.com Right so i got caught out by the title like the typical buzzword try-er-outer. So first thing i read going through the workshops, was &#8230;. AJAX. So wow that&#8217;s like so now and everyone is doing it so the more AJAX [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>Derek Featherstone<br />
Real world Accessibility for Ajax and Web Apps<br />
Sites : <a href="http://www.boxofchocolates.ca">www.boxofchocolates.ca</a> <a href="http://www.furtherahead.com">www.furtherahead.com</a></p>
<p><a class="flickr-image alignright" title="Derek Featherstone and the class" href="http://www.flickr.com/photos/greendott/3303362102/"><img src="http://farm4.static.flickr.com/3312/3303362102_dce60f91a9_m.jpg" alt="Derek Featherstone and the class" /></a></p>
<p>Right so i got caught out by the title like the typical buzzword try-er-outer. So first thing i read going through the workshops, was &#8230;. AJAX. So wow that&#8217;s like so now and everyone is doing it so the more AJAX the better right?</p>
<p>Upon closer inspection the workshop was more around the _accessibility_ part. And the first 10 min I thought whoops not quite what I intended to spend a day on, but i was captivated after the intro.</p>
<p>Quick key points<br />
1. Forms<br />
- Watch out for Visual labeling, use <label> element<br />
- &#8220;em&#8221; inside the &#8220;label&#8221; and position with CSS<br />
- Replace &#8220;em&#8221; with a &#8220;strong&#8221; if its an error.<br />
- Plan error/advisory information carefully (keep in flow or shift focus to it if not in flow)<br />
- Dual purpose interfaces can cause issues.</label></p>
<p>2. Linear Flow<br />
- feedback on an action should be where your focus is going<br />
- have elements linear in HTML and position with CSS for visual organisation</p>
<p>3. Proximity<br />
- when injecting content with ajax place do so in context.<br />
- avoid injecting content at the end of the document if possible<br />
- best yet avoid ajax if it can be hidden with CSS and revealed</p>
<p>4. Backup plan<br />
- have a fall back option, multiple ways of achieving same goal<br />
- use headings for &#8220;rescue point&#8221; if user gets lost in document</p>
<p>5. Visual Design vs Structure<br />
- check that your visual design and un-styled document is telling the same story<br />
- turn your CSS off see if site still makes sense<br />
- build linear flow into your wire frames</p>
<p>6. Development  Testing<br />
- Test for accessibility from the start.<br />
Design Stage: Color contrasts, general layout<br />
Functional Testing: must work with keyboard<br />
Demo Testing: all alt must be accurate, screen reader emulators, turn off css<br />
Final Test: real people varied needs.<br />
- test success error AND corrective paths<br />
- check for alt tags and that they make sence.</p>
<p>A Tools and Links<br />
- Screen readers Shark and Dragon Natural speaking<br />
- HTML Tidy in Firefox is a good start<br />
- <a href="http://www.standards-schmandards.com/projects/fangs/">Fangs</a> Firefox plug-in screen reader emulator<br />
- Juicy Studio Firefox plug-in for <a href="http://juicystudio.com/services/luminositycontrastratio.php">Luminosity Colour Contrast Ratio Analyser</a><br />
- <a href="http://www.simplyaccessible.org">www.simplyaccessible.org</a> for some examples<br />
- WCAG the accessibility bible</p>
<p>Soo once again to make some sence of all the random jucy tidbits of knowledge, its definitely something i will be promoting from now on.</p>
<p>At a basic level it costs nothing. Its up to the UX designer and Developers to just take a bit more care in element placement and thinking about the project not just from you users perspective but also the less able users. As a by product this will produce a much higher quality product and the HTML is bound to be more semantic and efficient.</p>
<p>A quote from Derek that summed it up quite well :</p>
<blockquote><p><em>Its about whats under the covers</em></p></blockquote>
<div class="shr-publisher-51"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://blog.williegoosen.com/2009/02/day_three_accessibility_and_ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

