<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" version="2.0"><channel><title>circlecube</title> <link>http://circlecube.com</link> <description>interactive design &amp; code exploration</description> <lastBuildDate>Mon, 20 Feb 2012 16:10:18 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/circlecube" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="circlecube" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">circlecube</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item><title>LESS and syntax highlighting for Pea.rs</title><link>http://circlecube.com/2012/02/less-and-syntax-highlighting-for-pea-rs/</link> <comments>http://circlecube.com/2012/02/less-and-syntax-highlighting-for-pea-rs/#comments</comments> <pubDate>Fri, 17 Feb 2012 21:02:38 +0000</pubDate> <dc:creator>Evan Mullins</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[css]]></category> <category><![CDATA[git]]></category> <category><![CDATA[github]]></category> <category><![CDATA[html]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[jquery]]></category> <category><![CDATA[less]]></category> <category><![CDATA[library]]></category> <category><![CDATA[pattern]]></category> <category><![CDATA[pea.rs]]></category> <category><![CDATA[process]]></category><guid isPermaLink="false">http://circlecube.com/?p=3600</guid> <description><![CDATA[Pears is an open source WordPress theme by Dan Cederholm (simplebits), enabling people like us to get your own pattern library up and running quickly. Collect, test, and experiment with interface pattern pairings of CSS &#038; HTML. I&#8217;ve customized pears. I&#8217;ve forked it, adding support for coding in LESS as well as code highlighting! The [...]]]></description> <content:encoded><![CDATA[<p
class="welcome"> <strong>Pears</strong> is an <a
href="https://github.com/simplebits/Pears">open source WordPress theme by Dan Cederholm (simplebits)</a>, enabling people like us to get your own pattern library up and running quickly.  Collect, test, and experiment with <strong>interface pattern pairings</strong> of <abbr>CSS</abbr> &#038; <abbr>HTML</abbr>.</p><p
class="welcome"><strong>I&#8217;ve customized pears.</strong> <a
href="https://github.com/circlecube">I&#8217;ve</a> <a
href="https://github.com/circlecube/Pears">forked</a> it, adding support for coding in <abbr>LESS</abbr> as well as code highlighting! The <abbr>LESS</abbr> auto compiles to <abbr>CSS</abbr> and then is applied to the <abbr>HTML</abbr> content.</p><ol
class="steps"><li>Grab the <a
href="https://github.com/simplebits/Pears">original</a> or <a
href="https://github.com/circlecube/Pears">fork</a> at Github.</li><li>Install the theme.</li><li>Create markup &#038; style patterns.</li><li>Learn.</li></ol><p><a
href="http://pears.circlecube.com"><img
src="http://circlecube.com/wp-content/uploads/2012/02/pears-circlecube-com-welcome-478x729.png" alt="" title="pears-circlecube-com-welcome" width="478" height="729" class="aligncenter size-medium wp-image-3605" /></a></p><h2>Check out <a
href="http://pears.circlecube.com/">my own pattern library (at http://pears.circlecube.com/) to see it in action</a>!</h2><p>or visit the <a
href="http://pea.rs">original</a>.</p><p><a
href="http://pears.circlecube.com"><img
src="http://circlecube.com/wp-content/uploads/2012/02/pears-circlecube-com-478x703.png" alt="" title="pears-circlecube-com" width="478" height="703" class="aligncenter size-medium wp-image-3606" /></a></p> <img src="http://feeds.feedburner.com/~r/circlecube/~4/P3DSskhyw9c" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://circlecube.com/2012/02/less-and-syntax-highlighting-for-pea-rs/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>An Event Apart Atlanta 2012 Notes</title><link>http://circlecube.com/2012/02/an-event-apart-atlanta-2012-notes/</link> <comments>http://circlecube.com/2012/02/an-event-apart-atlanta-2012-notes/#comments</comments> <pubDate>Sat, 11 Feb 2012 14:39:47 +0000</pubDate> <dc:creator>Evan Mullins</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[3D]]></category> <category><![CDATA[aea]]></category> <category><![CDATA[conference]]></category> <category><![CDATA[review]]></category><guid isPermaLink="false">http://circlecube.com/?p=3585</guid> <description><![CDATA[Here is my collection of notes from attending An Event Apart Atlanta 2012. As I took notes, I had the thought that I&#8217;d be sharing them with co-workers and that it&#8217;d be easiest to just publish them here. I hope they are useful to someone else out there who didn&#8217;t take notes on something or [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://circlecube.com/wp-content/uploads/2012/02/2012-02-10-19-27_IMAG0181-478x285.jpg" alt="" title="2012-02-10-19-27_IMAG0181" width="478" height="285" class="aligncenter size-medium wp-image-3592" /></p><div>Here is my collection of notes from attending An Event Apart Atlanta 2012. As I took notes, I had the thought that I&#8217;d be sharing them with co-workers and that it&#8217;d be easiest to just publish them here. I hope they are useful to someone else out there who didn&#8217;t take notes on something or wasn&#8217;t able to attend. Huge thanks to Jeffrey and Eric for organizing the event and for all the speakers! I sure learned a lot! I did miss a couple of presentations, maybe I&#8217;ll find my notes and add them one day. Let me know if you&#8217;re looking for a specific talk that I&#8217;m missing and I&#8217;ll check my notes.</div><div></div><div>Monday 6 February 2012</div><ul><li><a
href="http://circlecube.com/2012/02/an-event-apart-notes-jeffrey-zeldman-content-first/">An Event Apart Notes: Jeffrey Zeldman, Content First!</a></li><li><a
href="http://circlecube.com/2012/02/an-event-apart-notes-cindy-li-inclusive-design/">An Event Apart Notes: Cindy Li, Inclusive Design</a></li><li><a
href="http://circlecube.com/2012/02/an-event-apart-notes-dan-cederholm-handcrafted-patterns/">An Event Apart Notes: Dan Cederholm, Handcrafted Patterns</a></li><li><a
href="http://circlecube.com/2012/02/an-event-apart-notes-jake-archibald-in-your-font-face/">An Event Apart Notes: Jake Archibald, In Your @font-face</a></li><li><a
href="http://circlecube.com/2012/02/an-event-apart-notes-ethan-marcotte-rolling-up-our-responsive-sleeves/">An Event Apart Notes: Ethan Marcotte, Rolling Up Our Responsive Sleeves</a></li></ul><p>Tuesday 7 February 2012</p><ul><li><a
href="http://circlecube.com/2012/02/an-event-apart-notes-eric-meyer-the-future-of-css/">An Event Apart Notes: Eric Meyer, The Future of CSS</a></li><li><a
href="http://circlecube.com/2012/02/an-event-apart-notes-nicole-sullivan-our-best-practices-are-killing-us/">An Event Apart Notes: Nicole Sullivan, Our Best Practices are Killing Us</a></li><li><a
href="http://circlecube.com/2012/02/an-event-apart-notes-josh-clark-buttons-are-a-hack/">An Event Apart Notes: Josh Clark, Buttons are a Hack</a></li><li><a
href="http://circlecube.com/2012/02/an-event-apart-notes-luke-wroblewski-mobile-to-the-future/">An Event Apart Notes: Luke Wroblewski, Mobile to the Future</a></li><li><a
href="http://circlecube.com/2012/02/an-event-apart-notes-marco-arment-bridging-the-app-gap/">An Event Apart Notes: Marco Arment, Bridging the App Gap</a></li><li><a
href="http://circlecube.com/2012/02/an-event-apart-notes-jared-spool-the-curious-properties-of-intuitive-web-pages/">An Event Apart Notes: Jared Spool, The Curious Properties of Intuitive Web Pages</a></li></ul><p>Wednesday 8 February 2012</p><ul><li><a
href="http://circlecube.com/2012/02/an-event-apart-notes-ethan-marcotte-responsive-web-design/">An Event Apart Notes: Ethan Marcotte, Responsive Web Design</a></li></ul> <img src="http://feeds.feedburner.com/~r/circlecube/~4/S1KEEIB_ahE" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://circlecube.com/2012/02/an-event-apart-atlanta-2012-notes/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Developing for old browsers is (almost) a thing of the past – (37signals)</title><link>http://circlecube.com/2012/02/developing-for-old-browsers-is-almost-a-thing-of-the-past-37signals/</link> <comments>http://circlecube.com/2012/02/developing-for-old-browsers-is-almost-a-thing-of-the-past-37signals/#comments</comments> <pubDate>Fri, 10 Feb 2012 20:39:08 +0000</pubDate> <dc:creator>Evan Mullins</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[browser]]></category><guid isPermaLink="false">http://circlecube.com/?p=3559</guid> <description><![CDATA[Basecamp announces that it&#8217;s new version will not support old browsers! They will of course continue to support them in their &#8220;classic&#8221; version. But this is good news and as more implement this type of policy the internet will be happy. It used to be one of the biggest pains of web development. Juggling different [...]]]></description> <content:encoded><![CDATA[<p>Basecamp announces that it&#8217;s new version will not support old browsers! They will of course continue to support them in their &#8220;classic&#8221; version. But this is good news and as more implement this type of policy the internet will be happy.</p><blockquote><p>It used to be one of the biggest pains of web development. Juggling different browser versions and wasting endless hours coming up with workarounds and hacks. Thankfully, those troubles are now largely optional for many developers of the web.</p></blockquote><p>via <a
href="http://37signals.com/svn/posts/3097-developing-for-old-browsers-is-almost-a-thing-of-the-past">Developing for old browsers is (almost) a thing of the past &#8211; (37signals)</a>.</p><p
style="text-align: center;"><a
href="http://37signals.com/svn/posts/3097-developing-for-old-browsers-is-almost-a-thing-of-the-past"><img
src="http://circlecube.com/wp-content/uploads/2012/02/757-bcn-browsers.png" alt="" /></a></p> <img src="http://feeds.feedburner.com/~r/circlecube/~4/EyEhWAE9iag" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://circlecube.com/2012/02/developing-for-old-browsers-is-almost-a-thing-of-the-past-37signals/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Vendor Prefixes – about to go south</title><link>http://circlecube.com/2012/02/vendor-prefixes-about-to-go-south/</link> <comments>http://circlecube.com/2012/02/vendor-prefixes-about-to-go-south/#comments</comments> <pubDate>Fri, 10 Feb 2012 18:03:39 +0000</pubDate> <dc:creator>Evan Mullins</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[browser]]></category> <category><![CDATA[css]]></category> <category><![CDATA[standards]]></category><guid isPermaLink="false">http://circlecube.com/?p=3566</guid> <description><![CDATA[What are &#8220;standards&#8221; coming to? Who&#8217;s guilty? Apple and Chrome: They&#8217;re supporting vendor prefixed properties like they&#8217;re a standard part of development. Firefox, Opera and Internet Explorer: They should have been on the ball more. Need to push their evangelism further. Teach developers that it&#8217;s not exclusively -webkit to style elements. All the browsers: experimental [...]]]></description> <content:encoded><![CDATA[<p><strong>What are &#8220;standards&#8221; coming to?</strong></p><blockquote><p><strong>Who&#8217;s guilty?</strong></p><p>Apple and Chrome: They&#8217;re supporting vendor prefixed properties like they&#8217;re a standard part of development.</p><p>Firefox, Opera and Internet Explorer: They should have been on the ball more. Need to push their evangelism further. Teach developers that it&#8217;s not exclusively -webkit to style elements.</p><p>All the browsers: experimental suggests that it will either be discarded or implemented fully at some point. It&#8217;s both not clear what&#8217;s a real specification be experimentally supported, nor when those experimental prefixes will be dropped.</p><p>The working group: for not getting these properties to standards quickly enough. The web moves quickly, and as much as a I appreciate that the standards will not move as quickly, they&#8217;re still taking way too long.</p><p>Evangelists: We&#8217;re too eager to show off experimental effects. They&#8217;re cool, right? But it&#8217;s cost us, and we should always used vendor prefixes as a backup, not as the final thing.</p><p>Developers: We know better. We know/hope that eventually these prefixes will be dropped, but we&#8217;re propagating this problem.</p><p>You and me: I&#8217;m just as guilty as everyone else in using WebKit only prefixes.</p></blockquote><blockquote><p><strong>Browsers need to:</strong></p><p>Non-production ready browsers should support experimental prefixes, production ready releases should not. If it&#8217;s Chrome 16 &#8211; the stable version &#8211; experimental support should not be baked in. The properties should be full available without the prefix.<br
/> Drop experimental prefixes &#8211; not entirely, but after a finite amount of time. It&#8217;s unacceptable and a disservice to the developers working with your browser. You need to give timelines to dropping these things.<br
/> Work with the working groups (&#8230;Apple).</p></blockquote><p><img
src="http://circlecube.com/wp-content/uploads/2012/02/Screen-shot-2012-02-10-at-12.59.33-PM.png" alt="" title="Screen shot 2012-02-10 at 12.59.33 PM" width="109" height="109" class="alignleft size-full wp-image-3572" /><p>via <a
href='http://remysharp.com/2012/02/09/vendor-prefixes-about-to-go-south/' target='_blank'>Vendor Prefixes &#8211; about to go south</a>.</p> <img src="http://feeds.feedburner.com/~r/circlecube/~4/B900KugRUwI" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://circlecube.com/2012/02/vendor-prefixes-about-to-go-south/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>An Event Apart Notes: Ethan Marcotte, Responsive Web Design</title><link>http://circlecube.com/2012/02/an-event-apart-notes-ethan-marcotte-responsive-web-design/</link> <comments>http://circlecube.com/2012/02/an-event-apart-notes-ethan-marcotte-responsive-web-design/#comments</comments> <pubDate>Wed, 08 Feb 2012 20:56:47 +0000</pubDate> <dc:creator>Evan Mullins</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[conference]]></category> <category><![CDATA[css]]></category> <category><![CDATA[css3]]></category> <category><![CDATA[notes]]></category> <category><![CDATA[responsive]]></category> <category><![CDATA[review]]></category> <category><![CDATA[web design]]></category><guid isPermaLink="false">http://circlecube.com/?p=3544</guid> <description><![CDATA[Ethan Marcotte has become the father of Responsive Web Design and spent this whole day focused on principles, techniques, gotchas, examples, &#8230; all about building and how to build responsive sites. With a sprinkle of mobile first. For Ethan, it all started with this article: http://www.alistapart.com/articles/dao/ Think of architecture, the whole design phase is established [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://ethanmarcotte.com/" target="_blank"><img
src="http://circlecube.com/wp-content/uploads/2012/02/bio.jpeg" alt="Ethan Marcotte" width="90" height="78" class="alignleft size-full wp-image-3545" /></a>Ethan Marcotte has become the father of Responsive Web Design and spent this whole day focused on principles, techniques, gotchas, examples, &#8230; all about building and how to build responsive sites. With a sprinkle of mobile first.</p><p>For Ethan, it all started with this article: <a
href="http://www.alistapart.com/articles/dao/" target="_blank">http://www.alistapart.com/articles/dao/</a></p><p>Think of architecture, the whole design phase is established on constraints.</p><p>A truly interactive system is a multiple-loop in which one enters into a conversation; a continual and constructive information exchange.</p><p>Examples of responsive design:<br
/> <a
href="http://designingmonsters.com" target="_blank">designingmonsters.com</a><br
/> <a
href="http://jessicahische.is/" target="_blank">http://jessicahische.is/</a><br
/> <a
href="http://designmadeingermany.de/" target="_blank">designmadeingermany.de</a><br
/> <a
href="http://crushlovely.com/" target="_blank">crush and lovely</a><br
/> <a
href="http://us.illyissimo.com/" target="_blank">us.illyissimo.com</a><br
/> <a
href="http://www.unitedpixelworkers.com/" target="_blank">unitedpixelworkers.com</a> &#8211; very big and touch friendly navigation<br
/> <a
href="http://nd.edu/" target="_blank">nd.edu</a> &#8211; notre dame<br
/> <a
href="http://www.utk.edu/" target="_blank">university of tennessee</a><br
/> <a
href="http://bostonglobe.com/" target="_blank">the boston globe</a><br
/> <a
href="http://responsivenews.co.uk/news" target="_blank">http://responsivenews.co.uk/news</a></p><p>Why go responsive?<br
/> <a
href="http://blog.responsivenews.co.uk/" target="_blank">http://blog.responsivenews.co.uk/</a></p><p>http://digital.cabinetoffice.gov.uk/2012/01/26/mobile-and-gov-uk/</p><p>&#8220;offer high quality with lower maintenance&#8221;<br
/> <a
href="http://simplebits.com/notebook/2011/08/19/adapted/" target="_blank">http://simplebits.com/notebook/2011/08/19/adapted/</a><br
/> 24ways.org<br
/> <a
href="http://couchable.co/blog/post/a-responsive-design-workflow" target="_blank">http://couchable.co/blog/post/a-responsive-design-workflow</a> &#8211; don&#8217;t<br
/> <a
href="http://upstatement.com/blog/2012/01/how-to-approach-a-responsive-design/ " target="_blank">http://upstatement.com/blog/2012/01/how-to-approach-a-responsive-design/ </a><br
/> <a
href="http://upstatement.com/blog/2012/01/finding-the-look-feel-of-bostonglobe-com/" target="_blank">http://upstatement.com/blog/2012/01/finding-the-look-feel-of-bostonglobe-com/</a></p><p>Compare process to print with a press &#8211; linear process has been co-opted for the web<br
/> discover, design, develop, deliver<br
/> Break down the one way process from design to develop. The workflow should cycle between design and develop.<br
/> Text:<br
/> How well does the layout adapt?<br
/> Do individual modules still feel usable?</p><p>Think Disposably</p><p>Natalie Down video on Vimeo vimeo.com/33747932</p><p>Device Access: Working with devices is part of our design process<br
/> <a
href="http://bradfrostweb.com/blog/mobile/test-on-real-mobile-devices-without-breaking-the-bank/" target="_blank">bradfrostweb.com/blog/mobile/test-on-real-mobile-devices-without-breaking-the-bank/<br
/> </a></p><p>Our content. Wherever you are.  Universal Access</p><p>Mobile First! &#8211; Luke Wroblewski<br
/> The argument: Mobile traffic has explided, new capabilities (touch, geo, voice, ubiquity), narrower screens force us to focus.<br
/> Think about these things earlier in the process gives a better end product<br
/> What value does each content have for our mobile users?</p><p>Mobile First and Design for Content First (really Content always)</p><p>Flexible Grids &#8211; responsive sites have a flexible foundation<br
/> <a
href="http://mediaqueri.es" target="_blank">http://mediaqueri.es</a><br
/> <a
href="http://www.informationarchitects.jp/en/" target="_blank">http://www.informationarchitects.jp/en/</a><br
/> <a
href="http://mikedidthis-focus.tumblr.com/" target="_blank">mikedidthis-focus.tumblr.com/</a></p><p>500 Android &#8211; snapshot from google analytics: http://stephanierieger.com/the-trouble-with-android/<br
/> Will screen resolutions standardize over time? Who knows, we need to be thinking flexible, it is even the more future proof solution.</p><p>Grids<br
/> The History of Grids &#8211; Every movement in art can be seen as a response to another<br
/> Start design with a network of modules<br
/> &#8230;methods and rules upon which it is impossible to improve have been developed for centuries&#8230; -Jan Tschichold<br
/> Mark Boulton introduces &#8220;The New Canon&#8221; for web design<br
/> -Content out, not canvas in.<br
/> -Create connectedness<br
/> -Bind the content to the device</p><p>aworkinglibrary.com &#8211; change &#8211; Mandy Brown &#8220;rich designs can emerge from flexible roots&#8230; the web is not print&#8230;</p><p>Formula: target / context = result</p><p>contentsmagazine.com</p><p>Elliot Jay Stocks suggests using a 1000px width page for easier calculations: <a
href="http://elliotjaystocks.com/blog/a-better-photoshop-grid-for-responsive-web-design/" target="_blank">http://elliotjaystocks.com/blog/a-better-photoshop-grid-for-responsive-web-design/</a></p><p>TextMate has intrenal tools for doing calculations. Let the software calculate the formula, then put the the reference numbers in a comment.</p><p>SASS &#8211; Getting started with SASS &#8211; <a
href="http://www.alistapart.com/articles/getting-started-with-sass/" target="_blank">http://www.alistapart.com/articles/getting-started-with-sass/</a></p><p>Use the formula for margins and padding as well. We get proportional results! Using fixed values would be unproportional.</p><p>Learning to love (survive) rounding<br
/> .last-child { display:table-cell }</p><p>Frameworks:<br
/> <a
href="http://goldengridsystem.com/" target="_blank">Golden Grid system.com</a><br
/> <a
href="http://foundation.zurb.com/" target="_blank">Foundation.zurb.com</a><br
/> know limitations of a framework</p><p>it&#8217;s all about balancing the ease of dev vs ease of maintenance</p><p>Frameworks are very valuable for prototyping</p><p>Design your source code order. think about linear and layout at the same time.</p><p>Bandwidth<br
/> no correlation between screensize and connection speed (or price even)<br
/> a matter of serving appropriate images<br
/> a hack really: preloaders, cookies and race conditions (http://blog.yoav.ws/2011/09/Preloaders-cookies-and-race-conditions)<br
/> Each browser does this differently though and it&#8217;s not standardized.</p><p>Other options for responsive images<br
/> <a
href="http://adaptive-images.com/" target="_blank">adaptive-images.com</a><br
/> <a
href="http://headlondon.com/our-thoughts/technology/posts/creating-responsive-images-using-the-noscript-tag/" target="_blank">headlondon.com/our-thoughts/technology/posts/creating-responsive-images-using-the-noscript-tag/</a><br
/> monolitti.com/images<br
/> <a
href="http://developer.sencha.io/" target="_blank">sencha.io</a> &#8211; route your images through this url to get appropriately sized images. still uses browser detection to determine size, pus it&#8217;s 3rd party<br
/> <a
href="http://www.brettjankord.com/2012/01/16/categorizr-a-modern-device-detection-script/" target="_blank">categorizr</a> &#8211; a modern device detection script &#8211; brettjankord.com</p><p>Can we solve this with new markup? A new html element? Like th evideo or audio elements?<br
/> Video element can have media query attached and multiple source files referenced.</p><p>Backgrounds<br
/> stuntbox.com<br
/> background-position: 0 0; &#8211; x y; left top; 50px 0; 0 50px;<br
/> it&#8217;s a bit different for percentages: 50% 50% (centered). percentage for packground position is proportional to the image itself and the container. t places that point in the background image in that position in the container.<br
/> Resizing background images: background-size css property. Set in pixel based terms or in proportions/percentages. (not 100% supported, but can be used as progressive enhancement).</p><p>Video:<br
/> <a
href="http://thisismadebyhand.com/" target="_blank">madebyhand</a><br
/> <a
href="http://dolectures.co.uk/" target="_blank">dolectures.co.uk</a><br
/> <a
href="http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/" target="_blank">http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/</a><br
/> Create an aspect-ratio aware box (container): height / width = aspect ratio<br
/> set the video width and height to 100% and give the container a padding-top of the aspect ration value (in percentage)</p><p>Is the answer to the images/bandwidth question more code?<br
/> <a
href="http://www.alistapart.com/articles/a-simpler-page/" target="_blank">http://www.alistapart.com/articles/a-simpler-page/</a><br
/> <a
href="http://craigmod.com/bibliotype/demo/" target="_blank">craigmod.com/bibliotype/demo/</a> <a
href="http://filamentgroup.com/examples/rwd-table-patterns" target="_blank">filamentgroup.com/examples/rwd-table-patterns</a><br
/> Let the user opt-in to the content that they are most interested in to construct the page.<br
/> User selected video settings in youtube, for example.</p><p>Media Queries<br
/> Descendant from media type style sheets: scree, print, handheld, projector&#8230;<br
/> display area and rendering surface<br
/> Think of the browser&#8217;s viewport as the display area and the display as the rendering surface.<br
/> Specify ranges with min- and max- prefixes for browsers above or below a certain threshold or breakpoint.<br
/> Long list of media query features: width, height, device-width, device-height, orientation, aspect-ratio, device-aspect-ratio, color, color-index, monochrome, resolution, scan, grid. These can be combined in statements.<br
/> Can combine media types as well.<br
/> Also keywords for mixing the statements: only, not, and</p><p>Viewport<br
/> <a
href="http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html" target="_blank">http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html</a><br
/> There is a difference between &#8220;device pixels&#8221; and &#8220;css pixels&#8221;<br
/> ios bug for orientation: <a
href="http://filamentgroup.com/lab/a_fix_for_the_ios_orientationchange_zoom_bug/device-adaptation" target="_blank">filamentgroup.com/lab/a_fix_for_the_ios_orientationchange_zoom_bug/<br
/> device-adaptation</a> module in css iin progress.<br
/> Recommend:</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width,initial-scale=1.0&quot; /&gt;</div></div><p>Put it into practice:<br
/> Looking at the weather module on the boston globe as an example. http://bostonglobe.com/<br
/> Don&#8217;t suppress things before discussing simplifying it.</p><p>How do you choose breakpoints?<br
/> (The only way I&#8217;ve ever learned anything, is by doing it wrong first)<br
/> Initial breakpoints: 320, 480, 768, 1024, 1200px<br
/> Set up the queries to support Mobile First<br
/> Mobile first workflow overview, start with one layout and additively add more.</p><p>Polyfills<br
/> css3-mediaqueries-js: slower, first on the scene.<br
/> respond.js: very fast, only tests for min-width and max-width, only ~3kb</p><p>There&#8217;s no real set of IDEAL breakpoints<br
/> We&#8217;ve been very focused on columns, let&#8217;s refocus on content!<br
/> <a
href="http://www.designbyfront.com/workinprogress/article/the-goldilocks-approach-to-responsive-design" target="_blank">http://www.designbyfront.com/workinprogress/article/the-goldilocks-approach-to-responsive-design</a><br
/> Set major increments and have the smallest breakpoint totally fluid and then find breakpoints dependent on the design (content and typography) rather than devices. Let&#8217;s not choose our breakpoints based on devices, but let our designs dictate what looks best.<br
/> <a
href="http://paulrobertlloyd.com/" target="_blank">paulrobertlloyd.com</a></p><p>Start with the smallest part</p><p>Advanced Layouts<br
/> Negative margins to break out of the grid</p><p>Box-sizing</p><p>CSS3 &#8211; the waiting game<br
/> Multiple background images</p><p>Flexbox<br
/> display: -webkit-flexbox or -webkit-inline-flexbox<br
/> flex-flow: row, row-reverse, column, column-reverse;<br
/> flex-order: 1;</p><p>ﬂex-order places ﬂexbox items into ordered groups<br
/> By default, elements have a ﬂex-order of 0, and remain in the same order they are in the source.</p><p>Could be used for template layouts with a layout policy!</p><p>! (oh the waiting game, it would be awesome to be able to use this now)</p><p><a
href="http://www.lukew.com/ff/entry.asp?1392" target="_blank">http://www.lukew.com/ff/entry.asp?1392</a><br
/> Bagcheck app, links to footer navigation in the header.<br
/> Content before navigation for mobile.</p><p>http://contentsmagazine.com/<a
href="http://contentsmagazine.com/" target="_blank"></a> Setting the top margin and absolute position to 5em/-5em, and the navigation is part of the main content. Smaller sizes the navigation is at the bottom and larger it is set to position absolute and fits inside the margin.</p><p>Responsive Enhancements<br
/> <a
href="http://fittextjs.com" target="_blank">fittext.js</a><br
/> <a
href="http://trentwalton.com/" target="_blank">trentwalton.com/</a> &#8211; &#8220;Some people&#8217;s brains I wish I had&#8221; &#8211; Ethan talking about Trent Walton<br
/> <a
href="http://github.com/Wilto/Dynamic-Carousel" target="_blank">http://github.com/Wilto/Dynamic-Carousel</a><br
/> <a
href="http://www.barackobama.com/" target="_blank">http://www.barackobama.com/</a></p><p>Progressive Enhancements are backwards thinking to graceful degradation, start simple and build up with enhancements.<br
/> <a
href="http://stephanierieger.com/a-plea-for-progressive-enhancement/" target="_blank">stephanierieger.com/a-plea-for-progressive-enhancement/</a><br
/> rakaz.nl/code/combine</p><p>Use IE conditionals to load specific stylesheets for them. And use media=&#8221;only all&#8221; for the enhanced styles</p><p>Minify and combine/concatenate javascript files</p><p>Conditionally load assets (progressive enhancement &#8211; if a browser can&#8217;t be enhanced, let&#8217;s not load the files that would enhance it). Test for capabilities of device and not test for the device itself<br
/> <a
href="http://labjs.com/" target="_blank">labjs.com</a><br
/> <a
href="http://yepnopejs.com/" target="_blank">yepnopejs.com</a></p><p>Constantly ask yourself: is this element content or an enhancement.<br
/> Fonts: sasquatchmusicfestival.com (fonts for web are usually pretty heavy)</p><p>Thinking about process and patterns<br
/> 1. Width<br
/> 2. Hierarchy<br
/> 3. Density<br
/> 4. Interaction</p><p>More Examples:<br
/> <a
href="http://tattly.com/" target="_blank">tattly.com</a><br
/> <a
href="http://www.vivelohoy.com/" target="_blank">vivelohoy.com</a><br
/> <a
href="http://tinynav.viljamis.com/" target="_blank">tinynav.viljamis.com</a><br
/> <a
href="http://forefathersgroup.com/" target="_blank">forefathersgroup.com </a><br
/> <a
href="http://ediblevineyard.com/" target="_blank">ediblevineyard.com</a><br
/> <a
href="http://staffanstorp.se/" target="_blank">staffanstorp.se</a></p><p>WOW, what a day! On to implementation&#8230;</p> <img src="http://feeds.feedburner.com/~r/circlecube/~4/whRc_y1sEBE" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://circlecube.com/2012/02/an-event-apart-notes-ethan-marcotte-responsive-web-design/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>An Event Apart Notes: Jared Spool, The Curious Properties of Intuitive Web Pages</title><link>http://circlecube.com/2012/02/an-event-apart-notes-jared-spool-the-curious-properties-of-intuitive-web-pages/</link> <comments>http://circlecube.com/2012/02/an-event-apart-notes-jared-spool-the-curious-properties-of-intuitive-web-pages/#comments</comments> <pubDate>Tue, 07 Feb 2012 22:37:44 +0000</pubDate> <dc:creator>Evan Mullins</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[aea]]></category> <category><![CDATA[conference]]></category> <category><![CDATA[notes]]></category> <category><![CDATA[review]]></category><guid isPermaLink="false">http://circlecube.com/?p=3539</guid> <description><![CDATA[Senseless waste of asterisks&#8230; Avis used an asterisk to denote optional fields. This means that there is a lot of baggage that comes with an asterixk. Somewhere this symbol got meaning, it&#8217;s not in the bible! We can control when something goes from unintuitive to intuitive. A design is intuitive (although technically and grammatically speaking [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://www.uie.com/"><img
src="http://circlecube.com/wp-content/uploads/2012/02/Webcomm_Montreal_-_Cropped.jpeg" alt="" title="Webcomm_Montreal" width="128" height="128" class="alignleft size-full wp-image-3540" /></a>Senseless waste of asterisks&#8230; Avis used an asterisk to denote optional fields. This means that there is a lot of baggage that comes with an asterixk. Somewhere this symbol got meaning, it&#8217;s not in the bible!</p><p>We can control when something goes from unintuitive to intuitive.</p><p>A design is intuitive (although technically and grammatically speaking that is false).</p><p>An intuitive design is when the user is focused on their objective.</p><p>Simplest site online; haynet, need hay and have hay. Unclear objectives.</p><p>Intuitive Design is Invisible. you only notice it when there is something wrong with it. Like the AC in the room, it&#8217;s only notices when there is a problem with it. It&#8217;s an issue of focus.</p><p>Lytro gives focus shift to the users.</p><p>We shouldn&#8217;t force users to focus on things which they don&#8217;t choose to.</p><p><strong>Property #1 of intuitive design: Clear Focus.</strong></p><p><em>Kittens die when marketing people win.</em></p><p>Keep focus on the users objective and not on the interface.</p><p>Magic Escalator of Acquired Knowledge: zero knowledge at bottom, full knowledge at top. Positions at current knowledge and target knowledge show a knowledge gap. To make a site intuitive we put current and target knowledge as close as possible. An intuitive design is when current knowledge = target knowledge. We can either train people to increase their current knowledge, or we can simplify the target knowledge. Teaching examples: like facebook timeline introduction, google apps update with walkthroughs. Simplify examples: craigslist, umbrella today.</p><p>Things with a large knowledge gap that we must use we tend to hate, and when use is voluntary we avoid. Things with a smaller knowledge gap and required are tolerated, and when use is voluntary we are cautious. If the knowledge gap is small enough users love it and use it! Making things usable lets users enjoy using it and they like us!</p><p>With a million visitors and a 1.6% conversion rate all purchases. 1 foot = 16,000 Visitors. The customers are the 1.6% that convert! Don&#8217;t alienate customers! Don&#8217;t destroy current users&#8217; current knowledge, that&#8217;s like sending our best customers back down the escalator. Learning a system is an investment and people hate to relearn. Subtle changes doesn&#8217;t throw away current knowledge.<br
/> <img
src="http://circlecube.com/wp-content/uploads/2012/02/IMAG0157-478x285.jpg" alt="" title="IMAG0157" width="478" height="285" class="aligncenter size-medium wp-image-3541" /></p><p>Always keep the focus on the users&#8217; objective. Don&#8217;t distract with design changes.</p><p><strong>Property #2: Map design to user objectives</strong></p><p>See price in cart &#8211; on online stores is not a trick to get people to buy more. It&#8217;s a law they have to abide with thanks to the <a
href="http://www.ftc.gov" target="_blank" rel="nofollow">FTC</a>.</p><p>Hipmunk flights drawn on chart and you can sort by agony. Different presentation of flight data, makes the shopping choice much more intuitive.</p><p>The medium of design is behavior.</p><p>Core skills of user experience (Intuitive): Interaction design, visual design, user research, copy writing, information architecture&#8230;</p><p>Users only see Local &#8211; local links. Users don&#8217;t pay attention to global links.</p><p>Best way to do user testing, watch people. Watch people. You find out simple and obvious things by watching users using the site.</p><p>Property #3: Forewarning</p><p>Shopping cart showing shipping before cc input is critical.</p><p>&#8220;More&#8221;,  &#8220;previous&#8221; and &#8220;next&#8221; links are noise, especially when you come in at the middle. It makes everything out of context.</p><p>Pull to refresh: low target knowledge, no current knowledge. Not intuitive &#8211; socially transmitted functionality. STF.</p><p>Property #4: Understanding of Convention</p><p>Key functions enter vs shift enter, tabbing order, google apps:auto-saving.</p><p>Convention of proximity: username and password and login button should all be close together.</p><p>Understand which conventions users will expect. Techniques for understanding: filed visits, usability tests, paper prototype, Handbook of Usability Testing, Paper Prototyping.</p> <img src="http://feeds.feedburner.com/~r/circlecube/~4/FBQfBFmzGDc" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://circlecube.com/2012/02/an-event-apart-notes-jared-spool-the-curious-properties-of-intuitive-web-pages/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>An Event Apart Notes: Marco Arment, Bridging the App Gap</title><link>http://circlecube.com/2012/02/an-event-apart-notes-marco-arment-bridging-the-app-gap/</link> <comments>http://circlecube.com/2012/02/an-event-apart-notes-marco-arment-bridging-the-app-gap/#comments</comments> <pubDate>Tue, 07 Feb 2012 21:14:06 +0000</pubDate> <dc:creator>Evan Mullins</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[aea]]></category> <category><![CDATA[conference]]></category> <category><![CDATA[notes]]></category> <category><![CDATA[review]]></category><guid isPermaLink="false">http://circlecube.com/?p=3528</guid> <description><![CDATA[The iPhone changed our industry in 2007: first mobile to have a desktop class web browser and it made people start using their mobile phones as computers! All apps other than apple provided ones were web browser apps. Most of the first apps were branded web browsers. No real difference between using mobile site or [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://www.marco.org/" target="_blank"><img
src="http://circlecube.com/wp-content/uploads/2012/02/untitled-158-21.jpeg" alt="" width="128" height="128" class="alignleft size-full wp-image-3530" /></a>The iPhone changed our industry in 2007: first mobile to have a desktop class web browser and it made people start using their mobile phones as computers!</p><p>All apps other than apple provided ones were web browser apps. Most of the first apps were branded web browsers. No real difference between using mobile site or mobile app.</p><p>Now companies are asking (like they did in 2000, about a website), &#8220;Do we need a website?&#8221;</p><p>Instagram has no website, just an iOS app.</p><p>web != HTML, browsers the web, the code/HTML and native interface are all current services.</p><p>When is an app not the answer: content sites, low budget, prototypes, breadth audience.<br
/> When is a website not enough: hardware access (native access comes first, javascript coming but years out), software limitations (fullscreen, background processing), data limitations (address book, calendar, media), connectivity (offline access isn&#8217;t production ready), practical size constraints.</p><p>A website is not always enough.</p><p>People are finding apps first on their device in the store and not coming from the web. Websites aren&#8217;t promoted in the app store.</p><p>Downsides: app stores are closed gate keepers. 30% commissions taken by the app store. Reviews are not respond-able and not gauged for quality or even comprehend-ability, like comments we can&#8217;t moderate. Payments.</p><p>On the web payments are hard, so we&#8217;re using ads. For apps, payment is actually easier than ads.</p><p>user-generated content &#8211; horrible phrase vs author writes a story.</p><p>Monetizations matters, considering &#8220;users&#8221; as customers we can start serving the customer rather than the ad vendors.</p><p>Apps are not inclusive, we need to develop an app for every device. And that limits the audience to those who have that device.</p><p>Design considerations, style tips: use standard controls where possible, integrate webview seamlessly,</p><p>Native to one platform you just build for that platform and don&#8217;t have to worry about browser inconsistencies.</p><p>Tips:<br
/> Mind your encoding: utf-8<br
/> When loading content set bg to transparent to avoid white flash<br
/> show a progress spinner, hide the uiwebview when remote content loads<br
/> consider disabling scrolling in secondary or minor uiwebviews<br
/> disable long-tap link menu (add value to standard behaviors)<br
/> disable text auto-resizing and text zooming<br
/> control orizontal oerflow to prevent unintended scrolling<br
/> consider advanced text rendering (carefully &#8211; t can get pretty slow)<br
/> consider auto hyphenation (small performance cost)<br
/> consider disabling data detection (phone numbers, emails, etc)<br
/> load local resources with relative file urls, or use data urls<br
/> communicating between environments &#8211; native code to webview javascript.<br
/> consider listening for gestures in js</p><p>Why does all this stuff matter?<br
/> Able to learn it one thing at a time: because things start slow and modules are added over time. It&#8217;s easier to keep up with changes than it is to learn everything.<br
/> HTML, Web Design and Apps are all in the same eco-system and there is some overlap. Best to learn more about apps NOW, as it starts than try to catch up later.</p> <img src="http://feeds.feedburner.com/~r/circlecube/~4/gWalBO50E2Q" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://circlecube.com/2012/02/an-event-apart-notes-marco-arment-bridging-the-app-gap/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>An Event Apart Notes: Luke Wroblewski, Mobile to the Future</title><link>http://circlecube.com/2012/02/an-event-apart-notes-luke-wroblewski-mobile-to-the-future/</link> <comments>http://circlecube.com/2012/02/an-event-apart-notes-luke-wroblewski-mobile-to-the-future/#comments</comments> <pubDate>Tue, 07 Feb 2012 20:02:10 +0000</pubDate> <dc:creator>Evan Mullins</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[aea]]></category> <category><![CDATA[conference]]></category> <category><![CDATA[notes]]></category> <category><![CDATA[review]]></category><guid isPermaLink="false">http://circlecube.com/?p=3522</guid> <description><![CDATA[MASS MEDIA (in waves) Print, Recordings, Cinema, Radio, Television, Internet, Mobile Mobile is the new Mass Media It certainly is mass and massive. More mobile devices (by far) every day than babies born on the planet. Mobile devices are eating into our personal computing shares. New waves of mobile media eat all previous media waves. [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://circlecube.com/wp-content/uploads/2012/02/lukew_space.png"><img
src="http://circlecube.com/wp-content/uploads/2012/02/lukew_space.png" alt="" title="lukew_space" width="128" height="128" class="alignleft size-full wp-image-3523" /></a> MASS MEDIA (in waves)<br
/> Print, Recordings, Cinema, Radio, Television, Internet, Mobile</p><p>Mobile is the new Mass Media</p><p>It certainly is mass and massive. More mobile devices (by far) every day than babies born on the planet. Mobile devices are eating into our personal computing shares.</p><p>New waves of mobile media eat all previous media waves. Mobile has indeed eaten all previous forms.</p><p>A new form of media always introduces new features or characteristics! Always on, portable, digital, social, augmented reality&#8230; the list goes on.</p><p>We have to recognize that the mobile is not a desktop. Our first inclinations are to copy what we did before (in the last wave). It takes a while to shed old paradigms.</p><p>StumbleUpon has been huge on mobile (as well as Kayak). They are doing a complete relaunch based on what they&#8217;ve learned on mobile.</p><p><strong>Take what we know on the desktop web (today) and adapt it and optimize it for the mobile (today) and move forward (tomorrow).</strong></p><h4>Logins</h4><p>passwords &#8211; forgotten passwords are rarely shown on mobile login pages.<br
/> Don&#8217;t remove things that are critical.<br
/> Use input and types and attributes. (autocapitalize, autocomplete)<br
/> show passwords &#8211; “Masking passwords doesn&#8217;t even increase security, but it does cost you business due to login failures.” -Jakob Nielsen<br
/> input masks<br
/> save passwords and let users login without a password (use single sign-on via: facebook, twitter&#8230;)</p><p>Set default to smarter option (like organ donors).</p><p>Adapt and optimize what we were doing yesterday and apply it to today. We can even make these things apply to yesterday!</p><p>Think to tomorrow: touch gestures, facial recognition, sms authentication<br
/> Step back and think about problems we&#8217;ve already solved. But use new techniques that have evolved since we&#8217;ve come up with the standard solutions we are regurgitation constantly without rethinking the problem. We can do much better now, but we&#8217;re so used to throwing the same solution at the same problem there is no more thinking about it. We don&#8217;t need to inherit the same issues we already have, let&#8217;s solve them by rethinking the original solution.</p><p>Why bother?<br
/> This new mobile mass media is always on, always on them and available at point of inspiration!</p><h4>Checkout</h4><p>3 of 4 carts were abandoned in 2011!<br
/> We should reduce effort:<br
/> Removing unnecessary questions<br
/> Keep people on the keyboard, combine fields (first name + last name = full name)<br
/> Hide irrelevant controls (until they need them)<br
/> Set input types( type=tel ) use input masks, ignore bad characters. Credit card use input-type=tel for the numberpad.<br
/> Keep people on their keys</p><p>Check out square to see the improved cc fields.</p><p>Progressive Enhancements &#8211; use what best fits the device that&#8217;s being used.</p><p>Checkout for the futures:<br
/> Contacts API, Location Detection, Self-checkout and Scanning</p><p>Korean grocery shopping in the subway! Tesco, scan qr codes and groceries are delivered automatically.</p><p>Mobile is a massive new medium! It forces us to adapt and optimize our solutions and moves us towards the future. We should push for better device apis! Let&#8217;s agitate the blockers and the bug guys: Apple and Google. PhoneGap lets us do all these things already using existing standards! Tomorrow Today.</p> <img src="http://feeds.feedburner.com/~r/circlecube/~4/Iny0i_-vwLI" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://circlecube.com/2012/02/an-event-apart-notes-luke-wroblewski-mobile-to-the-future/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>An Event Apart Notes: Josh Clark, Buttons are a Hack</title><link>http://circlecube.com/2012/02/an-event-apart-notes-josh-clark-buttons-are-a-hack/</link> <comments>http://circlecube.com/2012/02/an-event-apart-notes-josh-clark-buttons-are-a-hack/#comments</comments> <pubDate>Tue, 07 Feb 2012 17:35:41 +0000</pubDate> <dc:creator>Evan Mullins</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[aea]]></category> <category><![CDATA[conference]]></category> <category><![CDATA[notes]]></category> <category><![CDATA[review]]></category><guid isPermaLink="false">http://circlecube.com/?p=3509</guid> <description><![CDATA[Mobile and touch should be revolutionizing design and user experience. We don&#8217;t want to touch a tiny link or button. Back button is just stupid. Fitz&#8217;s Law, make things fat proximal targets for easy touching. People are lazy, let&#8217;s as designers LET people be lazy! Maybe even use the whole screen as your control. Eliminate [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://globalmoxie.com/" target="_blank"><img
src="http://circlecube.com/wp-content/uploads/2012/02/IMG_4500.jpeg" alt="" title="IMG_4500" width="128" height="128" class="alignleft size-full wp-image-3526" /></a>Mobile and touch should be revolutionizing design and user experience.</p><p>We don&#8217;t want to touch a tiny link or button. Back button is just stupid. Fitz&#8217;s Law, make things fat proximal targets for easy touching.</p><p>People are lazy, let&#8217;s as designers LET people be lazy! Maybe even use the whole screen as your control.</p><p>Eliminate buttons if we can! Buttons aren&#8217;t evil, they just aren&#8217;t as relevant for touch. Gestures are the keyboard shortcuts of touch!</p><p>Big screens invite big gestures, don&#8217;t make people hit little specific buttons or links. Buttons are a HACK. Light switches are not intuitive, they are a learned behavior, an inspired hack introducing a middle man.</p><p>We don&#8217;t need an abstraction layer for uI controls. We can directly manipulate the object by touch.</p><p>The new Windows OS is leaning this way! Twitter iPad app is doing this. Rather than a back button or a UI, we just swipe our way through content.</p><p>The web sucks as coding gestures and is like the red-headed stepchild of interaction design. It trails behind proprietary technology. Flash helps bring standards, but we&#8217;re still waiting. But we can speed that process and push standards and agitating for more and better. We need to push for support for gestures (for now all we have is touchstart, touchmove and touchend: which aren&#8217;t very helpful and not widely supported).</p><p>The gesture conventions are tap and swipe. Plus there&#8217;s the emulator layer of the browser. As a community we need to figure out together what conventions there are and how to best apply them. It&#8217;s not easy to go beyone simple taps and swipes. jQuery mobile and Sencha touch are libraries that give us more events &#8211; these are really tuned with web-kit and are pretty big frameworks meant for creating html5 apps along the lines of PhoneGap. Touchy.js &#8211; more lightweight, but there are still some big holes.</p><p>http://bit.ly/ikeatouch &#8211; Direct interaction with the content itself.<br
/> http://bit.ly/ios-clear &#8211; Playing with objects as the interface.<br
/> Ipad App Touchup &#8211; lets you paint patters on images, but rather than adjusting brush size you adjust canvas size and the brush is always the size of your finger.</p><p>For mobile: clarity trumps density. The more features and controls we have, the more things get in the way. The more power we give people sometimes the more paralyzed they become. Swiss army giant pocket knife.</p><p>Gestures are invisible. So how do you find out (or instruct) about these controls &#8211; Finding what you can&#8217;t see. Create realistic user interfaces, with a little help, people will learn to work interfaces. Nearly everything has to be learned or taught: snooze alarm, qwerty keyboard. We always start with a physical reference. Social signifiers or cultural: who knows the salt vs pepper shakers? The only thing that matters is what the person that filled them thinks! Cut out the middle men and let the content be the control. Clear salt and pepper shakers! Let people interact with the content and not the buttons.</p><p>The medium is the message, The message is the medium.</p><p>Give obvious visual cues. Instructions are making things harder, nobody reads the manual!<br
/> <a
href="http://magculture.com/blog/?p=10464" target="_blank" rel="nofollow">How to use a magazine</a><br
/> <a
href="http://www.youtube.com/watch?v=pQHX-SjgQvQ" target="_blank">How to use a book</a></p><p>It needs to become intuitive. Nature doesn&#8217;t have instructions, look at a toddler, we figure things out as we go. Use a book metaphor, but don&#8217;t break conventions. EMBRACE the metaphor! Don&#8217;t make me tap buttons if the interface makes me think otherwise. There is a digital advantage to random access navigation.</p><p>Toddlers are learning how to use iPads faster than adults. We&#8217;ve learned incorrect gestures and are not used to thinking about them. Approach apps and designs as we&#8217;re building them for children. Video games are great at teaching you how to use the interface, not with a manual, but by drawing you through the experience by:</p><ul><li>coaching (with active discovery) &#8211; we learn by doing. Things that move can perhaps be moved by users.</li><li>leveling up &#8211; when you learn something, it moves on, demonstrate gradual progressive controls</li><li>power ups &#8211; efficiencies in the hands of experts. keyboard shortcuts. achievement based unlock tools by learning</li></ul><p>We should be generously talking to each other about how were trying to use our gestures. It&#8217;s exciting to be involved in inventing the futures of how we&#8217;ll be using tools, be involved in the discussion. Have empathy for the users.</p> <img src="http://feeds.feedburner.com/~r/circlecube/~4/K52Sb5X-qqI" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://circlecube.com/2012/02/an-event-apart-notes-josh-clark-buttons-are-a-hack/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>An Event Apart Notes: Nicole Sullivan, Our Best Practices are Killing Us</title><link>http://circlecube.com/2012/02/an-event-apart-notes-nicole-sullivan-our-best-practices-are-killing-us/</link> <comments>http://circlecube.com/2012/02/an-event-apart-notes-nicole-sullivan-our-best-practices-are-killing-us/#comments</comments> <pubDate>Tue, 07 Feb 2012 16:18:58 +0000</pubDate> <dc:creator>Evan Mullins</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[aea]]></category> <category><![CDATA[conference]]></category> <category><![CDATA[notes]]></category> <category><![CDATA[review]]></category><guid isPermaLink="false">http://circlecube.com/?p=3495</guid> <description><![CDATA[Grep to for analyze css. CSS duplication is a web-wide problem. Started helping facebook optimize thier site and they had 1.9MB of css loading. The same color showing up hundreds of times. Many many color statements and declarations. !important declarations get dangerous. Sites found to have over 500 !important declarations! float is a serious problem [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://www.stubbornella.org/" target="_blank"><img
src="http://circlecube.com/wp-content/uploads/2012/02/nicole_pink_bkg_2012.png" alt="" title="nicole_pink_bkg_2012" width="128" height="128" class="alignleft size-full wp-image-3496" /></a>Grep to for analyze css.</p><p>CSS duplication is a web-wide problem.</p><p>Started helping facebook optimize thier site and they had 1.9MB of css loading. The same color showing up hundreds of times. Many many color statements and declarations.</p><ul><li><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">!important</div></div><p>declarations get dangerous. Sites found to have over 500 !important declarations!</li><li><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">float</div></div><p>is a serious problem when there are a lot of them. It&#8217;s better to use some sort of abstraction rather than floating everything for layout.</li><li><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">font-size</div></div><p>: there should not be a need for more than half a dozen size declarations, use abstraction!</li></ul><p><strong>insanity</strong>: doing the same thing over and over and expecting different results.</p><p>We all have this problem of duplication. CSS (like JS) will let you do anything you want (even if it&#8217;s stupid). But we don&#8217;t have to do stupid things!</p><p>New Best practices</p><ul><li>Pixels for fonts: became frowned on with ie6, but all modern browsers use pixels, ems and percentages just fine. Why not avoid percentage and ems because they have significant drawbacks and compounding effects.</li><li>Adding extra syntax/markup: separations of concerns &#8211; make functionality overlap as little as possible. Solve one problem at a time and use extra mark-up judiciously (don&#8217;t go nuts with dives, but also don&#8217;t strip out too much and introduce bugs).</li><li>Semantics: class names and ids are not usually read by end users, so let&#8217;s make sure class names and ids work well for developers. More is not always better. Create abstractions that solve problems one time. Don&#8217;t couple CSS too tightly to the content or the display. DRY (Don&#8217;t Repeat Yourself &#8211; Every piece of knowledge must have a single, unambiguous, authoritative representation within a system).<br
/> Media block (like a SLAT in dan&#8217;s talk). Separate structure from chrome (design). May have some extra css class names or divs, but it will cut html and css overall.</li><li>Classitis: use <a
href="http://css-tricks.com/specifics-on-css-specificity/" target="_blank">specificity</a> to accurately target elements. Class order in attribute doesn&#8217;t matter, but order in the actually cascade. Specificity grows over time and you end up coding via firebug. !important is like nuclear trump in CSS. Avoid the nulcear option: keep specificity low: avoid IDs, inline styles, !important, and very complex selectors. Apply classes to the element we are trying to affect (not to a parent node). Use class &#8220;h6&#8243; along with h3 elements for visual and code semantics to play nicely.</li></ul><p>Great developers can build amazing things if we move worst-best practices out of our way.</p><p>Resources:<br
/> <a
href="https://github.com/stubbornella/oocss" target="_blank">oocss</a> &#8211; join the oocss google group<br
/> <a
href="http://csslint.net/" target="_blank">csslint.net</a></p> <img src="http://feeds.feedburner.com/~r/circlecube/~4/jnW5SBOznAY" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://circlecube.com/2012/02/an-event-apart-notes-nicole-sullivan-our-best-practices-are-killing-us/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Object Caching 1770/1909 objects using disk: basic

Served from: circlecube.com @ 2012-02-21 12:07:31 -->

