<?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:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

    <channel>
	    <title>Simian Studios Blog</title>	
	    <link>http://www.simianstudios.com</link>
	    <description>Writings by Kris Noble on all things web-related, including design, code, technology and more.</description>
	    <dc:language>en-gb</dc:language>
	    <dc:creator>Kris Noble</dc:creator>	
	    <dc:rights>Copyright 2013</dc:rights>
	
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/simianstudios" /><feedburner:info uri="simianstudios" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/simianstudios" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fsimianstudios" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
			<title>xip.io + MAMP Pro = Super-Easy Local Network Testing</title>
			<link>http://feedproxy.google.com/~r/simianstudios/~3/_-5Yot6U7sA/xip.io-mamp-pro-super-easy-local-network-testing</link>
			<guid isPermaLink="false">http://simianstudios.com/blog/post/xip.io-mamp-pro-super-easy-local-network-testing</guid>
			<description>&lt;img src="http://simianstudios.com//uploads/blog/large_xip.io-mamp-pro-super-easy-local-network-testing.jpg" id="masthead_image" class="blog_image_large" alt="" height="138" width="618" /&gt; &lt;p&gt;I&amp;rsquo;m sure I don&amp;rsquo;t need to extol the virtues of working locally via &lt;a href="http://www.mamp.info/en/mamp-pro/index.html" target="_blank"&gt;MAMP Pro&lt;/a&gt;. One thing that has always annoyed me though is that to test on devices other than my main box, I&amp;rsquo;d have to either upload the files to a server or fiddle with something like &lt;a href="http://dyn.com/dns/" target="_blank"&gt;DynDNS&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Recently though, I discovered &lt;a href="http://xip.io" target="_blank"&gt;xip.io&lt;/a&gt;. It&amp;rsquo;s a neat little service that takes 99% of the hassle out of viewing your local sites on any other device that&amp;rsquo;s connected to your network.&lt;/p&gt; &lt;h2&gt;How to use it&lt;/h2&gt; &lt;ol&gt; &lt;li&gt;First things first, make sure your local server has a fixed IP on your local network. You can do this through the router config options. If you&amp;rsquo;re not sure how, just search for &amp;ldquo;[your router make/model] assign IP to computer&amp;rdquo; or something similar. This isn&amp;rsquo;t strictly necessary but it will save a lot of hassle down the line if you reboot your router and all the local IPs change.&lt;/li&gt; &lt;li&gt;OK, so let&amp;rsquo;s say your server has the local IP address &lt;code&gt;192.168.0.1&lt;/code&gt;, and the local site you want to use with xip.io goes by the hostname &lt;code&gt;example.local&lt;/code&gt;. In MAMP Pro, click on the example.local item under &amp;ldquo;Hosts&amp;rdquo;, then click the + button under the &amp;ldquo;Aliases&amp;rdquo; box.&lt;/li&gt; &lt;li&gt;Enter the alias in the form &lt;code&gt;[hostname].[server IP].xip.io&lt;/code&gt;. So in our example, we would enter &lt;code&gt;example.local.192.168.0.1.xip.io&lt;/code&gt;. Leave the box ticked and don&amp;rsquo;t worry about the drop-down on the right.&lt;/li&gt; &lt;li&gt;Hit &amp;ldquo;Apply&amp;rdquo; and restart the servers to update the config.&lt;/li&gt; &lt;li&gt;On the network-connected device you want to test, navigate to the alias you just entered, and weep with joy at how easy it was.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;That&amp;rsquo;s it! Bear in mind that anything that relies on the hostname in your code (cookies, for example) will be using the alias rather than the usual local hostname so be prepared to tweak some configs if needed.&lt;/p&gt; &lt;p&gt;Of course, you can still take advantage of the simpicity of xip.io if you dont use MAMP Pro, you&amp;rsquo;ll just need to set up the alias by hand. Personally though, I think the time saved with Pro is well worth paying a few quid for - it can often be found on those cheap software bundle sites for a hefty discount.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=_-5Yot6U7sA:YtngsP4c60U:uTGHRRPoPS0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=uTGHRRPoPS0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=_-5Yot6U7sA:YtngsP4c60U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=_-5Yot6U7sA:YtngsP4c60U:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=_-5Yot6U7sA:YtngsP4c60U:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=_-5Yot6U7sA:YtngsP4c60U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=_-5Yot6U7sA:YtngsP4c60U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
			<pubDate>Fri, 15 Feb 2013 11:15:18 +0000</pubDate>
		<feedburner:origLink>http://simianstudios.com/blog/post/xip.io-mamp-pro-super-easy-local-network-testing</feedburner:origLink></item>

		<item>
			<title>Using Bitbucket for Automated Deployment of Multiple Repositories</title>
			<link>http://feedproxy.google.com/~r/simianstudios/~3/beeStwJFkOk/using-bitbucket-for-automated-deployment-of-multiple-repositories</link>
			<guid isPermaLink="false">http://simianstudios.com/blog/post/using-bitbucket-for-automated-deployment-of-multiple-repositories</guid>
			<description>&lt;img src="http://simianstudios.com//uploads/blog/large_using-bitbucket-for-automated-deployment-of-multiple-repositories.jpg" id="masthead_image" class="blog_image_large" alt="" height="138" width="618" /&gt; &lt;p&gt;I&amp;rsquo;ve recently started using &lt;a href="http://bitbucket.org/" target="_blank"&gt;Bitbucket&lt;/a&gt; as a kind of off-site backup for my Git repos - it works beautifully with &lt;a href="http://www.sourcetreeapp.com/" target="_blank"&gt;SourceTree&lt;/a&gt; as you can have all commits pushed to the &amp;ldquo;origin&amp;rdquo; repo by default. Lovely.&lt;/p&gt; &lt;p&gt;Usually I work locally with MAMP, pushing updates to a staging server if I need to show the client or something. Before now, I did that with good old FTP, but I wondered if there might be a way to have my commits pushed to the server via Git.&lt;/p&gt; &lt;p&gt;Thanks to Bitbucket&amp;rsquo;s &amp;ldquo;&lt;a href="https://confluence.atlassian.com/display/BITBUCKET/Managing+Bitbucket+Services" target="_blank"&gt;services&lt;/a&gt;&amp;rdquo;, there is. I discovered &lt;a href="http://brandonsummers.name/blog/2012/02/10/using-bitbucket-for-automated-deployments/" target="_blank"&gt;Brandon Summers' awesome post&lt;/a&gt; and managed to get it working with a &lt;a href="http://brandonsummers.name/blog/2012/02/10/using-bitbucket-for-automated-deployments/#comment-675683565" target="_blank"&gt;minor change&lt;/a&gt;. The only problem that remained was that Brandon's script only worked with one repo, so if you wanted to use it with multiple repos on the same server, you&amp;rsquo;d have to have multiple instances of the script available at different URLs.&lt;/p&gt; &lt;p&gt;So, I came up with &lt;a href="https://gist.github.com/4692643" target="_blank"&gt;a solution, which I&amp;rsquo;ve added to GitHub as a gist&lt;/a&gt; so you can fork it etc. &lt;/p&gt; &lt;h2&gt;Usage&lt;/h2&gt; &lt;p&gt;The script is essentially the same as Brandon&amp;rsquo;s so follow his instructions for the most part, then set up your root directory and repo list. &lt;/p&gt; &lt;p&gt;As an example, if you have repos at &lt;code&gt;/home/projects/example/htdocs&lt;/code&gt; and &lt;code&gt;/home/projects/another_site&lt;/code&gt;, you&amp;rsquo;d set it up like so:&lt;/p&gt; &lt;pre class="prettyprint"&gt;/** * The root directory where the repos live. * * @var string */ $root_dir = '/home/projects/'; /** * A list of repo slugs that the script is allowed to know about, and their * locations relative to $root_dir. * * @var array */ $repos = array( 'example-repo-1' =&amp;gt; 'example/htdocs' 'another-repo' =&amp;gt; 'another_site' );&lt;/pre&gt; &lt;p&gt;If Bitbucket tries to push to a repo that isn&amp;rsquo;t defined in &lt;code&gt;$repos&lt;/code&gt;, the script will fail gracefully and do nothing, so you don&amp;rsquo;t need to worry about accidentally updating the wrong repo. Just check your commits before you push them to Bitbucket!&lt;/p&gt; &lt;p&gt;If you use this, please let me know how you get on with it! Any forks or suggestions for improvements etc are very welcome - I will be using this daily so if I come up with anything myself I&amp;rsquo;ll add it to the gist.&lt;/p&gt; &lt;p class="note"&gt;Photo: &lt;a href="http://www.sxc.hu/photo/1323383" target="_blank"&gt;Colorful buckets 2 by ivanmarn&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=beeStwJFkOk:LFau2KQmMDo:uTGHRRPoPS0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=uTGHRRPoPS0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=beeStwJFkOk:LFau2KQmMDo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=beeStwJFkOk:LFau2KQmMDo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=beeStwJFkOk:LFau2KQmMDo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=beeStwJFkOk:LFau2KQmMDo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=beeStwJFkOk:LFau2KQmMDo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
			<pubDate>Fri, 01 Feb 2013 17:31:37 +0000</pubDate>
		<feedburner:origLink>http://simianstudios.com/blog/post/using-bitbucket-for-automated-deployment-of-multiple-repositories</feedburner:origLink></item>

		<item>
			<title>Blog Post Amnesty</title>
			<link>http://feedproxy.google.com/~r/simianstudios/~3/WFCauYT3xjM/blog-post-amnesty</link>
			<guid isPermaLink="false">http://simianstudios.com/blog/post/blog-post-amnesty</guid>
			<description>&lt;img src="http://simianstudios.com//uploads/blog/large_blog-post-amnesty.jpg" id="masthead_image" class="blog_image_large" alt="" height="138" width="618" /&gt; &lt;p&gt;Hello there. It&amp;rsquo;s been a while.&lt;/p&gt; &lt;p&gt;After a promising start to 2012, sadly my good intentions to post more fell by the wayside as other commitments piled up. After a while, I&amp;rsquo;d lost the momentum that I&amp;rsquo;d built up in the first quarter of the year, so even though I kept thinking to myself that I really should do a post, I also talked myself out of it by wanting to have something &amp;ldquo;good&amp;rdquo; to end the drought.&lt;/p&gt; &lt;p&gt;Well, enough is enough. I&amp;rsquo;m breaking the inertia of inactivity with this short and simple post, and I&amp;rsquo;m going to make an effort to follow it up and get back into the habit of sharing stuff.&lt;/p&gt; &lt;p&gt;I know that there are other people like me out there, who are full of ideas and want to share but are struggling to take the first step back. So this is a call-to-keyboards - find or make a clear half-hour for yourself and crank out a post. It could be a simple &amp;ldquo;I&amp;rsquo;m back&amp;rdquo; post like this, or it could be as simple as going into your drafts and giving an old idea a quick polish.&lt;/p&gt; &lt;p&gt;If you&amp;rsquo;re reading this, and I haven&amp;rsquo;t posted for a while, feel free to nag me! If you need a bit of help getting back into the swing of things yourself, let me know and I&amp;rsquo;ll badger you - post by post we&amp;rsquo;ll change the world, or at least our poor neglected blogs!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=WFCauYT3xjM:wwrFUGX9eys:uTGHRRPoPS0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=uTGHRRPoPS0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=WFCauYT3xjM:wwrFUGX9eys:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=WFCauYT3xjM:wwrFUGX9eys:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=WFCauYT3xjM:wwrFUGX9eys:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=WFCauYT3xjM:wwrFUGX9eys:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=WFCauYT3xjM:wwrFUGX9eys:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
			<pubDate>Wed, 30 Jan 2013 08:31:49 +0000</pubDate>
		<feedburner:origLink>http://simianstudios.com/blog/post/blog-post-amnesty</feedburner:origLink></item>

		<item>
			<title>Darker Inactive Tabs in Chrome for Mac</title>
			<link>http://feedproxy.google.com/~r/simianstudios/~3/eVkGqKUqUzY/darker-inactive-tabs-in-chrome-for-mac</link>
			<guid isPermaLink="false">http://simianstudios.com/blog/post/darker-inactive-tabs-in-chrome-for-mac</guid>
			<description>&lt;img src="http://simianstudios.com//uploads/blog/large_darker-inactive-tabs-in-chrome-for-mac.jpg" id="masthead_image" class="blog_image_large" alt="" height="138" width="618" /&gt; &lt;p&gt;I've recently made the switch from Firefox to Chrome as my default browser and by and large I'm very happy with the decision.&lt;/p&gt; &lt;p&gt;One thing that was niggling me though was that when you have a lot of tabs open, it can be tricky to tell which tab is active. I tried playing with some of the available themes but didn't really like any of them - all I really wanted was the default theme but with slightly darker inactive tabs. So eventually I decided to just do it myself.&lt;/p&gt; &lt;p&gt;Confession time - I didn't do it from scratch all by myself, but instead used the excellent tool over at &lt;a href="http://www.chrometheme.net/chrome-theme-creator-online.html" target="_blank"&gt;ChromeTheme.net&lt;/a&gt;, although on looking at the files generated it seems really easy to make your own themes if you're familiar with JSON.&lt;/p&gt; &lt;h2&gt;Installation instructions &lt;/h2&gt; &lt;ol&gt; &lt;li&gt;&lt;a href="http://static.simianstudios.com/darker_inactive_tabs.crx" class="button"&gt;Download the theme&lt;/a&gt;&lt;/li&gt; &lt;li&gt;At the bottom of the window, click on &amp;quot;Continue&amp;quot; &lt;img src="http://simianstudios.com/uploads/blog/theme_permission.jpg" width="618" height="43" alt="Theme permission alert" class="blog_image_large example" /&gt;&lt;/li&gt; &lt;li&gt;You're done! &lt;img src="http://simianstudios.com/uploads/blog/theme_installed.jpg" width="618" height="33" alt="Theme permission alert" class="blog_image_large example" /&gt; &lt;/li&gt; &lt;/ol&gt; &lt;h2&gt;More info&lt;/h2&gt; &lt;p&gt;Ironically, seeing as this theme is meant to enhance usability, there is one slight usability issue - the &amp;quot;close tab&amp;quot; buttons are quite hard to see on inactive tabs. Sadly Chromium and thus Chrome don't let you skin them yet so there's nothing I can do for now. However I think it's a minor loss for a big win - the buttons are in the same place as always and are perfectly visible on active or hovered tabs.&lt;/p&gt; &lt;p&gt;As the theme was made for personal use, I've only tested it on OS X Lion but as far as I can tell Chrome on other systems does a much better job of distinguishing inactive tabs anyway. &lt;/p&gt; &lt;p&gt;That said, if you find any issues let me know and I'll see what I can do to fix it up!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=eVkGqKUqUzY:l4poiw8_sTY:uTGHRRPoPS0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=uTGHRRPoPS0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=eVkGqKUqUzY:l4poiw8_sTY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=eVkGqKUqUzY:l4poiw8_sTY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=eVkGqKUqUzY:l4poiw8_sTY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=eVkGqKUqUzY:l4poiw8_sTY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=eVkGqKUqUzY:l4poiw8_sTY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
			<pubDate>Thu, 08 Mar 2012 07:56:35 +0000</pubDate>
		<feedburner:origLink>http://simianstudios.com/blog/post/darker-inactive-tabs-in-chrome-for-mac</feedburner:origLink></item>

		<item>
			<title>CodeIgniter Conference 2012</title>
			<link>http://feedproxy.google.com/~r/simianstudios/~3/mFvGXSyOu0M/codeigniter-conference-2012</link>
			<guid isPermaLink="false">http://simianstudios.com/blog/post/codeigniter-conference-2012</guid>
			<description>&lt;img src="http://simianstudios.com//uploads/blog/large_codeigniter-conference-2012.jpg" id="masthead_image" class="blog_image_large" alt="" height="138" width="618" /&gt; &lt;p&gt;I love &lt;a href="http://codeigniter.com/" target="_blank"&gt;CodeIgniter&lt;/a&gt;. So when I found out there was a &lt;a href="http://www.ciconf.com/" target="_blank"&gt;two-day conference&lt;/a&gt; dedicated to it in my home town, it frankly would have been rude not to have turned up.&lt;/p&gt; &lt;p&gt;Codeigniter Conference 2012 (or CICONF, from now on) featured talks from people like &lt;a href="http://twitter.com/philsturgeon" target="_blank"&gt;Phil Sturgeon&lt;/a&gt;, &lt;a href="http://twitter.com/jamierumbelow" target="_blank"&gt;Jamie Rumbelow&lt;/a&gt; and &lt;a href="http://twitter.com/wanwizard" target="_blank"&gt;Harro 'WanWizard' Verton&lt;/a&gt;, who should be familiar to anyone who's worked with CodeIgniter or visited the forums. &lt;/p&gt; &lt;p&gt;The talks were all CI related of course, but the overriding theme of the day was &amp;quot;how can we do cool stuff with CodeIgniter?&amp;quot; - there were talks about why CI is great for building APIs, how to use MongoDB with CI and how to get PHPUnit and CI running together for proper unit testing, as well as more generalised talks extolling the virtues of CI and sharing some useful hints and tips.&lt;/p&gt; &lt;h2&gt;Talk Highlights&lt;/h2&gt; &lt;p&gt;The talks were all interesting and useful, but the few I've picked out below were really the stars of the show for me.&lt;/p&gt; &lt;h3&gt;Nick Jackson - API-Driven Development&lt;/h3&gt; &lt;figure&gt; &lt;img src="http://simianstudios.com/uploads/blog/ciconf_dogfood.jpg" width="298" height="305" alt="Eating your own dog food" title="Eating your own dog food" class="blog_image" /&gt; &lt;figcaption&gt;&lt;a href="http://www.sxc.hu/photo/846165" target="_blank"&gt;Hungry Puppy&lt;/a&gt; by Carol Adams&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;If you haven't heard of API-driven development (aka "eating your own dog food") before, it's quite simple. Instead of building a cool web service and then tagging an API on later in response to user demands, the idea is that you build the API first, then build your application on top of it. That eliminates a lot of the gripes people have with APIs - unreliability, bugs, glacial development for example- because the API is automatically a first-priority concern.&lt;/p&gt; &lt;p&gt;It's not worthwhile for smaller projects obviously, but if you think you might need an API at some stage, it's probably better to bake it in from the start than try to muddle one together as an afterthought.&lt;/p&gt; &lt;p&gt;The reason CodeIgniter works well for API-driven development is that it has lots of useful libraries and helpers that take care of things like authentication, plus the MVC pattern already has you thinking the right way in terms of separating your domain logic, data handling and presentation.&lt;/p&gt; &lt;p&gt;&lt;a href="http://twitter.com/jacksonj04" target="_blank"&gt;Nick&lt;/a&gt; also shared a few useful tips, such as the fact that you can use CI's built-in form validation library to validate incoming API calls which saves a lot of development time over rolling your own validation.&lt;/p&gt; &lt;h3&gt;John Crepezzi - Unit Testing with CodeIgniter&lt;/h3&gt; &lt;figure&gt; &lt;img src="http://simianstudios.com/uploads/blog/ciconf_test.jpg" width="298" height="220" alt="Test Button" class="blog_image" /&gt; &lt;figcaption&gt;&lt;a href="http://www.sxc.hu/photo/684719" target="_blank"&gt;Test Me&lt;/a&gt; by cancsajn&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Unit_testing" target="_blank"&gt;Unit testing&lt;/a&gt; is like exercising regularly and having a healthy diet - we know we should do it and that the benefits are numerous, but breaking the inertia of inaction can be very difficult.&lt;/p&gt; &lt;p&gt;&lt;a href="http://twitter.com/seejohnrun" target="_blank"&gt;John&lt;/a&gt;'s talk was mainly a beginner's guide to unit testing with PHPUnit, peppered with CI-specific tips.&lt;/p&gt; &lt;p&gt;The thing I really liked about John's talk was that it made it feel very easy to get started with unit testing in CI - even if you have no unit tests on a big code base, you could start by just adding a few tests to your models, or you could just write a few very general &amp;quot;smoke tests&amp;quot; - does it work, yes or no?&lt;/p&gt; &lt;p&gt;Adding unit tests to my base (or &amp;quot;skeleton&amp;quot;) project has been on my to-do list for a while now but John's talk has inspired me so when I get some time to do it I'll give it a try. It would certainly be a nice feeling to embark on new projects knowing the basics are in place so that I can add unit tests for important stuff without having to do a whole bunch of setup each time.&lt;/p&gt; &lt;h3&gt;Alex Bilbie - Introduction to MongoDB&lt;/h3&gt; &lt;img src="http://simianstudios.com/uploads/blog/ciconf_mongo.jpg" width="298" height="199" class="blog_image" /&gt; &lt;p&gt;Before CICONF I'd heard of &lt;a href="http://www.mongodb.org/" target="_blank"&gt;MongoDB&lt;/a&gt; but if I'm honest, wasn't quite sure what it was for or how I would use it in a project.&lt;/p&gt; &lt;p&gt;Luckily for me, &lt;a href="http://twitter.com/alexbilbie" target="_blank"&gt;Alex&lt;/a&gt; did a stirling job of explaining the concepts behind Mongo and its pros and cons for different systems.&lt;/p&gt; &lt;p&gt;Essentially Mongo bridges the gap between traditional relation databases and key-value stores. Instead of rows you have documents, and instead of tables you have collections.&lt;/p&gt; &lt;p&gt;One of the coolest things about Mongo (in my opinion anyway!) is that it is schemaless, which means you're not restricted to a certain set of fields. For example, if I run an online store selling books, DVDs and CDs, the data I might want to store that relates to a DVD won't map exactly to the data I want to store about a book or a CD. In MySQL I would either have to have separate tables and join them, or store them in a single table but with loads of fields, most of which would be empty. In Mongo, I store them in a single collection and each document would contain just the fields relevant for the item it represents.&lt;/p&gt; &lt;p&gt;Another nice thing about documents is that you can store arrays inside the JSON-style objects that actually hold the data, so you don't need link tables like you would in a relational system - for example if I wanted to store different tags that applied to the items in my store.&lt;/p&gt; &lt;p&gt;Mongo also makes it easy to replicate your database as a backup, or shard it if you need to load-balance. &lt;/p&gt; &lt;p&gt;It's not all gravy though. Mongo doesn't have transactions or joins so that automatically precludes it from being used for stuff like billing. There are workarounds, and you can even use Mongo and a traditional SQL database alongside each other, but obviously different projects will have different requirements.&lt;/p&gt; &lt;p&gt;Mongo looks like good fun to work with so I'm glad Alex's talk has helped me add it to my list of possible things to use.&lt;/p&gt; &lt;h3&gt;Jamie Rumbelow - Who Needs Ruby?&lt;/h3&gt; &lt;figure&gt; &lt;img src="http://simianstudios.com/uploads/blog/ciconf_rails.jpg" width="298" height="298" class="blog_image" /&gt; &lt;figcaption&gt;&lt;a href="http://www.sxc.hu/photo/1142069" target="_blank"&gt;Trail Tracks 1&lt;/a&gt; by Travis Price&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;&lt;a href="http://twitter.com/jamierumbelow" target="_blank"&gt;Jamie&lt;/a&gt; is someone who's had a big influence on the way I use CodeIgniter so quite a bit of his talk was stuff I already knew or practiced, but it was great to see how passionate he is about what he does and he was probably the best &amp;quot;performer&amp;quot; of the conference.&lt;/p&gt; &lt;p&gt;One thing Jamie talked about that I hadn't thought about previously was the idea of having form validation rules in the model rather than the controller. It makes sense when you think about it, because the rules relate to the data, and putting them in the model keeps the data logic in the model. You have to use a slight hack to do it (manually map your data back to the &lt;code&gt;$_POST&lt;/code&gt; server variable) but it's not a heinous crime.&lt;/p&gt; &lt;p&gt;Another thing Jamie talked about that I've &amp;quot;kinda&amp;quot; been doing for a while without realising was &lt;a href="http://jamieonsoftware.com/journal/2011/12/26/codeigniter-view-presenters.html" target="_blank"&gt;presenters&lt;/a&gt;. The idea is that you add an extra layer between the model and the view, so your view gets its data from the presenter rather than the model itself. What this does is cleans a lot of the logic out of your views and makes it easier to maintain down the line. It also means you're sticking to the &amp;quot;tell, don't ask&amp;quot; principle of telling your presenter what you want from it and letting it decide what to return rather than asking a whole bunch of questions about what it can give you.&lt;/p&gt; &lt;h2&gt;The Social&lt;/h2&gt; &lt;figure&gt; &lt;img src="http://simianstudios.com/uploads/blog/ciconf_beer.jpg" width="298" height="367" class="blog_image" /&gt; &lt;figcaption&gt;&lt;a href="http://www.sxc.hu/photo/642599" target="_blank"&gt;Just Beer&lt;/a&gt; by Jayesh Nair&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;As with any conference there was a healthy social scene as well as the &amp;quot;work&amp;quot; part. I missed the organised evening activities sadly but I managed to get a good bit of pub time in and hang out with people like &lt;a href="http://twitter.com/adam_griffiths" target="_blank"&gt;Adam&lt;/a&gt;, &lt;a href="http://twitter.com/jamierumbelow" target="_blank"&gt;Jamie&lt;/a&gt;, &lt;a href="http://twitter.com/kestrelid" target="_blank"&gt;Ian&lt;/a&gt; and &lt;a href="http://twitter.com/flavrandy" target="_blank"&gt;Andy&lt;/a&gt; which was great fun. &lt;/p&gt; &lt;p&gt;One thing that was nice was that we were already in central London so we could see a few sights in between pubs and restaurants - on the Saturday lunchtime I even managed to have a quick wander around an &lt;a href="http://www.wellcomecollection.org/" target="_blank"&gt;art exhibition&lt;/a&gt;!&lt;/p&gt; &lt;p&gt;Next time I'll have to make sure my calendar is clear and go the whole hog with the social, from the stories I heard the people who went out on the town had a whale of a time!&lt;/p&gt; &lt;h2&gt;Overall&lt;/h2&gt; &lt;p&gt;In my books CICONF 2012 was a very enjoyable experience - I managed to learn a lot and have a good time too. I would have preferred it to be in the week rather than on a weekend as I need to give my brain a bit of downtime but it wasn't as strenuous as a working day so it wasn't really a hardship.&lt;/p&gt; &lt;p&gt;I'm looking forward to seeing what Phil and co. can come up with for CICONF 2013!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=mFvGXSyOu0M:jdoMf9n5wZU:uTGHRRPoPS0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=uTGHRRPoPS0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=mFvGXSyOu0M:jdoMf9n5wZU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=mFvGXSyOu0M:jdoMf9n5wZU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=mFvGXSyOu0M:jdoMf9n5wZU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=mFvGXSyOu0M:jdoMf9n5wZU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=mFvGXSyOu0M:jdoMf9n5wZU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
			<pubDate>Wed, 07 Mar 2012 11:19:22 +0000</pubDate>
		<feedburner:origLink>http://simianstudios.com/blog/post/codeigniter-conference-2012</feedburner:origLink></item>

		<item>
			<title>12412 January - Responsive Web Design</title>
			<link>http://feedproxy.google.com/~r/simianstudios/~3/hf2gjMrijQ8/12412-january-responsive-web-design</link>
			<guid isPermaLink="false">http://simianstudios.com/blog/post/12412-january-responsive-web-design</guid>
			<description>&lt;img src="http://simianstudios.com//uploads/blog/large_12412-january-responsive-web-design.png" id="masthead_image" class="blog_image_large" alt="" height="138" width="618" /&gt; &lt;p&gt;For me, one of the most fun things about working on the web is the fact that there's always new things to try out - be it a new technology, a new framework or just a new way of thinking about the way we work.&lt;/p&gt; &lt;p&gt;The tricky part is trying to keep up with everything - it's so easy to fall behind and then feel like you'll never catch up.&lt;/p&gt; &lt;p&gt;That's why I think the &lt;a href="http://12412.org/" target="_blank"&gt;12412&lt;/a&gt; initiative is such a great idea. Commit yourself to learning about something new each month and by the end of the year you'll have experienced a dozen things you hadn't tried before.&lt;/p&gt; &lt;p&gt;So, for January's effort I decided to finally get around to learning about perhaps the biggest talking point of the last couple of years - responsive web design.&lt;/p&gt; &lt;h2&gt;What is it?&lt;/h2&gt; &lt;figure&gt; &lt;img class="blog_image" src="http://simianstudios.com/uploads/blog/rwd_illustrated.jpg" width="298" height="212" alt="Responsive Design, Responsively Illustrated" /&gt; &lt;figcaption&gt;&lt;a href="http://www.thismanslife.co.uk/projects/lab/responsiveillustration/" target="_blank"&gt;Responsive Design, Responsively Illustrated&lt;/a&gt; by James Mellers&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;In essence, &amp;quot;responsive web design&amp;quot; is the buzzword (buzzphrase?) that encapsulates a bunch of techniques which aim to make a website &amp;quot;aware&amp;quot; of the canvas it has available to display itself on - the canvas being the user's browser window.&lt;/p&gt; &lt;p&gt;Such techniques include a fluid- rather than fixed-width grid system, media queries and the use of JavaScript to selectively load content based on the size of the viewport.&lt;/p&gt; &lt;p&gt;The concept of fluid-width designs is not a new one of course, but the advent of media queries and the huge leaps in the quality of small-screen browsers have made it easy and necessary to consider the context in which our designs are viewed.&lt;/p&gt; &lt;p&gt;For example, a fixed-width design at 960 pixels will look great on a desktop monitor or laptop, but a smartphone with a screen only 320 pixels wide will either introduce horizontal scrolling or zoom out to fit the whole page in the viewport, forcing the user to manually zoom in if they want to actually read your content.&lt;/p&gt; &lt;p&gt;A responsive website would instead display a different set of styles and perhaps even different content based on the space available to display it. If you want to see what it looks like in the wild, check out the recently-launched &lt;a href="http://www.smashingmagazine.com/" target="_blank"&gt;Smashing Magazine&lt;/a&gt; redesign by &lt;a href="http://elliotjaystocks.com/" target="_blank"&gt;Elliot Jay Stocks&lt;/a&gt; and resize your browser window - there's everything from a wee narrow layout for smartphones, right through to a super-wide layout for the big screens.&lt;/p&gt; &lt;h2&gt;How to do it?&lt;/h2&gt; &lt;p&gt;It sounds a bit daunting at first to consider that you'll be designing for so many different use cases, but really it's quite simple, providing you keep it in mind from early on in the design process. Retrofitting is certainly possible but not as easy as building responsively from the ground up.&lt;/p&gt; &lt;h3&gt;First steps&lt;/h3&gt; &lt;img class="blog_image" src="http://simianstudios.com/uploads/blog/rwd_grid.png" width="298" height="298" alt="Grid layout" /&gt; &lt;p&gt;As with any design, the bedrock is a solid grid system. Rather than using pixels though, we use percentages to allow our design to grow and shrink with the browser window.&lt;/p&gt; &lt;p&gt;Once you've got your grid layout built, you'll probably find that there are certain points where the design stops working quite so nicely. Perhaps on narrower screens your lovely horizontal navigation drops down onto two lines, or maybe on a wider screen your paragraphs get too wide and become hard to read.&lt;/p&gt; &lt;p&gt;These are your design's breakpoints and this is where media queries come in. If you determine that the minimum width your navigation can be displayed nicely at is 600 pixels, then you would set a media query to alter the styles at anything below 600 pixels, like this:&lt;/p&gt; &lt;pre class="prettyprint"&gt;@media screen and (max-width: 599px) { /* styles for screens &lt; 600px wide here */ }&lt;/pre&gt; &lt;h3&gt;Delving deeper&lt;/h3&gt; &lt;figure&gt; &lt;img class="blog_image" src="http://simianstudios.com/uploads/blog/rwd_fitvids.jpg" width="298" height="397" alt="FitVids.js" /&gt; &lt;figcaption&gt;&lt;a href="http://fitvidsjs.com" target="_blank"&gt;FitVids.js&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;Once you've done that and fixed the main breakpoints in the design itself it's time to consider the content.&lt;/p&gt; &lt;p&gt;As the design gets narrower you might want to change the font sizes, leading and perhaps margins and padding on your content to make it easier to read on smaller screens.&lt;/p&gt; &lt;p&gt;For richer media such as images or videos there are a few things we can do. Setting a max-width of 100% on an image will make it resize so that it never escapes the boundaries of it's containing element. Thankfully, browsers are intelligent enough these days to resize an image proportionally rather than stretching and squashing our beautiful photos and illustrations.&lt;/p&gt; &lt;p&gt;Videos are a bit more tricky, as the iframes used by the big video-sharing sites for their embed codes don't respond in the same way as images or even the HTML5 video element. Luckily for us, &lt;a href="http://twitter.com/chriscoyier" target="_blank"&gt;Chris Coyier&lt;/a&gt; and the clever guys at &lt;a href="http://paravelinc.com/" target="_blank"&gt;Paravel&lt;/a&gt; have come up with &lt;a href="http://fitvidsjs.com/" target="_blank"&gt;FitVids.js&lt;/a&gt;, a jQuery plugin that takes your videos and makes them properly responsive with a single line of JavaScript.&lt;/p&gt; &lt;p&gt;As responsive web design begins to mature, I'm sure we will see the niggly problems such as videos being squashed but in the meantime we can just do what we have always done and design defensively, making sure our content is still usable if not beautiful when we hit those breakpoints.&lt;/p&gt; &lt;h2&gt;It's that easy?&lt;/h2&gt; &lt;p&gt;Well, yes and no. The basics of responsive design are fairly straightforward and shouldn't be hard to get to grips with. Anyone who's designed with a fluid or elastic layout before will be familiar with some of the issues faced, and adding media queries for breakpoints is straightforward.&lt;/p&gt; &lt;p&gt;What can get tricky is when you have a relatively complex design that needs to be converted from flat comps to proper HTML/CSS goodness. One way around this problem could be to design in the browser, gradually layering up the design until it looks great but with the responsiveness baked in from the very beginning. Then again, it may just be that we need to design with the fact that the layout needs to be malleable always in the back of our mind.&lt;/p&gt; &lt;p&gt;Sure, responsive design gives us a lot of challenges, but it also helps us to serve users better so I think the challenges are worth overcoming. No doubt there will be browser improvements, JavaScript fixes and innovations in CSS that will smooth the path and make it easier for designers to dabble with responsive design.&lt;/p&gt; &lt;h2&gt;How can I learn more?&lt;/h2&gt; &lt;img class="blog_image" src="http://simianstudios.com/uploads/blog/rwd_book.jpg" width="298" height="298" alt="Responsive Web Design by Ethan Marcotte" /&gt; &lt;p&gt;I can't not mention &amp;quot;the book&amp;quot; on responsive design, the aptly-named &amp;quot;&lt;a href="http://www.abookapart.com/products/responsive-web-design" target="_blank"&gt;Responsive Web Design&lt;/a&gt;&amp;quot; By &lt;a href="http://twitter.com/beep" target="_blank"&gt;Ethan Marcotte&lt;/a&gt;. It's very well written and Ethan's enthusiasm for responsive design really shines through and makes you want to get involved. &lt;p&gt;As well as the book, there are or course thousands of articles online. &lt;a href="http://www.netmagazine.com/search?term=responsive&amp;sort=relevance&amp;ct;=" target="_blank"&gt;.net has a bunch&lt;/a&gt;, &lt;a href="http://www.smashingmagazine.com/" target="_blank"&gt;Smashing Magazine&lt;/a&gt; has a few and you'll also see a few on sites like &lt;a href="http://24ways.org/" target="_blank"&gt;24ways&lt;/a&gt;. Of course, you could always do a Twitter search for the &lt;a href="https://twitter.com/#!/search/#rwd" target="_blank"&gt;#RWD&lt;/a&gt; hashtag too.&lt;/p&gt; &lt;h2&gt;Start now!&lt;/h2&gt; &lt;p&gt;One thing that I like about responsive design is that you can start right away. Even on an existing fixed-width design, and even if it's just a single breakpoint so that it's easier for people to read your stuff on a mobile device. I know that's not really the idea but if it benefits the user then some responsiveness is better than none in my books. &lt;/p&gt; &lt;p&gt;I'm currently working on just that for this site - it's readable enough on a tablet but on a mobile screen it's a bit small, so keep your eyes peeled for a new &amp;quot;mobile version&amp;quot; soon!&lt;/p&gt; &lt;h2&gt;Conclusions&lt;/h2&gt; &lt;p&gt;Overall I think this was a great start to 12412 for me - it's something that will influence my design work from now on so a good thing to make acquaintance with early on. &lt;/p&gt; &lt;p&gt;Writing this up has made me wonder why I haven't gotten to grips with responsive web design sooner - perhaps I was just afraid that it would be too complicated but in honesty the only problem it's causing me now is that I want to responsive-ize everything I've ever worked on. That's partly why I'm posting this at the end of February - I've been having so much fun experimenting I've not gotten around to writing it up!&lt;/p&gt; &lt;p&gt;&lt;em&gt;I'd love to know your thoughts on responsive design - what were your first experiences with it? What have you discovered that wasn't immediately apparent from reading books or blog posts? Have I totally missed the point with my &amp;quot;single breakpoint&amp;quot; idea? Let me know in the comments!&lt;/em&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=hf2gjMrijQ8:x7w-xjHo3m4:uTGHRRPoPS0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=uTGHRRPoPS0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=hf2gjMrijQ8:x7w-xjHo3m4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=hf2gjMrijQ8:x7w-xjHo3m4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=hf2gjMrijQ8:x7w-xjHo3m4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=hf2gjMrijQ8:x7w-xjHo3m4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=hf2gjMrijQ8:x7w-xjHo3m4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
			<pubDate>Fri, 24 Feb 2012 07:27:58 +0000</pubDate>
		<feedburner:origLink>http://simianstudios.com/blog/post/12412-january-responsive-web-design</feedburner:origLink></item>

		<item>
			<title>New Adventures In Web Design 2012</title>
			<link>http://feedproxy.google.com/~r/simianstudios/~3/cni6cmHgbmQ/new-adventures-in-web-design-2012</link>
			<guid isPermaLink="false">http://simianstudios.com/blog/post/new-adventures-in-web-design-2012</guid>
			<description>&lt;img src="http://simianstudios.com//uploads/blog/large_new-adventures-in-web-design-2012.jpg" id="masthead_image" class="blog_image_large" alt="" height="138" width="618" /&gt; &lt;p&gt;Following on from the successful first event - &lt;a href="http://simianstudios.com/blog/post/on-losing-my-conference-virginity"&gt;my first ever web conference&lt;/a&gt; - in 2011, &lt;a href="http://newadventuresconf.com/" target="_blank"&gt;New Adventures&lt;/a&gt; made an equally successful return with their 2012 installment last week.&lt;/p&gt; &lt;p&gt;The first event set some very high standards in terms of the quality of the talks and the general attendee experience so I was eager to see what &lt;a href="http://twitter.com/colly" target="_blank"&gt;Simon&lt;/a&gt;, &lt;a href="http://twitter.com/gregwood" target="_blank"&gt;Greg&lt;/a&gt; and the team would manage to pull off this year. &lt;/p&gt; &lt;h2&gt;Anticipation&lt;/h2&gt; &lt;img src="http://simianstudios.com/uploads/blog/na2012swag.jpg" width="298" height="298" alt="Swag" class="blog_image" /&gt; &lt;p&gt;After what seemed an eternity of waiting and tweeting about how much we were all looking forward to it, including almost double-booking my hotel room because I forgot I booked it way back when I got my ticket, the event was finally upon us.&lt;/p&gt; &lt;p&gt;Like the first event, the conference-eve social was ably handled by the Erskine Design team in the form of &lt;a href="http://bowling.erskinesocials.com/" target="_blank"&gt;Erskine Bowling&lt;/a&gt;. I missed out on actually being in a team again but there was plenty of opportunity to meet, chat and catch up, as well as the excellent idea of being able to pre-register for the conference itself which certainly made things easier in the morning.&lt;/p&gt; &lt;h2&gt;The day&lt;/h2&gt; &lt;p&gt;Having braved the infamous Holiday Inn Express breakfast, we made the short trip over to the Albert Hall to be greeted by a crack squad of volunteers who quickly shepherded us through into the lobby for an extra hit of caffeine and the chance to have a quick mingle. I must give praise to the Albert Hall staff for their efficiency and politeness at this point - it's a small thing but it all adds to the overall experience of the day for me.&lt;/p&gt; &lt;p&gt;Once we were all settled Simon kicked things off with a quick introduction before handing over to the first speaker...&lt;/p&gt; &lt;h3&gt;Dan Mall&lt;/h3&gt; &lt;img src="http://simianstudios.com/uploads/blog/na2012dan.jpg" width="298" height="198" alt="StarWars.com" class="blog_image" /&gt; &lt;p&gt;&lt;a href="http://twitter.com/danielmall" target="_blank"&gt;Dan&lt;/a&gt;'s talk was one of the ones I was most looking forward to, having admired his work for some time. I mean, the guy redesigned the &lt;a href="http://starwars.com/" target="_blank"&gt;Star Wars website&lt;/a&gt; - you don't get much more geek kudos than that!&lt;/p&gt; &lt;p&gt;Dan's talk was titled &amp;quot;&lt;a href="http://lanyrd.com/2012/naconf/smxrw/" target="_blank"&gt;Design-ish&lt;/a&gt;&amp;quot; and explained some of the design-related lessons Dan has learned from working with clients like LucasFilm and Crayola. What I thought was really great was that Dan gave us a behind-the-scenes look at his working processes, discussing things that worked well and things that didn't work so well in equal measure.&lt;/p&gt; &lt;p&gt;A good example of this is when he spent hours trying to come up with some kind of way to map the relationships between Star Wars characters, only to be blown away by the knowledge that his contact at LucasFilm had amassed off his own back. The lesson there was that we should get to know our clients as well as possible, because their knowledge of their domain will always trump what we can come up with through an algorithm.&lt;/p&gt; &lt;p&gt;I got to chat with Dan in the evening and he said he was really nervous about giving that talk for obvious reasons - standing in front of 600 of your peers and telling them your failures is the stuff of nightmares for a lot of people! But I'm really glad he did it because the lessons learned are incredibly valuable and for most of us having access to that kind of knowledge without the pain of learning the hard way is rare indeed.&lt;/p&gt; &lt;h3&gt;Naomi Atkinson&lt;/h3&gt; &lt;figure&gt; &lt;img src="http://simianstudios.com/uploads/blog/na2012naomi.jpg" width="298" height="198" alt="Hollywood" class="blog_image" /&gt; &lt;figcaption&gt;&lt;a href="http://en.wikipedia.org/wiki/File:Aerial_Hollywood_Sign.jpg" target="_blank"&gt;Photo by Jelson25&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;Next up was &lt;a href="http://twitter.com/naomisusi" target="_blank"&gt;Naomi&lt;/a&gt;, who essentially gave a &lt;a href="http://lanyrd.com/2012/naconf/smxrx/" target="_blank"&gt;masterclass in self-branding&lt;/a&gt; for web folk, as well as a call-to-arms for the web community as a whole to look at what we can do to make the world a better place.&lt;/p&gt; &lt;p&gt;The branding masterclass part was done by looking at various celebrities - not my favourite group of people in the world but Naomi rightly pointed out that they are all masters of self-branding. The first example was Puff Daddy / P Diddy (etc.) - I think he could rename himself anything he wanted and people would get on board with it, no matter how ridiculous. The takeaway from this is not to be afraid to rebrand where needed, but also not to be afraid to build upon an existing brand.&lt;/p&gt; &lt;p&gt;Jordan was next under the microscope - surprisingly we can all learn something from her and that is to not be afraid of self-promotion. Jordan is probably the best example of this with the seemingly endless variety of ways she manages to get herself noticed. I don't think I'll be launching my own magazine anytime soon but the concept of deciding how you want to be noticed and who by is very powerful indeed.&lt;/p&gt; &lt;p&gt;Finally Naomi set her sights on everyone's favourite mockney, Jamie Oliver. Jamie is probably best known for his work on projects like &lt;a href="http://en.wikipedia.org/wiki/Jamie's_School_Dinners" target="_blank"&gt;Jamie's School Dinners&lt;/a&gt;, Fifteen and Ministry of Food. What links these projects is that they all benefited others and the lesson here is that we can work for the greater good at the same time as helping our own branding. Just because a project helps others, doesn't mean there's nothing in it for us. Naomi is a good person to attest to this, having done a lot of work for charitable organizations.&lt;/p&gt; &lt;p&gt;Naomi followed that up by extolling us to look for problems in the world that we can use our skills to solve. I agree that we spend a lot of time on the web trying to solve what are relatively minor problems, when there are people struggling to find clean water or food to eat. Imagine what a difference we could make if 600 people each made a small commitment to solve a &amp;quot;real&amp;quot; problem!&lt;/p&gt; &lt;h3&gt;Travis Schmeisser&lt;/h3&gt; &lt;figure&gt; &lt;img src="http://simianstudios.com/uploads/blog/na2012travis.jpg" width="298" height="198" alt="Fort" title="A fort, yesterday." class="blog_image" /&gt; &lt;figcaption&gt;&lt;a href="http://www.sxc.hu/photo/916542" target="_blank"&gt;Photo by Jose Carli&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;I must admit that I didn't know much about &lt;a href="http://twitter.com/rockthenroll" target="_blank"&gt;Travis&lt;/a&gt; before New Adventures, but the title of his talk - &amp;quot;&lt;a href="http://lanyrd.com/2012/naconf/smxry/" target="_blank"&gt;We Used to build Forts&lt;/a&gt;&amp;quot; - alone was enough to pique my interest. &lt;/p&gt; &lt;p&gt;Travis thinks that the web industry has lost some of the creative spark that it used to have, and that we need to rediscover our sense of self-expression through our work.&lt;/p&gt; &lt;p&gt;I can personally relate to this - it is all too easy to get bogged down doing the same thing over and over again and forget why we loved working on the web in the first place.&lt;/p&gt; &lt;p&gt;Travis went on to share ways in which he feels we can recapture the energy and enthusiasm of those early days, with lots of short-and-sweet snippets to take home.&lt;/p&gt; &lt;p&gt;One that really resonated with me was &amp;quot;loosen up&amp;quot; - I've &lt;a href="http://simianstudios.com/blog/post/worry-less-do-more" target="_blank"&gt;written in a similar vein&lt;/a&gt; before but Travis is simply saying that not every piece of work is going to be a masterpiece. Another was &amp;quot;make for the sake of it&amp;quot; - things like &lt;a href="http://www.homestarrunner.com/yearbooksb.html" target="_blank"&gt;Strong Bad&lt;/a&gt; never really served a purpose other than being entertaining, so why not do something creative just for the fun of it? It doesn't even matter if other people ever see it, just making something is enough to get your creativity flowing.&lt;/p&gt; &lt;h3&gt;Robbie Manson&lt;/h3&gt; &lt;figure&gt; &lt;img src="http://simianstudios.com/uploads/blog/na2012robbie.jpg" width="298" height="198" alt="Buddha" class="blog_image" /&gt; &lt;figcaption&gt;&lt;a href="http://www.sxc.hu/photo/1366524" target="_blank"&gt;Photo by Carsten Schlipf&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;&lt;a href="http://twitter.com/rougebert" target="_blank"&gt;Robbie&lt;/a&gt;'s talk was titled &amp;quot;&lt;a href="http://lanyrd.com/2012/naconf/smxrz/" target="_blank"&gt;The Mindful Designer&lt;/a&gt;&amp;quot;. For Buddhists, mindfulness is very important on the path to enlightenment and Robbie's talk showed that to be true for designers too.&lt;/p&gt; &lt;p&gt;The idea is that just by being mindful of our design processes, we can produce better work. &lt;/p&gt; &lt;p&gt;For example, if working in a team, the earlier we open up to our team members, the earlier we get to benefit from their experiences. Or by getting away from the screen and experiencing &amp;quot;positive disruption&amp;quot; we can change the way we think about our work.&lt;/p&gt; &lt;p&gt;Robbie used lots of great examples to illustrate his points and to be honest I'm finding it hard to do his talk justice so my recommendation is to take the time to &lt;a href="http://vimeo.com/35720464" target="_blank"&gt;watch the video&lt;/a&gt; - it's well worth it!&lt;/p&gt; &lt;h3&gt;Trent Walton&lt;/h3&gt; &lt;figure&gt; &lt;img src="http://simianstudios.com/uploads/blog/na2012trent.jpg" width="298" height="198" alt="Broken glass" class="blog_image" /&gt; &lt;figcaption&gt;&lt;a href="http://www.sxc.hu/photo/1191524" target="_blank"&gt;Photo by David Ritter&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;&lt;a href="http://twitter.com/trentwalton" target="_blank"&gt;Trent&lt;/a&gt; is another of my design heroes so I was particularly excited to see his talk and it didn't disappoint.&lt;/p&gt; &lt;p&gt;Trent's talk was titled &amp;quot;&lt;a href="http://lanyrd.com/2012/naconf/smxtb/" target="_blank"&gt;Break Everything&lt;/a&gt;&amp;quot; and centred on the value of breaking the rules for the sake of progress. By breaking the rules we can discover what is possible, then we can develop our understanding of it, and then we can improve it.&lt;/p&gt; &lt;p&gt;Essentially by breaking the rules we're pushing things forward, so we should seek out new and exciting ways to do so.&lt;/p&gt; &lt;p&gt;Developing understanding may not always be a walk in the park but it's necessary. However the fun we can have while breaking the rules in the first place more than balances it out.&lt;/p&gt; &lt;p&gt;I thought Trent's talk was an excellent complement to Travis' - if you're going to create something for the sake of it, why not break the rules at the same time and see if you can come up with something really groundbreaking?&lt;/p&gt; &lt;h3&gt;Cameron Koczon&lt;/h3&gt; &lt;figure&gt; &lt;img src="http://simianstudios.com/uploads/blog/na2012cameron.jpg" width="298" height="198" alt="Electric fence" class="blog_image" /&gt; &lt;figcaption&gt;&lt;a href="http://www.sxc.hu/photo/866114" target="_blank"&gt;Photo by Lars Sundstrom&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;&lt;a href="http://twitter.com/fictivecameron" target="_blank"&gt;Cameron&lt;/a&gt;, perhaps better known as Fictive Cameron, named his talk &amp;quot;&lt;a href="http://lanyrd.com/2012/naconf/smxtc/" target="_blank"&gt;The Potential Impact of Design&lt;/a&gt;&amp;quot;.&lt;/p&gt; &lt;p&gt;The impact of design can be broken down into three separate but related segments: elicit emotion, induce action and effect change.&lt;/p&gt; &lt;p&gt;The idea of &lt;a href="http://www.abookapart.com/products/designing-for-emotion" target="_blank"&gt;designing to create emotion&lt;/a&gt; has had a lot of attention lately - the idea being that if you can create an emotion in your audience, they are more likely to act - for example by signing up to your service, or donating to your charity. If you get enough people to act, you can actually effect real change in the world.&lt;/p&gt; &lt;p&gt;The main focus of Cameron's talk was how we as designers can use that idea to either find something to fix and create a startup to fix it, or join an existing startup and use the power of design to help them fix their problem.&lt;/p&gt; &lt;p&gt;A good piece of take-home advice was that a lot of people are afraid to do this kind of thing because they're afraid that they know nothing about business and are worries about competition. Cameron used an anecdote that most electric fences are actually switched off most of the time - the cattle learn that the fence is electrified and know not to go near it again. Once the cows have learned this behaviour, the fence works just as well when switched off. Cameron explained that the two fences of experience and competition also have no current, and that if we take the risk we will find that neither of those obstacles is insurmountable.&lt;/p&gt; &lt;h3&gt;Denise Jacobs &lt;/h3&gt; &lt;figure&gt; &lt;img src="http://simianstudios.com/uploads/blog/na2012denise.jpg" width="298" height="198" alt="Cubicles" class="blog_image" /&gt; &lt;figcaption&gt;&lt;a href="http://www.sxc.hu/photo/455596" target="_blank"&gt;Photo by Arjun Kartha&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;Next up was &lt;a href="http://twitter.com/denisejacobs" target="_blank"&gt;Denise&lt;/a&gt;, whose talk was totally different to any other talk I've ever seen at a conference.&lt;/p&gt; &lt;p&gt;Titled &amp;quot;&lt;a href="http://lanyrd.com/2012/naconf/smxtd/" target="_blank"&gt;Your Brain on Creativity&lt;/a&gt;&amp;quot;, Denise part-narrated, part-acted a story involving a disembodied brain trapped in office-cubicle hell and a mysterious man who shows up and liberates the brain from its bindings and shows it how to be creative again.&lt;/p&gt; &lt;p&gt;The main take-home from Denise's talk for me was that you can't force creativity. Ever had a great idea in the shower? That's because when our brains are relaxed, they're more likely to be creative. Techniques like just taking a few deep breaths or laughing at something are enough switch that &amp;quot;creative brain&amp;quot; on and get the ideas flowing.&lt;/p&gt; &lt;p&gt;Denise also noted that fear suppresses creativity - if we're worries about getting things wrong, we're not going to create anything. This resonates with me personally due to my attempts to &lt;a href="http://simianstudios.com/blog/post/worry-less-do-more"&gt;worry less and do more&lt;/a&gt; and it's nice to know I'm on the right track.&lt;/p&gt; &lt;p&gt;It was definitely a memorable talk, personally I found that the story element made the salient points stick in my head much better than a &amp;quot;normal&amp;quot; talk - kind of like the old &lt;a href="http://en.wikipedia.org/wiki/Method_of_loci" target="_blank"&gt;&amp;quot;memory palace&amp;quot; trick&lt;/a&gt; that mentalists have used for centuries to perform astonishing feats of memory.&lt;/p&gt; &lt;h3&gt;Frank Chimero&lt;/h3&gt; &lt;figure&gt; &lt;img src="http://simianstudios.com/uploads/blog/na2012frank.jpg" width="298" height="198" alt="" class="blog_image" /&gt; &lt;figcaption&gt;&lt;a href="http://blog.frankchimero.com/post/1059696119" target="_blank"&gt;Photo by Frank Chimero&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;Finishing off the day was &lt;a href="http://twitter.com/fchimero" target="_blank"&gt;Frank&lt;/a&gt;, who first came to my attention with his project &lt;a href="http://www.kickstarter.com/projects/30453381/the-shape-of-design" target="_blank"&gt;The Shape of Design&lt;/a&gt; - a Kickstarter-funded book on the &amp;quot;why&amp;quot; of design rather than the &amp;quot;how&amp;quot;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lanyrd.com/2012/naconf/smxtf/" target="_blank"&gt;Frank's talk&lt;/a&gt; was perhaps the most philosophical of the day, with plenty of great soundbites on the role of design and our role as designers in the world we inhabit.&lt;/p&gt; &lt;p&gt;For example: the tiny pony. A tiny pony is an incredible thing that we take for granted. The phrase itself stems from &lt;a href="http://blog.frankchimero.com/post/1059696119" target="_blank"&gt;the time Frank saw a tiny pony in the Apple Store&lt;/a&gt; and everyone else just acted like they couldn't see it. It's always useful to be mindful of the tiny ponies in our world - for example the fact that you're reading this article at all. To reach you it's been converted into a digital format, split into lots of tiny pieces, whizzed down some long, thin pieces of metal and glass (perhaps halfway around the world!), been reconstituted into the single document and displayed on your screen.&lt;/p&gt; &lt;p&gt;Frank's talk ended with a really powerful quote - &amp;quot;The world is not yet done. Lucky us&amp;quot; - while we are shaped by the world, we can also shape the world. What a great way to end an inspiring day!&lt;/p&gt; &lt;h2&gt;Winding down&lt;/h2&gt; &lt;figure&gt; &lt;img src="http://simianstudios.com/uploads/blog/na2012afterparty.jpg" width="298" height="198" alt="Jäger bombs" class="blog_image" /&gt; &lt;figcaption&gt;&lt;a href="http://www.flickr.com/photos/tobiwei/6378722247/" target="_blank"&gt;Photo by tobiwei&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;As before, the afterparty for the event was at the Escucha club and as before a generous bar tab helped get the conversations flowing, not that it needed much help after a day jam packed with conversation points.&lt;/p&gt; &lt;p&gt;It was great to catch up with old friends - some of whom I hadn't seen since the first New Adventures - and I managed to meet and chat with some new people too, including most of the speakers which was great - everyone's so approachable and happy to just chat, if you've never had the guts to just go up to someone you really should try it.&lt;/p&gt; &lt;h2&gt;All in all&lt;/h2&gt; &lt;p&gt;It should be obvious by now that I had a thoroughly enjoyable time in Nottingham - the New Adventures team more than lived up to their own high standards. &lt;/p&gt; &lt;p&gt;The only bad thing about New Adventures is that it has to end, and it's a bit of a downer on Monday morning to be sat catching up on emails and doing everyday stuff when you're still buzzing from the event and itching to get out there and change the world!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=cni6cmHgbmQ:-2y3jZhPcXY:uTGHRRPoPS0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=uTGHRRPoPS0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=cni6cmHgbmQ:-2y3jZhPcXY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=cni6cmHgbmQ:-2y3jZhPcXY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=cni6cmHgbmQ:-2y3jZhPcXY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=cni6cmHgbmQ:-2y3jZhPcXY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=cni6cmHgbmQ:-2y3jZhPcXY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
			<pubDate>Thu, 02 Feb 2012 09:04:48 +0000</pubDate>
		<feedburner:origLink>http://simianstudios.com/blog/post/new-adventures-in-web-design-2012</feedburner:origLink></item>

		<item>
			<title>Colour Picker Bug Workaround for Adobe Fireworks CS4 in OS X Lion</title>
			<link>http://feedproxy.google.com/~r/simianstudios/~3/_pxtc1DNHDk/colour-picker-bug-workaround-for-adobe-fireworks-cs4-in-os-x-lion</link>
			<guid isPermaLink="false">http://simianstudios.com/blog/post/colour-picker-bug-workaround-for-adobe-fireworks-cs4-in-os-x-lion</guid>
			<description>&lt;img src="http://simianstudios.com//uploads/blog/large_colour-picker-bug-workaround-for-adobe-fireworks-cs4-in-os-x-lion.jpg" id="masthead_image" class="blog_image_large" alt="" height="138" width="618" /&gt; &lt;p&gt;Last week I finally upgraded my iMac from Snow Leopard to Lion. I'd heard some stories of incompatibility with certain software but the only thing I could see that would really affect me is the famous &lt;a href="http://kb2.adobe.com/cps/905/cpsid_90508.html" target="_blank"&gt;Fireworks Colour Picker bug&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Basically, if you're using Fireworks CS4 in Lion, the default colour picker is just plain broken. You can choose colours from the defaults provided but if you wanted to select a colour from the document itself you're &lt;a href="http://www.urbandictionary.com/define.php?term=S.O.L." target="_blank"&gt;S.O.L.&lt;/a&gt;. It doesn't seem like Adobe is in much of a rush to fix it either - after all, they'd far rather you shell out for an upgrade than actually bother to do something tedious like support users who paid a pretty penny for the then-but-no-longer latest version of their product. Nice, huh? &amp;lt;/rant&amp;gt;&lt;/p&gt; &lt;h2&gt;The workaround&lt;/h2&gt; &lt;p&gt;Fortunately, there is a way to carry on using CS4 without having to upgrade or install any extra software. Yes, it takes a few extra clicks, but once you get into the habit it only takes a second or two.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Click the coloured tile as usual to bring up the default colour picker panel: &lt;img class="blog_image_large example" alt="Bringing up the default colour picker" src="http://simianstudios.com/uploads/blog/colour_picker_1.jpg" width="618" height="92" /&gt;&lt;/li&gt; &lt;li&gt;Click the little coloured wheel at the top right to bring up the Apple colour picker: &lt;img class="blog_image_large example" alt="Bringing up the Apple colour picker" src="http://simianstudios.com/uploads/blog/colour_picker_2.jpg" width="618" height="60" /&gt;&lt;/li&gt; &lt;li&gt;Click the little magnifying glass at the top left: &lt;img class="blog_image_large example" alt="Click the magnifying glass" src="http://simianstudios.com/uploads/blog/colour_picker_4.jpg" width="618" height="118" /&gt;&lt;/li&gt; &lt;li&gt;Click anywhere on the screen to sample the colour: &lt;img class="blog_image_large example" alt="Sampling a colour with the magnifying glass" src="http://simianstudios.com/uploads/blog/colour_picker_5.jpg" width="618" height="127" /&gt;&lt;/li&gt; &lt;li&gt;See that the coloured tile to the right of the magnifying glass has changed to the selected colour and click &amp;quot;OK&amp;quot;&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;That's it! You just saved yourself &amp;pound;146.37, my friend! Feels good, doesn't it? &lt;/p&gt; &lt;p&gt;This workaround also has the added benefit of making it easier to precisely select the colour you want, so it's a double-win.&lt;/p&gt; &lt;h2&gt;Or&amp;hellip;&lt;/h2&gt; &lt;p&gt;As pointed out in the comments by Chris and Scott (thanks guys!), there is another method you can use which is the eyedropper in the &amp;quot;Colors&amp;quot; section of the main Tools panel. &lt;/p&gt; &lt;p&gt;All you need to do is click the pencil icon if you want to change the line, or the bucket if you want to change the fill: &lt;img class="blog_image_large example" alt="Selecting a target for the eyedropper" src="http://simianstudios.com/uploads/blog/colour_picker_alt_1.jpg" width="618" height="118" /&gt;&lt;/p&gt; &lt;p&gt;Then click the eyedropper just above: &lt;img class="blog_image_large example" alt="Selecting the eyedropper tool" src="http://simianstudios.com/uploads/blog/colour_picker_alt_2.jpg" width="618" height="118" /&gt;&lt;/p&gt; &lt;p&gt;Then click your colour.&lt;/p&gt; &lt;p&gt;It won't work for everything like the technique above, for example the canvas colour or the colours used in a filter, but for just changing basic fill or line colours you might find it a bit easier.&lt;/p&gt; &lt;p&gt;Please let me know if you found this tip useful, and definitely let me know if it helped you save some money - I'll send my guys round to collect soon ;)&lt;/p&gt; &lt;p class="note"&gt;Main image: &lt;a href="http://www.sxc.hu/photo/1372076" target="_blank"&gt;Colours 4&lt;/a&gt; by Billy Alexander&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=_pxtc1DNHDk:QAurknCBHOg:uTGHRRPoPS0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=uTGHRRPoPS0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=_pxtc1DNHDk:QAurknCBHOg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=_pxtc1DNHDk:QAurknCBHOg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=_pxtc1DNHDk:QAurknCBHOg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=_pxtc1DNHDk:QAurknCBHOg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=_pxtc1DNHDk:QAurknCBHOg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
			<pubDate>Mon, 16 Jan 2012 09:27:31 +0000</pubDate>
		<feedburner:origLink>http://simianstudios.com/blog/post/colour-picker-bug-workaround-for-adobe-fireworks-cs4-in-os-x-lion</feedburner:origLink></item>

		<item>
			<title>Smile CSV Scraper for FreeAgent and Xero</title>
			<link>http://feedproxy.google.com/~r/simianstudios/~3/rZI4bUDHBxw/smile-csv-scraper-for-freeagent-and-xero</link>
			<guid isPermaLink="false">http://simianstudios.com/blog/post/smile-csv-scraper-for-freeagent-and-xero</guid>
			<description>&lt;img src="http://simianstudios.com//uploads/blog/large_smile-csv-scraper-for-freeagent-and-xero.jpg" id="masthead_image" class="blog_image_large" alt="" height="138" width="618" /&gt; &lt;p&gt;Are you happy with your bank? I am. I use &lt;a href="http://smile.co.uk" target="_blank"&gt;Smile&lt;/a&gt; and they're &lt;a href="http://en.wikipedia.org/wiki/Nines_%28engineering%29" target="_blank"&gt;five-nines&lt;/a&gt; awesome - I heartily recommend them to anyone who banks in the UK. The real killer feature - their &lt;a href="http://www.smile.co.uk/servlet/Satellite?pagename=Smile/Page/smView&amp;c=Page&amp;cid=1021293339747" target="_blank"&gt;ethical policy&lt;/a&gt; as part of the &lt;a href="http://www.co-operativebank.co.uk" target="_blank"&gt;Co-operative Bank&lt;/a&gt; - something all commercial banks should have in my opinion.&lt;/p&gt; &lt;p&gt;One thing they don't do though, is allow you to export your statements in any kind of format - which is kind of a pain for users of services like &lt;a href="http://www.freeagent.com/" target="_blank"&gt;FreeAgent&lt;/a&gt; or &lt;a href="http://www.xero.com/" target="_blank"&gt;Xero&lt;/a&gt; as it makes it hard to reconcile your banking transactions. I resorted to copy-pasting the data from the table and reworking the CSV by hand - a bit of a drag to say the least.&lt;/p&gt; &lt;h2&gt;No more!&lt;/h2&gt; &lt;p&gt;That continued until last week, when I saw a &lt;a href="https://twitter.com/#!/stompfrog/status/155010270232711169" target="_blank"&gt;tweet&lt;/a&gt; about &lt;a href="http://aralbalkan.com/3744" target="_blank"&gt;Aral Balkan's CSV scraper&lt;/a&gt; for his HSBC statements - a similar problem, which made me wonder if the code could be converted to work on the Smile statements.&lt;/p&gt; &lt;p&gt;Luckily, Aral is generous enough to share his scraper code under a Creative Commons license, so I got to work and came up with this:&lt;/p&gt; &lt;h2&gt;The bookmarklet&lt;/h2&gt; &lt;p&gt;&lt;a href="javascript:function%20loadScript(scriptURL)%20{%20var%20scriptElem%20=%20document.createElement('script');%20scriptElem.setAttribute('language',%20'JavaScript');%20scriptElem.setAttribute('src',%20scriptURL);%20document.body.appendChild(scriptElem);}%20loadScript('http://static.simianstudios.com/savestatement.js');"&gt;Smile Prepare CSV&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Drag the above link into your bookmarks toolbar to create a shiny new bookmarklet: &lt;img src="http://simianstudios.com/uploads/blog/smile_bookmarklet.jpg" alt="Example showing where to drag the bookmarklet" width="618" height="58" class="blog_image_large" /&gt;&lt;/p&gt; &lt;h2&gt;How to use it&lt;/h2&gt; &lt;p&gt;My script works in exactly the same way as Aral's:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Sign in to your Smile account and navigate to a statement&lt;/li&gt; &lt;li&gt;Click the &amp;quot;Smile Prepare CSV&amp;quot; bookmarklet&lt;/li&gt; &lt;li&gt;Click the little &amp;quot;copy to clipboard&amp;quot; icon that appears in the row of buttons above the statement: &lt;img src="http://simianstudios.com/uploads/blog/smile_copy_button.jpg" alt="Example showing the button to copy the CSV to the clipboard" width="618" height="47" class="blog_image_large" /&gt;&lt;/li&gt; &lt;li&gt;Paste the generated CSV into a plain-text editor&lt;/li&gt; &lt;li&gt;Save the file with a .csv file extension&lt;/li&gt; &lt;li&gt;Upload the saved file to FreeAgent or Xero&lt;/li&gt; &lt;/ol&gt; &lt;h2&gt;More info&lt;/h2&gt; &lt;p&gt;The CSV generated is in the &lt;a href="http://www.freeagent.com/support/kb/banking/file-format-for-bank-upload-csv" target="_blank"&gt;format described by FreeAgent&lt;/a&gt; on their help pages. I'm reliably informed that it will also work with Xero, but you will need to &lt;a href="http://help.xero.com/#BankAccounts_Details_ImportTransCSV" target="_blank"&gt;teach Xero what each field in the CSV means&lt;/a&gt; the first time you upload.&lt;/p&gt; &lt;p&gt;You can &lt;a href="http://static.simianstudios.com/savestatement.js" target="_blank"&gt;view the source&lt;/a&gt; if you want to see what's going on, my comments aren't as entertaining as Aral's I'm afraid but it should be easy enough to see how it works. The first part of the file is just includes, the real code starts at line 323.&lt;/p&gt; &lt;h2&gt;Credits &amp;amp; licensing&lt;/h2&gt; &lt;p&gt;Really all I've done here is take Aral's work and make a few tweaks, so huge kudos to him for not only coming up with the idea but also being cool enough to share the fruits of his labour under a permissive license.&lt;/p&gt; &lt;p&gt;As such, this code is released under the same license as Aral's - the &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc/2.0/uk/" target="_blank"&gt;Creative Commons Attribution-Noncommercial 2.0 UK: England License&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Thanks also to the authors of the components that do most of the heavy lifting, they are:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://jquery.org" target="_blank"&gt;jQuery&lt;/a&gt; by John Resig&lt;/li&gt; &lt;li&gt;&lt;a href="https://github.com/mojombo/clippy" target="_blank"&gt;Clippy&lt;/a&gt; by Tom Preston-Werner&lt;/li&gt; &lt;li&gt;&lt;a href="http://flowplayer.org/tools/toolbox/flashembed.html" target="_blank"&gt;jQuery Flashembed&lt;/a&gt; by Brad Robertson&lt;/li&gt; &lt;/ul&gt; &lt;p class="note"&gt;Main image credit: &lt;a href="http://www.sxc.hu/photo/1128097" target="_blank"&gt;"20 Pounds" by Stephen Davies&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=rZI4bUDHBxw:paRheEQkrkw:uTGHRRPoPS0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=uTGHRRPoPS0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=rZI4bUDHBxw:paRheEQkrkw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=rZI4bUDHBxw:paRheEQkrkw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=rZI4bUDHBxw:paRheEQkrkw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=rZI4bUDHBxw:paRheEQkrkw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=rZI4bUDHBxw:paRheEQkrkw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
			<pubDate>Tue, 10 Jan 2012 07:17:13 +0000</pubDate>
		<feedburner:origLink>http://simianstudios.com/blog/post/smile-csv-scraper-for-freeagent-and-xero</feedburner:origLink></item>

		<item>
			<title>Looking Back, Looking Forward</title>
			<link>http://feedproxy.google.com/~r/simianstudios/~3/6BuVtiWx-Ss/looking-back-looking-forward</link>
			<guid isPermaLink="false">http://simianstudios.com/blog/post/looking-back-looking-forward</guid>
			<description>&lt;img src="http://simianstudios.com//uploads/blog/large_looking-back-looking-forward.jpg" id="masthead_image" class="blog_image_large" alt="" height="138" width="618" /&gt; &lt;p&gt;In case you somehow missed it, we're at the start of a brand new year so it's time to look back over the last twelve months and think about what we're going to do in the next batch of lunar cycles.&lt;/p&gt; &lt;p&gt;I've never really been one to go overboard on new year's resolutions - I prefer to keep them general rather than overly specific. I know, goals should be &lt;a href="http://en.wikipedia.org/wiki/SMART_criteria" target="_blank"&gt;SMART&lt;/a&gt; - but I don't think of them as goals as much as reminders of already-held personal values. So here goes.&lt;/p&gt; &lt;h2&gt;Looking back&lt;/h2&gt; &lt;img src="http://simianstudios.com/uploads/blog/2012_lookingback.jpg" alt="Looking Back" title="Pico Island by Guglielmo Losio" class="blog_image" width="278" height="176" /&gt; &lt;p&gt;Overall I feel 2011 was a great year both professionally and personally, though there is a fair amount of overlap between the two.&lt;/p&gt; &lt;p&gt;I &lt;a href="http://simianstudios.com/blog/post/on-losing-my-conference-virginity" target="_blank"&gt;attended my first conferences&lt;/a&gt;, &lt;a href="http://twitter.com/#!/simianstudios/met" target="_blank"&gt;met lots of great people&lt;/a&gt;, visited some new places and learned a lot of new stuff, plus I managed to fulfil my ambition to do some &lt;a href="http://simianstudios.com/blog/post/talk-frameworks-101" target="_blank"&gt;public speaking&lt;/a&gt; - only for ten minutes but it's a start.&lt;/p&gt; &lt;p&gt;I released &lt;a href="http://simianstudios.com/portamento/" target="_blank"&gt;my first piece of public code&lt;/a&gt; and wrote &lt;a href="http://www.12devsofxmas.co.uk/2011/12/introduction-to-vim/" target="_blank"&gt;my first article as a guest author&lt;/a&gt;, both of which have been great experiences and ones I hope to repeat.&lt;/p&gt; &lt;p&gt;I broke out of an exercise rut and took up running, managing to complete the &lt;a href="http://www.pineridgerace.co.uk/" target="_blank"&gt;Pine Ridge 10K&lt;/a&gt; and the &lt;a href="http://original.grimchallenge.co.uk/" target="_blank"&gt;Grim Challenge&lt;/a&gt; towards the end of the year.&lt;/p&gt; &lt;p&gt;One thing I started that is still ongoing (forever, most likely) is a &lt;a href="http://simianstudios.com/blog/post/worry-less-do-more" target="_blank"&gt;commitment to be more &amp;quot;authentic&amp;quot;&lt;/a&gt; in all areas of my life. This is probably the most important thing I did in 2011, as it has the potential to affect everything else that happens for the rest of my days - perhaps I'm just being dramatic but I quite like that thought.&lt;/p&gt; &lt;h2&gt;Looking forward&lt;/h2&gt; &lt;p&gt;Inspired by &lt;a href="http://mrqwest.co.uk/2012/" target="_blank"&gt;Ant's &amp;quot;2012 Challenge List&amp;quot;&lt;/a&gt;, here are my aforementioned vague resolutions for 2012, these in addition to keeping up the positives from last year:&lt;/p&gt; &lt;h3&gt;Consume less&lt;/h3&gt; &lt;p&gt;It's easy to consume content online. Blogs, Twitter, news sites and the like have practically infinite amounts of interesting content. However, most of it isn't necessary for personal or professional development. &lt;/p&gt; &lt;p&gt;So, I will aim for quality over quantity in my content consumption, which will give me time to...&lt;/p&gt; &lt;h3&gt;Share more&lt;/h3&gt; &lt;img src="http://simianstudios.com/uploads/blog/2012_sharing.jpg" alt="Sharing" title="For Us 2 by Spiz" class="blog_image" width="278" height="185" /&gt; &lt;p&gt;I've been blogging for about 18 months now but haven't managed to keep up any consistent level of output. Towards the end of last year I started to remedy that and in 2012 I aim to share more often - be it my own original work or things I find that interest me. &lt;/p&gt; &lt;p&gt;To this end, I'll be reworking my blog slightly into a more tumblelog-style affair to make it as easy as possible for me to share stuff. I'll also aim to share more away from my own site and Twitter account, be it speaking in real life or writing elsewhere.&lt;/p&gt; &lt;h3&gt;Read more&lt;/h3&gt; &lt;p&gt;I'm talking about books here - the tangible variety preferably but eBooks will do just fine too. I have a slight addiction to web design and development books - if I see a new book out and it's related to what I do, I've gotta have it. &lt;/p&gt; &lt;p&gt;When I commuted daily this wasn't a problem as I had about two hours a day to read on the train but since I started working from home that part of my day has vanished. I'll aim to reintroduce reading time into my day and work through the stack of books that has been steadily growing.&lt;/p&gt; &lt;h3&gt;Experiment more&lt;/h3&gt; &lt;img src="http://simianstudios.com/uploads/blog/2012_experiment.jpg" alt="Experiment" title="Lab Work by Nina Briski" class="blog_image" width="278" height="278" /&gt; &lt;p&gt;In 2012 I want to get out of my comfort zone as much as possible. I managed it quite well in 2011 but there is always room for new experiences. Taking up running was an experiment that really paid off for me - being able to complete my first races was a great feeling.&lt;/p&gt; &lt;p&gt;This year I will aim to take as many opportunities as I can to try new stuff in all areas of my life. For professional development I will be taking part in the &lt;a href="http://12412.org/" target="_blank"&gt;12412 initiative&lt;/a&gt; and encourage you to do the same. For personal development I'll formalise my bucket list so that I can use it to help me seek out opportunities.&lt;/p&gt; &lt;h2&gt;Let's go!&lt;/h2&gt; &lt;p&gt;There we have it. If you've taken the time to read this far and notice me failing to live by the above manifesto then you have my full permission to berate me loudly and publicly. &lt;/p&gt; &lt;p&gt;Happy new year!&lt;/p&gt; &lt;p class="note"&gt;Photo credits: main image - &lt;a href="http://www.sxc.hu/photo/1257847" target="_blank"&gt;Fireworks by Daniela Sanchez&lt;/a&gt;. Looking Back - &lt;a href="http://www.sxc.hu/photo/1356926" target="_blank"&gt;Pico Island by Guglielmo Losio&lt;/a&gt;. Sharing - &lt;a href="http://www.sxc.hu/photo/517001" target="_blank"&gt;For Us 2 by Spiz&lt;/a&gt;. Experiment - &lt;a href="http://www.sxc.hu/photo/876606" target="_blank"&gt;Lab Work by Nina Briski&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=6BuVtiWx-Ss:boXYGVcNL3Q:uTGHRRPoPS0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=uTGHRRPoPS0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=6BuVtiWx-Ss:boXYGVcNL3Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=6BuVtiWx-Ss:boXYGVcNL3Q:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=6BuVtiWx-Ss:boXYGVcNL3Q:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/simianstudios?a=6BuVtiWx-Ss:boXYGVcNL3Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/simianstudios?i=6BuVtiWx-Ss:boXYGVcNL3Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
			<pubDate>Thu, 05 Jan 2012 02:40:15 +0000</pubDate>
		<feedburner:origLink>http://simianstudios.com/blog/post/looking-back-looking-forward</feedburner:origLink></item>

    </channel>
</rss>
