<?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>Darren Krape &#187; Design</title>
	<atom:link href="http://www.darrenkrape.com/tag/design/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.darrenkrape.com</link>
	<description>- web design and life stuff</description>
	<lastBuildDate>Mon, 16 Aug 2010 01:34:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How does the Washington DC design community compare to, say, New York? Ouch.</title>
		<link>http://www.darrenkrape.com/journal/how-does-the-washington-dc-design-community-compare-to-say-new-york-ouch/</link>
		<comments>http://www.darrenkrape.com/journal/how-does-the-washington-dc-design-community-compare-to-say-new-york-ouch/#comments</comments>
		<pubDate>Sun, 26 Aug 2007 15:24:31 +0000</pubDate>
		<dc:creator>Darren</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Washington DC]]></category>

		<guid isPermaLink="false">http://www.darrenkrape.com/journal/how-does-the-washington-dc-design-community-compare-to-say-new-york-ouch/</guid>
		<description><![CDATA[<img src="/i/articles/dc_design.png" alt="What Google things of the Washington DC design community. Ouch."  class="image_large" />]]></description>
			<content:encoded><![CDATA[<p><img src="/i/articles/dc_design.png" alt="What Google things of the Washington DC design community. Ouch."  class="image_large" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.darrenkrape.com/journal/how-does-the-washington-dc-design-community-compare-to-say-new-york-ouch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Five Lessons from the Success of the Nintendo Wii</title>
		<link>http://www.darrenkrape.com/categories/design-and-development/five-lessons-from-the-nintendo-wii/</link>
		<comments>http://www.darrenkrape.com/categories/design-and-development/five-lessons-from-the-nintendo-wii/#comments</comments>
		<pubDate>Mon, 09 Apr 2007 18:41:22 +0000</pubDate>
		<dc:creator>Darren</dc:creator>
				<category><![CDATA[Design and Development]]></category>
		<category><![CDATA[Journal]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.darrenkrape.com/fun/journal/five-lessons-from-the-nintendo-wii/</guid>
		<description><![CDATA[<p><img src="/i/articles/wii.jpg" alt="Humanizing Gaming - The Nintendo Wii" class="article_highlight"/>Since I've never been a big fan of console gaming, it's been interesting to sit on the sidelines and watch the latest crop of consoles come to market. What really struck me is, even though I never intend to buy any of consoles, I found myself hoping the Wii would be the big winner.</p>

<p>It is certainly not the most powerful, I've heard griping about the graphics and the better reviewed games are generally not in genres that interest me. Yet, nonetheless, I wanted the plucky little upstart to be win the day over Sony and Microsoft's entrants.</p>

<p>Why? Probably because it seems the most "human" of the three. I could easily imagine Nintendo developers actually having fun designing and testing the system. At Sony and Microsoft I could imagine, at best, nameless engineers spending long hours wringing one more frame per second out of the hardware - heat/power-consumption/cost/gameplay be damned.</p>]]></description>
			<content:encoded><![CDATA[<p><img class="article_highlight" src="/i/articles/wii.jpg" alt="Humanizing Gaming - The Nintendo Wii" />Although I have never been a big fan of console gaming, it has nonetheless been interesting to watch the latest crop of consoles come to market. What really struck me is, even though I don&#8217;t intend to buy any of these consoles, I found myself hoping the Nintendo&#8217;s Wii would be the big winner. It is certainly not the most powerful, I&#8217;ve heard griping about the graphics and the better reviewed games are generally not in genres that interest me. Yet, despite this, I wanted the plucky little upstart to be win the day over the leviathan Sony and Microsoft&#8217;s entrants.</p>
<p>Why? Probably because it seems the most &#8220;human&#8221; of the three. I could easily imagine Nintendo developers actually having fun designing and testing the system. At Sony and Microsoft I could imagine, at best, nameless engineers spending long hours wringing one more frame per second out of the hardware &#8211; heat/power-consumption/cost/gameplay be damned.</p>
<p>For this reason, it was fascinating to <a class="ext" href="http://wii.nintendo.com/iwataasks.jsp">read an extensive set of interviews with the system&#8217;s designers and developers</a>, all on the Wii&#8217;s home page. It is an absorbing look into the creative process at one of the most clever companies out there.</p>
<p><span id="more-23"></span></p>
<p>There are a few interesting lessons I drew from the interviews:</p>
<ol>
<li><strong>Establish a strong central concept: </strong>What made the Wii successful was that it has a strong central concept around which the entire system is built, from the bits of hardware to the bytes of software. Most simply, the goal was accessibility: anyone should be able to use the Wii, regardless of age, experience, personal feelings toward gaming and so on. This drove the team to create intuitive interfaces, such as the remote controller, to underlying software that sought to include the entire family within the same shared space.</li>
<li><strong>Use creativity to push boundaries: </strong>Nintendo sought from the very beginning to do something with the Wii. Yet they didn&#8217;t start out knowing exactly what that &#8220;different&#8221; thing would be. Initially they focused on very technical goals: lowering power consumption, heat, noise and the overall size of the console. Nonetheless, the end result was a stylish and easy-to-live-with white box that fits perfectly with Nintendo&#8217;s intended &#8220;humanization&#8221; of the console gaming experience. Merely shifting the rules of the game opened up vast new avenues for creativity, leading to something truly innovative that no one had expected.
<p>This is what really separates Nintendo from their competitors. It has been a long time since a system really shifted the paradigm of console gaming. The Xbox 360 is really just an original Xbox, only more-so. The Playstation 3? Ultimately an upgraded Playstation 2, itself conceptually the same as the original Playstation 1.</li>
<li><strong>Focus on simplicity: </strong>As many out there advocate, focusing on simplicity can be a strong driver for creating successful products. This is certainly true with the Wii. While much attention was focused on delivering on proposed innovations, the developers also sought to strip out anything unnecessary.<br />
<blockquote cite="http://wii.nintendo.com/iwata_asks_vol2_p1.jsp"><p>[O]ur previous controllers, for the NES, SNES, N64 and GameCube, have evolved by adding features&#8230; With the Wii Remote however, we didn&#8217;t just add, but subtracted as well.</p>
<p class="author">Kenichiro Ashida, Design Group</p>
</blockquote>
<p>This is an important point, particularly for console system developers. As consoles become more and more complex, more like desktop computers, it&#8217;s a salient point that the first consoles were successful because they weren&#8217;t complex and did not function like full-blown computers.</p>
<blockquote cite="http://wii.nintendo.com/iwata_asks_vol2_p2.jsp"><p>This might not be said very often, but a very important thing about the NES was that it worked no matter who used it. It turned on when you pressed the power button, started when you pressed the start button, and reset when you pressed the reset button. I always wondered why something so simple couldn&#8217;t be achieved with a PC.</p>
<p class="author">Shigeru Miyamoto, Environmental Analysis &amp; Development Division</p>
</blockquote>
</li>
<li><strong>Think holistically: </strong>With the Wii, Nintendo thought beyond how people would directly use the system, namely the details of gaming experience. They also considered how the Wii would fit into someone&#8217;s &#8211; and their family&#8217;s &#8211; life.<br />
<blockquote cite="http://wii.nintendo.com/iwata_asks_vol1_p3.jsp"><p>We really couldn&#8217;t give up on that goal once we decided to make Wii a sleepless machine that stays on 24 hours a day. If the fan is spinning in the middle of the night, I could just imagine mothers everywhere pulling the plug right out of the wall because they thought it had been left on again.</p>
<p class="author">Satoru Iwata, President and CEO</p>
</blockquote>
<p>Thinking about their customers in this very personal way, one gets the impression that the developers really respect the end-users of the Wii. They weren&#8217;t just thinking about raw marketing demographics (X feature will entice Y buyer) but rather considering about how the Wii will fit into each of their lives.</p>
<p>This comes through quite saliently in a key design concession Nintendo was forced to make: making users to place a small sensor bar on their TV so the system would properly detect the location of the wireless remote. To minimize the intrusion on user&#8217;s lives, the design team went through iteration after iteration to get the smallest and most unobtrusive strip possible. Nintendo was almost saying, &#8220;Please accept our apologies for the irritation, but we promise you will have fun if you accommodate this small annoyance!&#8221;</p>
<blockquote cite="http://wii.nintendo.com/iwata_asks_vol2_p3.jsp"><p>We thought about all possible TV shapes and stands, and did our best to make it fit perfectly. All I could say now is, &#8220;We&#8217;ve done everything we could, so please do your best to make it fit!&#8221;</p>
<p class="author">Shigeru Miyamoto, Environmental Analysis &amp; Development Division</p>
</blockquote>
</li>
<li><strong>Create passionate users: </strong>On seeing the new controller being used for the first time, one developer had this to say:<br />
<blockquote cite="http://wii.nintendo.com/iwata_asks_vol2_p3.jsp"><p>I&#8217;m a little embarrassed to say this in front of you guys, but I was overflowing with emotion. And even after that, I thought I was going to cry again when I saw how much everyone enjoyed using the controller.</p>
<p class="author">Akio Ikeda, Development Group</p>
</blockquote>
<p>A point often said but still worth reiterating, when competing at this level, creating passionate users is the ultimate measure of success. It is why Apple has hundred dollar profit margins on iPods while other manufacturers stomach losses on each transaction. It is why Nintendo sells the Wii at a profit while Sony and Microsoft are giving away free hardware with each Playstation or XBox purchase. Its why I am writing this article despite having no intention to buy any of the consoles mentioned here.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.darrenkrape.com/categories/design-and-development/five-lessons-from-the-nintendo-wii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Add icons to PDF, XLS, DOC file links, links to new windows and more&#8230;</title>
		<link>http://www.darrenkrape.com/categories/design-and-development/add-icons-to-pdf-xls-doc-file-links-links-to-new-windows-and-more/</link>
		<comments>http://www.darrenkrape.com/categories/design-and-development/add-icons-to-pdf-xls-doc-file-links-links-to-new-windows-and-more/#comments</comments>
		<pubDate>Mon, 09 Apr 2007 00:08:12 +0000</pubDate>
		<dc:creator>Darren</dc:creator>
				<category><![CDATA[Design and Development]]></category>
		<category><![CDATA[Journal]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.forma3.com/v4/journal/add-icons-to-pdf-xls-doc-file-links-links-to-new-windows-and-more/</guid>
		<description><![CDATA[Whenever linking on the web, it is important to let the user know exactly where the link leads, especially if opening a new window or the linked item requires a plug-in or external software. For example, if linking to a PDF a small icon can provide a good hint of where the link leads. Unfortunately, manually adding icons to every link through a site can be quite laborious. This is where JavaScript comes in. With few lines of simple code we can automatically add icons to every link on a page.]]></description>
			<content:encoded><![CDATA[<p>Whenever linking on the web, it is important to let the user know exactly where the link leads, especially if opening a new window or the linked item requires a plug-in or external software. For example, if linking to a PDF a small icon can provide a good hint of where the link leads. Unfortunately, manually adding icons to every link through a site can be quite laborious. This is where JavaScript comes in. With few lines of simple code we can automatically add icons to every link on a page.</p>
<ul>
<li><a class="code_example" href="/examples/icons/">View this code in action</a></li>
<li><a class="code_download" href="/examples/icons/adding_file_links.zip">Download this code</a> (ZIP)</li>
<li><a class="jump" href="#complete_code">View complete code</a></li>
</ul>
<p><span id="more-1"></span></p>
<h3>How this works</h3>
<p>For those familiar with JavaScript, the above code is pretty straightforward. But for novice JavaScript authors &#8211; such as myself &#8211; here is how the function breaks down.</p>
<h4>Collect our links and cycle through them</h4>
<p>We first collect all the links in a document and places them into array. We then cycle through each one using the following for loop:</p>
<pre><code>var links = document.getElementsByTagName("a");
for (i=0; i&amp;lt;links.length; i++) {
</code></pre>
<p>We then create a variable for the current link in the array:</p>
<pre><code>var linkIcons = links[i];</code></pre>
<h4>Check for linked images</h4>
<p>Since we don&#8217;t want to be adding these icons to the ends of images, we&#8217;ll add a line to collect the name of any images in the link the loop is currently on.</p>
<pre><code>var images = currentLink.getElementsByTagName("img");</code></pre>
<p>If an image is found, the variable will be defined and the length will be greater than 0, meaning we can filter out any links on images. We also can use <code>indexOf</code> to find out if a file extension is present in the <code>href</code>. Basically, <code>indexOf</code> returns the position of a specific character or set of characters in a string. If nothing is found, then JavaScript returns &#8220;-1&#8243;. This is useful since we can query the <code>href</code> of our link for a certain character set, in this case file extensions, and if JavaScript does not return &#8220;-1&#8243; then a match was found and we can go ahead and append the image.</p>
<pre><code>if (images.length == 0 &amp;&amp; currentLink.href.indexOf('.pdf') != -1) {</code></pre>
<h4>Adding the file icon</h4>
<p>When JavaScript has a match we need to tell it to create a new element &#8211; in this case a new image &#8211; which we can then append to our link. So, first we create the image, set the source and then add it to the end of the link we are currently parsing.</p>
<pre><code>var newImg=document.createElement('img');
newImg.setAttribute('src','/img/icons/pdf_js.png');
currentLink.appendChild(newImg);
</code></pre>
<p>Adding icons for links that open in new windows is also quite simple, requiring the modification of only one line of code. Instead of using <code>indexOf</code> to check if a particular file extension is used, we use the DOM to check the target. If the target equals &#8220;<code>_blank</code>&#8220;, indicating a new window will open when clicked, then we also append an image.</p>
<pre><code>if (images.length == 0 &amp;&amp; currentLink.target == "_blank") {</code></pre>
<h4>Play well with others: Multiple <code>OnLoad</code> Events</h4>
<p>To ensure that our function plays well with other scripts that may also be use onload events, we add <a href="http://simon.incutio.com/archive/2004/05/26/addLoadEvent" target="_blank">Simon Wilson&#8217;s addLoadEvent function</a> to reduce the chance of conflict.</p>
<pre><code>function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }

addLoadEvent(linkIcons);}</code></pre>
<h3>Areas for Improvement</h3>
<ol>
<li>Since this version of the script adds images to the HTML rather than simply giving the link a new class, it would be slightly more difficult to add additional style declarations than in the earlier example. In this case, since there is no CSS being used, the images all have built-in padding to ensure they aren&#8217;t flush with text on the left and right. Adding this padding using a style would probably be more flexible than my current method but would require a little extra code.</li>
<li>Although adding icons can be very useful for users, I generally go one step further and add additional descriptive text noting the file type and size, for example: Link (954 kb PDF), so they can estimate the download time and ensures there is useable message for users who have JavaScript disabled.</li>
<li>This JavaScript will add icons to every link on your page, possibly in places you&#8217;d prefer stay icon-free. The solution would be to have the script ignore areas with specific <code>id</code> or <code>class</code> tags, such as: <code>class="no-icons"</code>.</li>
</ol>
<h3 id="complete_code">Complete Code</h3>
<pre class="complete"><code>linkIcons = function() {
  var links = document.getElementsByTagName("a");
  for (i=0; i &lt; links.length; i++) {
    var currentLink = links[i];
    var images = currentLink.getElementsByTagName("img");
    if (images.length == 0 &amp;&amp; currentLink.href.indexOf('.pdf') != -1) {
      var newImg=document.createElement('img');
      newImg.setAttribute('src','pdf.png');
      currentLink.appendChild(newImg);
    }
    if (images.length == 0 &amp;&amp; currentLink.href.indexOf('.doc') != -1) {
      var newImg=document.createElement('img');
      newImg.setAttribute('src','doc.png');
      currentLink.appendChild(newImg);
    }
    if (images.length == 0 &amp;&amp; currentLink.target == "_blank") {
      var newImg=document.createElement('img');
      newImg.setAttribute('src','new_window.png');
      currentLink.appendChild(newImg);
    }
  }
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(linkIcons);</code></pre>
<h3>About this script</h3>
<p>As with all things worth doing, this has been done before. <a href="http://www.gqgoat.com/index.php?post=58" target="_blank">gqGoat&#8217;s article, &#8220;Automatically Add Icons After Links to PDF Files with the JavaScript &amp; the DOM&#8221;</a>, lays the foundation for this script, while I&#8217;ve added a few key improvements:</p>
<ol>
<li>Most importantly, in gqGoat&#8217;s method, the icon is added via CSS as a background to the link. For modern browsers this works great, but in Internet Explorer 6 the icon will be aligned poorly for multi-line links and, in many cases, will not even show up.</li>
<li>This method properly uses the <abbr title="Document Object Model">DOM</abbr> instead of relying on <code>innerHTML</code>, which is not standard and not terribly future-proof.</li>
<li>This script includes the onload fix as suggested in gqGoat&#8217;s original post by adding Simon Wilson&#8217;s &#8220;addLoadEvent&#8221; function.</li>
<li>Lastly, this adds several additional icons, including those for Word documents, PowerPoint files, and links that open in a new window using <code>target='_blank'</code>.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.darrenkrape.com/categories/design-and-development/add-icons-to-pdf-xls-doc-file-links-links-to-new-windows-and-more/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
