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

<channel>
	<title>Nefarious Designs &#187; Idea</title>
	<atom:link href="http://nefariousdesigns.co.uk/tags/idea/feed/" rel="self" type="application/rss+xml" />
	<link>http://nefariousdesigns.co.uk</link>
	<description>Nefarious Designs is the web development agency and blog of Tim Huegdon, a web developer with over 5 years experience in the industry.</description>
	<lastBuildDate>Fri, 06 Jan 2012 21:37:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>User-controlled content density</title>
		<link>http://nefariousdesigns.co.uk/archive/2012/01/user-controlled-content-density/</link>
		<comments>http://nefariousdesigns.co.uk/archive/2012/01/user-controlled-content-density/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 21:37:07 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Idea]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://nefariousdesigns.co.uk/?p=681</guid>
		<description><![CDATA[Back in October of last year Google Apps underwent a fairly extensive redesign. The overall intent of this realignment was to improve the user interface design, which has traditionally seemed to be a stumbling point for Google. Personally I think the new designs are excellent and really appreciate the fact that they address my need [...]]]></description>
			<content:encoded><![CDATA[<p>Back in October of last year <a href="http://googledocs.blogspot.com/2011/10/experience-new-look-of-docs-and-sites.html">Google Apps underwent a fairly extensive redesign</a>. The overall intent of this realignment was to improve the user interface design, which has traditionally seemed to be a stumbling point for Google.</p>
<p>Personally I think the new designs are excellent and really appreciate the fact that they address my need to access my Google Apps from a variety of devices. I also like the fact that they allow me my own preference for the visual density of content within the page.</p>
<p>In fact this is such a killer feature that I reverse engineered it to better understand it. I&#8217;ll be looking to use this knowledge in some of my future work. Whilst I wouldn&#8217;t really refer to this deconstruction as such, plagiarism is the sincerest form of flattery. Unfortunately, due to extensive work commitments, I&#8217;ve only just gotten around to writing up my work…</p>
<p><span id="more-681"></span></p>
<h2 id="responsive">Responsive</h2>
<p>It&#8217;s my opinion that this technique relates quite closely to the responsive design ethos. The visual content density should respond to both the user&#8217;s available screen real-estate, their chosen font-size, and their own preference&#8212;which should always override any other external actors.</p>
<p>The majority of responsive design discussions and tutorials seem to talk extensively around how a design responds only to the client width. True responsiveness, however, equates to so much more than this.</p>
<h2 id="visual_density">Visual density</h2>
<p>In this article I am referring to <em>visual</em> content density. This refers to the actual physical space around the content and is not to be confused with keyword density, which is concerned with the proliferation of words and phrases <em>within</em> said content. Balanced visual content density is an important factor towards improved typography, improved legibility, and an improved interface overall. Most designers will wax lyrical on the benefits of plenty of whitespace and how giving content room to breathe can improve the usability of the interface.</p>
<p>The visual density of content within your web-based documents can easily be controlled with an extensive set of CSS properties. However, there are only a few that give entirely predictable results across all browsers:</p>
<ul>
<li><code>font-size</code></li>
<li><code>line-height</code></li>
<li><code>padding</code></li>
<li><code>margin</code></li>
<li><code>width</code></li>
<li><code>height</code></li>
</ul>
<p>Importantly, these properties control both content size and the amount of whitespace that surrounds it. Together these two factors can sway the balance between spacious legibility and the efficient use of limited screen real-estate.</p>
<h2 id="a_demonstration">A demonstration</h2>
<p>Here&#8217;s a quick and dirty prototype that I&#8217;ve knocked up to demonstrate visual density variance at work. You can vary the density via the buttons at the top, or by resizing your browser window (which will override the former):</p>
<p><a href="http://timhuegdon.com/test-cases/density/">http://timhuegdon.com/test-cases/density/</a></p>
<p>The source code for this example is available here:</p>
<p><a href="http://github.com/nefarioustim/density-demo/">http://github.com/nefarioustim/density-demo/</a></p>
<h2 id="how_it_works">How it works</h2>
<p>In my demo I am applying a class to the root element of the document that controls the level of content density selected by the user. I also repeat those styles within media queries for different client widths to allow denser content on smaller screens&#8212;try resizing the browser window to watch it respond.</p>
<p>To make this more maintainable in the future I&#8217;d probably invoke those styles through some form of SASS or LESS mix-in to cut down on the obvious duplication of styles. However, be aware that the use of CSS preprocessors like SASS and LESS can complicate things when attempting to get browsers that do not support media queries to detect the styles using a JavaScript polyfill like Respond.js.</p>
<h2 id="summary">Summary</h2>
<p>So there you have it; a simple technique that has a pretty significant impact to the readability of your content. Hey, and the demo is kinda fun to play with too.</p>
]]></content:encoded>
			<wfw:commentRss>http://nefariousdesigns.co.uk/archive/2012/01/user-controlled-content-density/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Stalking friends on GitHub</title>
		<link>http://nefariousdesigns.co.uk/archive/2011/02/stalking-friends-on-github/</link>
		<comments>http://nefariousdesigns.co.uk/archive/2011/02/stalking-friends-on-github/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 22:42:26 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Idea]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://nefariousdesigns.co.uk/?p=602</guid>
		<description><![CDATA[A while back, I used Yahoo! Pipes to filter my private GitHub RSS feed, so that it only shows information that may be interesting for me to track. The resultant feed allows me to see what my friends have started watching or have forked, or repos they have recently created, from the comfort of my [...]]]></description>
			<content:encoded><![CDATA[<p>A while back, I used <a href="http://pipes.yahoo.com/">Yahoo! Pipes</a> to filter my private <a href="https://github.com/">GitHub</a> RSS feed, so that it only shows information that may be interesting for me to track. The resultant feed allows me to see what my friends have started watching or have forked, or repos they have recently created, from the comfort of my feed reader.</p>
<p>Following a small refactor—guided by some more Pipes-knowledgable friends of mine (cheers <a href="http://blog.zottmann.org/">Carlo</a> and <a href="http://ginader.com">Dirk</a>)—I privatised my token, and allowed customisation of the GitHub account used.</p>
<p>So, without further ado, here&#8217;s the pipe; feel free to use it to stalk your friends on GitHub:</p>
<p><a href="http://pipes.yahoo.com/pipes/pipe.info?_id=85709214354b9319d6e345be3c1a6c46">GitHub Friend Stalker</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nefariousdesigns.co.uk/archive/2011/02/stalking-friends-on-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A CMS Confession</title>
		<link>http://nefariousdesigns.co.uk/archive/2010/01/a-cms-confession/</link>
		<comments>http://nefariousdesigns.co.uk/archive/2010/01/a-cms-confession/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 09:59:45 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Idea]]></category>
		<category><![CDATA[The Future]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://nefariousdesigns.co.uk/?p=255</guid>
		<description><![CDATA[I need to make a confession: I have a bit of a nerdy obsession with Content Management Systems. This probably stems from the fact that I&#8217;ve built several, worked with a number of internal bespoke systems, and have also been involved in implementing an off-the-shelf solution for a number of large sites. As an addition, [...]]]></description>
			<content:encoded><![CDATA[<p>I need to make a confession: I have a bit of a nerdy obsession with Content Management Systems. This probably stems from the fact that I&#8217;ve built several, worked with a number of internal bespoke systems, and have also been involved in implementing an off-the-shelf solution for a number of large sites. As an addition, I&#8217;ve also worked with—and built—several blog publishing systems, which can be viewed as the most basic bespoke CMSs. The upshot of all that is that I&#8217;ve spent so long on CMS related problems, solving them has become a rewarding experience.</p>
<p><span id="more-255"></span></p>
<p>Recently, I&#8217;ve been building a new blog platform, in Django, called “<a href="http://github.com/nefarioustim/nef-blog">nef-blog</a>”. It&#8217;s nothing special; just a quick self-build solution that will get me off of WordPress. However, I&#8217;m still not entirely happy with it, since it will still be building my blog pages at request time (otherwise known as &#8220;frying&#8221; pages). This seems like a needless overhead and, for good performance on popular posts (I do have <em>some</em>), will probably still require some form of caching solution. I&#8217;d much rather have the choice of implementing a mixed fried and baked solution—where &#8220;baked&#8221; pages are generated by some form of printing process, and the output is stored on the file system and served at request time.</p>
<p>Several of my peers have also recently been building baking (or “static CMS”) solutions—most of which are available for perusal on GitHub, despite being in varying stages of completion:</p>
<ul>
<li>“<a href="http://github.com/spjwebster/lanyon/">Lanyon</a>”, by Steve Webster</li>
<li>“<a href="http://github.com/mikewest/fallow/">Fallow</a>”, by Mike West</li>
<li>“<a href="http://github.com/norm/flourish/">Flourish</a>”, by Mark Norman Francis</li>
<li>“<a href="http://github.com/lethain/aym-cms">AYM CMS</a>”, by Will Larson</li>
<li>“<a href="http://github.com/mojombo/jekyll/">Jekyll</a>”, by Tom Preston-Werner</li>
<li>“<a href="http://github.com/lakshmivyas/hyde/">Hyde</a>”, by Lakshmi Vyas</li>
</ul>
<p>This has inspired me to attempt to develop a new CMS; but before I do that, I thought I&#8217;d lay down a sort of treatise of things to take into account when designing and developing a CMS. These are simply my own thoughts on the subject, and I&#8217;d definitely welcome some discussion; I&#8217;d definitely like to be able to update this post in the future with new information garnered from the web developer community.</p>
]]></content:encoded>
			<wfw:commentRss>http://nefariousdesigns.co.uk/archive/2010/01/a-cms-confession/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Big Idea</title>
		<link>http://nefariousdesigns.co.uk/archive/2006/12/the-big-idea/</link>
		<comments>http://nefariousdesigns.co.uk/archive/2006/12/the-big-idea/#comments</comments>
		<pubDate>Tue, 19 Dec 2006 10:12:34 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Idea]]></category>
		<category><![CDATA[Microformats]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://nefariousdesigns.co.uk/archive/2006/12/the-big-idea/</guid>
		<description><![CDATA[It&#8217;s been a while since I blogged &#8211; mainly due to the awesome news that Meegan and I are pregnant, my new job at Yahoo! Europe and the impending Christmas period. For this reason, I thought it was about time I got motivated and started working on something new and exciting. So, during the train [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I blogged &#8211; mainly due to the awesome news that Meegan and I are pregnant, my new job at Yahoo! Europe and the impending Christmas period. For this reason, I thought it was about time I got motivated and started working on something new and exciting.</p>
<p>So, during the train ride into work this morning, whilst staring out the window at an awesome morning mist, my thoughts turned to API&#8217;s; more precisely, to writing an application entirely <em>based</em> around an API. I was thinking about how fun it would be to try to write an effective API and then use PHP and JavaScript to manipulate that API to build an application. I also thought it would be an interesting exercise in best-practices; from planning and documentation, through to responsibly using AJAX.</p>
<p><span id="more-150"></span></p>
<h2>Woah! Where did <em>that</em> come from?</h2>
<p>I guess I&#8217;m partly spurred on by <a href="http://adactio.com">Jeremy Keith</a>&#8216;s excellent presentation at <a href="http://2006.dconstruct.org/">d.Construct06</a> entitled &#8220;<a href="http://adactio.com/articles/1181/">The Joy of API</a>&#8220;, as well as Drew McLellan&#8217;s presentation &#8220;Can your website be your API?&#8221; at the last WSG London meet (listen to it via <a href="http://muffinresearch.co.uk/wsg/">the WSG podcast</a>). API&#8217;s are sexy &#8211; all the popular kids have them in one form or another; from REST style <a href="http://www.flickr.com/services/api/">Flickr</a> and <a href="http://del.icio.us/help/api/">de.licio.us</a> through to the Microformat heavy <a href="http://corkd.com/">Corkd</a>. It&#8217;s all happening out there and I want a piece of the action.</p>
<h2>So what&#8217;s the big idea?</h2>
<p>As an amateur cook, I&#8217;ve recently been thinking about purchasing a scrap-book so that I can collect and collate recipes, however, I&#8217;d much rather be able to do this online since I tend to plan meals in my head whilst I&#8217;m at work. There are a huge number of recipe sites out there but they tend to be over complicated, drowning in adverts, ugly and not quite what I want &#8211; so I thought, what the heck, I&#8217;ll write one and try to do a good job! What&#8217;s more, I&#8217;ll try and work to a Web2.0 ethic and promote a community environment.</p>
<p>I&#8217;m well aware that I might crash and burn half way through the process &#8211; but since I&#8217;m approaching this as a learning experience, I&#8217;m going to get <em>something</em> out of it even if it <em>is</em> a few harsh lessons.</p>
<h2>What do you hope to learn?</h2>
<p>Quite a lot really. I&#8217;m interested in improving my understanding of user interface design, of web application design, of information architecture for the web, and, at a technology level, of Microformats and the YUI. I&#8217;m also looking to discover new things about the languages I&#8217;ll be using; from the potential minefield that is PHP through to the responsible use of JavaScript, as mentioned earlier.</p>
<h2>So what next?</h2>
<p>Over the next couple of days I&#8217;ll start to look at planning the project and I&#8217;ll try to blog the process. I&#8217;ll also include all my documentation and will hopefully get some feedback (including ideas &#8211; let&#8217;s open up the floor here).</p>
<p>Hopefully, by the end of this, I&#8217;ll have learnt some stuff <em>and</em> created a handy application.</p>
]]></content:encoded>
			<wfw:commentRss>http://nefariousdesigns.co.uk/archive/2006/12/the-big-idea/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

