<?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>Programmer&#039;s Paradox &#187; Design</title>
	<atom:link href="http://www.programmersparadox.com/category/design/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.programmersparadox.com</link>
	<description>Is anything I write real?</description>
	<lastBuildDate>Wed, 28 Jul 2010 21:50:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Where Are The Copy Designers?</title>
		<link>http://www.programmersparadox.com/2009/10/03/where-are-the-copy-designers/</link>
		<comments>http://www.programmersparadox.com/2009/10/03/where-are-the-copy-designers/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 22:54:35 +0000</pubDate>
		<dc:creator>Mark Mzyk</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[tufte]]></category>

		<guid isPermaLink="false">http://www.programmersparadox.com/?p=1028</guid>
		<description><![CDATA[The web is full of designers: visual designers, graphic designers, interaction designers, muppet designers.  I threw in muppet designers to see if you’re paying attention. Designers on the web are experiencing a bit of a revolution that is summed up in a few words: measure everything.  Led by the likes of Google, every click, every [...]<p><br/><br/><a href="http://www.programmersparadox.com/2009/10/03/where-are-the-copy-designers/">Where Are The Copy Designers?</a></p>
]]></description>
			<content:encoded><![CDATA[<p>The web is full of designers: visual designers, graphic designers, interaction designers, muppet designers.  I threw in <a href="http://bishopanimation.blogspot.com/2006/10/muppet-design.html">muppet designers</a> to see if you’re paying attention.</p>
<p>Designers on the web are experiencing a bit of a revolution that is summed up in a few words: measure everything.  Led by the likes of Google, every click, every eyeball movement is tracked to see what the user does next, all in an attempt to answer the question: what works best?</p>
<p>Design no longer is the purview of instinct and feeling; it has become more analytical.  My characterization here is crude and not wholly correct.  There are shades of gray, as instinct has its place and measurement can’t tell us everything.  Since I am not a designer, I’m not enmeshed in the design world and can’t speak to everything that happens.  I only follow along from the outside as a curious and interested spectator.</p>
<p>I don’t think most designers would argue that design has become more and more about measurements, conversions, and click through rates.  And this isn’t necessarily a bad thing.</p>
<p>However, all this focus has fallen in the visual design and user interaction arena.  One place that still gets neglected is that of <a href="http://en.wikipedia.org/wiki/Copy_%28written%29">copy</a> design.  For those of you not aware, copy is the term used to refer to the written part of a website or a magazine, as opposed to the images and layout.</p>
<p>The web is more words than images, although Flickr and YouTube are doing their best to change that.  Day in and day out, you get around the web by reading.  It stands to reason that what the web says is as important as to how it looks.</p>
<p><a href="http://en.wikipedia.org/wiki/Typography">Typography</a> gets a lot of attention and for good reason, as fonts matter.  A font can catch your eye or set the mood.  Often fonts are compared using the <a href="http://en.wikipedia.org/wiki/Pangram">pangram</a> “<a href="http://en.wikipedia.org/wiki/The_quick_brown_fox_jumps_over_the_lazy_dog">The quick brown fox jumps over the lazy dog</a>”.  This is great for evaluating the font, but if a font isn’t used to say anything, what use is a font?</p>
<p>Shouldn’t copy &#8211; what a website says &#8211; be given as much attention as how it looks?  Changing copy can quickly fix problems that otherwise would be difficult to deal with, as <a href="http://bokardo.com/archives/writing-microcopy/">Joshua Porter shows</a>.  Copy can affect conversion rates.  <a href="http://dustincurtis.com/you_should_follow_me_on_twitter.html">Dustin Curtis</a> tweaked the words that pointed to his Twitter account and saw a measurable difference in click though rate: a 173% difference.</p>
<p>The design world already knows the work of <a href="http://en.wikipedia.org/wiki/Edward_Tufte">Edward Tufte</a>.  It should also know the work of his <span style="text-decoration: line-through;">wife</span> mother, <a href="http://www.edwardtufte.com/tufte/books_vt">Virginia Tufte</a>. She wrote the book <a href="http://www.amazon.com/Artful-Sentences-Syntax-as-Style/dp/0961392185"><em>Artful Sentences: Syntax as Style</em></a>.  It’s a book that does nothing except examine sentences.  The fact that this can be done speaks to the richness of language and suggests that we all should pay more attention to it.</p>
<p>So I ask: where are the copy designers?  I expect that over the next few years we’ll see them appear.  If they don’t appear explicitly, current designers will add copy design to their repertoire.</p>
<p>Words matter just as much as looks.  How much opportunity is your site passing over just because your copy lacks power or style?</p>
<blockquote><p>Two sentences highlighted by Viginia Tufte in <em>Artful Sentences: Syntax as Style</em>:</p>
<p>I feel &#8211; and the anxiety is still vivid to me &#8211; that I might easily have failed before I began.<br />
- V.S. Naipaul, <em>Literary Occasions</em>, 195</p>
<p>The desire to move on, to metamorphose &#8211; or perhaps it is a talent for being contemporary &#8211; was given to me as life’s inevitable and rightful condition.  To keep becoming, always to stay involved in transition.  It was all she and my father had ever known.<br />
- Arthur Miller, <em>Timebends: A Life</em>, 4</p></blockquote>
<p>Thanks goes to <a href="http://jasonrudolph.com/">Jason Rudolph</a> for the conversation that sparked this post.</p>
<p><br/><br/><a href="http://www.programmersparadox.com/2009/10/03/where-are-the-copy-designers/">Where Are The Copy Designers?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersparadox.com/2009/10/03/where-are-the-copy-designers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Content, Design, and Tufte</title>
		<link>http://www.programmersparadox.com/2009/09/09/content-design-and-tufte/</link>
		<comments>http://www.programmersparadox.com/2009/09/09/content-design-and-tufte/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 02:31:39 +0000</pubDate>
		<dc:creator>Mark Mzyk</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[nathan huening]]></category>
		<category><![CDATA[refresh]]></category>
		<category><![CDATA[sprockethouse]]></category>
		<category><![CDATA[tufte]]></category>

		<guid isPermaLink="false">http://www.programmersparadox.com/?p=987</guid>
		<description><![CDATA[In what now seems like an eternity ago, I saw Nathan Huening of Sprocket House give a talk at Refresh The Triangle back in July on Edward Tufte.  Nathan’s talk was his attempt to highlight Tufte’s main points about design. Looking back, I don’t remember all the points Nathan highlighted, however, at the time the [...]<p><br/><br/><a href="http://www.programmersparadox.com/2009/09/09/content-design-and-tufte/">Content, Design, and Tufte</a></p>
]]></description>
			<content:encoded><![CDATA[<p>In what now seems like an eternity ago, I saw Nathan Huening of <a href="http://sprockethouse.com/">Sprocket House</a> give a talk at <a href="http://refreshthetriangle.org/posts/refresh_019/">Refresh The Triangle</a> back in July on <a href="http://en.wikipedia.org/wiki/Edward_Tufte">Edward</a> <a href="http://www.edwardtufte.com/tufte/">Tufte</a>.  Nathan’s talk was his attempt to highlight Tufte’s main points about design.</p>
<p>Looking back, I don’t remember all the points Nathan highlighted, however, at the time the ones that most struck me I wrote down in my moleskine.</p>
<p>One of the points was that of the <a href="https://www.msu.edu/course/cas/892/hypermedia/weekly/finalexam/halldenfinal/question2.html">smallest effective difference</a>.  This is where elements are separated by the smallest distinction possible, so that they are distinct and easy to follow, but so that the eye isn’t overwhelmed by the divider.  An example of this would be having a thin gray line dividing boxes, as opposed to a thick black bar.  This principle stuck out to me because I realized it often shows up in calendar grids.  Google calendar uses this to great effect.  Each block is marked with a thin blue line in Google calendar.  This also has the side effect of maximizing space.</p>
<p>The other principle that struck me from Nathan’s talk is that content influences design.  Nathan used an example from his own design company to showcase this.  He talked about how as they designed the website for <span style="text-decoration: line-through;"><a href="http://www.peace.edu/">Peace College</a></span> the<a href="http://alumnae.peace.edu/"> Alumnae Affairs department at Peace College</a> the homepage design was designed last and was influenced by the content of the second level pages.  How could they have known what needed to be highlighted on the homepage without knowing the content of the other pages?  The hierarchy of the second level pages also influenced how the layout and navigation of the homepage was to work.</p>
<p>Once it is shown to you, realizing that content influences design seems obvious, yet as most of us go through our lives we continually ignore this fact, leading to suboptimal designs.  What tends to be designed is one size fits all, and while there is a place for systems like that, more often than not they lead to inefficiencies.</p>
<p>The ignorance of content influencing design even shows up in programing.  All to often, we programmers build the scaffolding of our programs first and then later insert the all important content, squishing it into the scaffolding we’ve built.  This leads to logic that is warped to account for the scaffolding, instead of the scaffolding changing to accommodate the logic.</p>
<p>DSLs (<a href="http://en.wikipedia.org/wiki/Domain-specific_language">domain specific languages</a>) are one way that content influences design in programming.  The content becomes the design of the language.  While it&#8217;s still possible to have a badly designed DSL, a DSL is closer to the content than a generic language will be and this should lead to greater efficiencies in design.</p>
<p>Nathan’s points were well taken.  While I’d heard of Tufte, not being a designer myself I’ve never taken the time to read his works.  I’ll need to rectify that, as it’s clear that principles that apply in the design world also have applicability to the world of programming.</p>
<p><br/><br/><a href="http://www.programmersparadox.com/2009/09/09/content-design-and-tufte/">Content, Design, and Tufte</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersparadox.com/2009/09/09/content-design-and-tufte/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Surf with Javascript Off</title>
		<link>http://www.programmersparadox.com/2008/12/10/surf-with-javascript-off/</link>
		<comments>http://www.programmersparadox.com/2008/12/10/surf-with-javascript-off/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 18:26:26 +0000</pubDate>
		<dc:creator>Mark Mzyk</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[noscript]]></category>
		<category><![CDATA[tokbox]]></category>

		<guid isPermaLink="false">http://www.programmersparadox.com/?p=494</guid>
		<description><![CDATA[I&#8217;m sure this has been said before, but I&#8217;m going to remind everyone: You should try browsing the web with Javascript turned off and observe how broken many things are.  If you run your own site, see how it responds. At the least, if your site can&#8217;t function without Javascript, put in a check to [...]<p><br/><br/><a href="http://www.programmersparadox.com/2008/12/10/surf-with-javascript-off/">Surf with Javascript Off</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m sure this has been said before, but I&#8217;m going to remind everyone:</p>
<p>You should try browsing the web with Javascript turned off and observe how broken many things are.  If you run your own site, see how it responds.</p>
<p>At the least, if your site can&#8217;t function without Javascript, put in a check to see if a visitor has Javascript disabled, and if so, give a warning that functionality is not guaranteed.</p>
<p>I&#8217;m running with <a href="http://noscript.net/">NoScript</a> installed in Firefox.  It&#8217;s pretty eye opening.</p>
<p>Take, for example, <a href="http://www.tokbox.com/">TokBox</a>.  If you visit there with NoScript turned on, you&#8217;ll be greeted by a blank page.  While NoScript blocks more than just Javascript, it&#8217;s still embarrassing that with scripts turned off, an entire site results in a blank page.</p>
<p>Don&#8217;t let this happen to your site.  Degrade gracefully.</p>
<p><br/><br/><a href="http://www.programmersparadox.com/2008/12/10/surf-with-javascript-off/">Surf with Javascript Off</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersparadox.com/2008/12/10/surf-with-javascript-off/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Message Oriented Architecture</title>
		<link>http://www.programmersparadox.com/2008/10/05/message-oriented-architecture/</link>
		<comments>http://www.programmersparadox.com/2008/10/05/message-oriented-architecture/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 01:22:41 +0000</pubDate>
		<dc:creator>Mark Mzyk</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[message oriented architecture]]></category>
		<category><![CDATA[moa]]></category>
		<category><![CDATA[neal ford]]></category>
		<category><![CDATA[service oriented architecture]]></category>
		<category><![CDATA[soa]]></category>

		<guid isPermaLink="false">http://www.programmersparadox.com/?p=365</guid>
		<description><![CDATA[Neal Ford has a recent post called Sidekick Oriented Architecture.  I recommend reading it for the stories he tells, but the point he makes is a good one: Service Oriented Architecture is only achievable through message passing. It’s a simple concept that makes sense when it is articulated, but unless you consciously think about it [...]<p><br/><br/><a href="http://www.programmersparadox.com/2008/10/05/message-oriented-architecture/">Message Oriented Architecture</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Neal Ford has a recent post called <a href="http://memeagora.blogspot.com/2008/09/soa-sidekick-oriented-architecture.html">Sidekick Oriented Architecture</a>.  I recommend reading it for the stories he tells, but the point he makes is a good one:</p>
<p><strong>Service Oriented Architecture is only achievable through message passing.</strong></p>
<p>It’s a simple concept that makes sense when it is articulated, but unless you consciously think about it is easy to miss.</p>
<p>Often, when different services are built for an application, they end up sharing the same database.  While this might seem like a good initial idea, ultimately it becomes a single point of failure as well as a bottle neck for the entire system.  The only way to avoid this is to split the application into two entire different systems that communicate through message passing, not through the database layer.</p>
<p>There are other benefits to this approach.  When each service is entirely separate from any other, then no service is bound by the technological decisions made for the others.  The development team is free to explore different technologies and options for each service.  The only requirement is that each service be able to talk to the the others, and protocols like HTTP make this easy, if not entirely trivial.</p>
<p>There is also the benefit that by decoupling services to the point that all that is needed is message passing, more creative ways to leverage the entire system might be found.  Each time a new service is incorporated, the only technical hurdle preventing it from talking to any other service is enabling it to pass the right messages.  This makes for a modular and reusable design at the service level, a further abstraction up from the code and library levels.</p>
<p>The proof that message passing works can been seen in languages such as Erlang.  Erlang nodes only communicate through message passing, not through shared memory, enabling Erlang’s exceptional concurrency handling.  Message passing at the service layer also provides the same benefits that Erlang enjoys at the language layer; redundancy, concurrency, and stability are all made easier by message passing.</p>
<p>The end lesson is this: Service Oriented Architecture is Message Oriented Architecture.</p>
<p><br/><br/><a href="http://www.programmersparadox.com/2008/10/05/message-oriented-architecture/">Message Oriented Architecture</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersparadox.com/2008/10/05/message-oriented-architecture/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A RESTful Interface</title>
		<link>http://www.programmersparadox.com/2008/09/28/a-restful-interface/</link>
		<comments>http://www.programmersparadox.com/2008/09/28/a-restful-interface/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 02:22:36 +0000</pubDate>
		<dc:creator>Mark Mzyk</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[tim bray]]></category>

		<guid isPermaLink="false">http://www.programmersparadox.com/?p=357</guid>
		<description><![CDATA[Recently I finished reading Tim Bray&#8217;s On Search series to enhance my own personal knowledge of search, since I frequently work on search applications. I&#8217;ve also been following the various discussions and arguments on REST that seem to frequently flair up, although I&#8217;m lurking more for knowledge than contributing anything to what is being said. [...]<p><br/><br/><a href="http://www.programmersparadox.com/2008/09/28/a-restful-interface/">A RESTful Interface</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Recently I finished reading Tim Bray&#8217;s <a href="http://www.tbray.org/ongoing/When/200x/2003/07/30/OnSearchTOC">On Search</a> series to enhance my own personal knowledge of search, since I frequently work on search applications.</p>
<p>I&#8217;ve also been following the various discussions and arguments on <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> that seem to frequently flair up, although I&#8217;m lurking more for knowledge than contributing anything to what is being said.</p>
<p>It seems to me, based on my limited knowledge of REST, that Tim Bray describes a perfectly RESTful Interface when <a href="http://www.tbray.org/ongoing/When/200x/2003/11/16/SearchAPIs">he talks about how he envisions a search API being designed</a>, although he never mentions REST.</p>
<p>Very worth the read, as it provides a concrete example of what a RESTful interface can look like, which I find helpful so that I don&#8217;t drown in abstract details and descriptions.</p>
<p><br/><br/><a href="http://www.programmersparadox.com/2008/09/28/a-restful-interface/">A RESTful Interface</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersparadox.com/2008/09/28/a-restful-interface/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tesler&#8217;s Law</title>
		<link>http://www.programmersparadox.com/2008/08/17/teslers-law/</link>
		<comments>http://www.programmersparadox.com/2008/08/17/teslers-law/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 03:02:56 +0000</pubDate>
		<dc:creator>Mark Mzyk</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Bill de hOra]]></category>
		<category><![CDATA[interface desgin]]></category>
		<category><![CDATA[Larry Tesler]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://www.programmersparadox.com/?p=210</guid>
		<description><![CDATA[I was reading Bill de hOra the other day, and he mentions Tesler&#8217;s Law. I&#8217;d never heard of Tesler or his law, so I followed the link. Turns out Larry Tesler is a pretty big name in the user interface field, as far as I can gather, although his law is lacking a Wikipedia page [...]<p><br/><br/><a href="http://www.programmersparadox.com/2008/08/17/teslers-law/">Tesler&#8217;s Law</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I was reading <a href="http://www.dehora.net/journal/2008/08/15/rest-as-an-engineering-discipline/">Bill de hOra</a> the other day, and he mentions Tesler&#8217;s Law.  I&#8217;d never heard of Tesler or his law, so I followed the <a href="http://www.designingforinteraction.com/tesler.html">link</a>.  Turns out <a href="http://en.wikipedia.org/wiki/Larry_Tesler">Larry Tesler</a> is a pretty big name in the user interface field, as far as I can gather, although his law is lacking a Wikipedia page (perhaps I should fix that).</p>
<p>Tesler&#8217;s Law is this:</p>
<blockquote><p>The Law of Conservation of Complexity: Every application must have an inherent amount of irreducible complexity. The only question is who will have to deal with it.</p></blockquote>
<p>In the <a href="http://www.designingforinteraction.com/tesler.html">interview Bill de hOra links to</a>, Tesler further enumerates on his law:</p>
<blockquote><p>If a million users each waste a minute a day dealing with complexity that an engineer could have eliminated in a week by making the software a little more complex, you are penalizing the user to make the engineer&#8217;s job easier.</p>
<p>Whose time is more important to the success of your business? For mass market software, unless you have a sustainable monopoly position, the customer&#8217;s time has to be more important to you than your own.</p></blockquote>
<p>I agree.  I think if we look at some of the most successful applications in history, we&#8217;ll find Tesler&#8217;s law at work behind their success.</p>
<p><br/><br/><a href="http://www.programmersparadox.com/2008/08/17/teslers-law/">Tesler&#8217;s Law</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersparadox.com/2008/08/17/teslers-law/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
