<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xml:lang="en" xml:base="http://donttrustthisguy.com/wp-atom.php">
	<title type="text">DontTrustThisGuy.com</title>
	<subtitle type="text">Why not take my word for it?</subtitle>

	<updated>2010-03-09T09:14:53Z</updated>
	<generator uri="http://wordpress.org/" version="2.9.2">WordPress</generator>

	<link rel="alternate" type="text/html" href="http://donttrustthisguy.com" />
	<id>http://donttrustthisguy.com/feed/atom/</id>
	

			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Donttrustthisguycom" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="donttrustthisguycom" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
		<author>
			<name>Jim Jeffers</name>
						<uri>http://www.donttrustthisguy.com/blog</uri>
					</author>
		<title type="html"><![CDATA[The Art and Zen of Writing CSS]]></title>
		<link rel="alternate" type="text/html" href="http://donttrustthisguy.com/2010/03/07/the-art-and-zen-of-writing-css/" />
		<id>http://donttrustthisguy.com/?p=391</id>
		<updated>2010-03-09T09:14:53Z</updated>
		<published>2010-03-07T12:52:22Z</published>
		<category scheme="http://donttrustthisguy.com" term="code" /><category scheme="http://donttrustthisguy.com" term="css" /><category scheme="http://donttrustthisguy.com" term="philosophy" /><category scheme="http://donttrustthisguy.com" term="productivity" />		<summary type="html"><![CDATA[I&#8217;ve been writing pure html/css layouts for well over eight years now. While I&#8217;ve found best practices in the form of convention and documentation to be useful. They don&#8217;t prevent some of my CSS nightmares from reoccurring. They merely make them less painful. My solution is to follow guiding principles in the way I write [...]]]></summary>
		<content type="html" xml:base="http://donttrustthisguy.com/2010/03/07/the-art-and-zen-of-writing-css/"><![CDATA[<p>I&#8217;ve been writing pure html/css layouts for well over eight years now. While I&#8217;ve found best practices in the form of convention and documentation to be useful. They don&#8217;t prevent some of my CSS nightmares from reoccurring. They merely make them less painful. My solution is to follow guiding principles in the way I write stylesheets. These principles form a foundation for writing stylesheets that will be easier to work in as the project grows.</p>
<p><span id="more-391"></span></p>
<h3>Lesson One: Only be Specific When You Need to Be.</h3>
<p>There is a hesitation to fully utilize the cascade. Many people who have worked in CSS for a long time tend to utilize very powerful pseudo-selectors to target specific elements. This is all well and good but it also creates a dangerous habit. <strong>We become uncomfortable writing rules that are not highly specific.</strong></p>
<p>This has been a hard lesson learned many times over. My preference has always been to be accurate. I&#8217;d write CSS rules that were really detailed and specific. But this is bad. Specific rules paint you into a corner and make reuse very difficult. <strong>Instead, use the most general rule you can to get the job done and only write rules that are more specific when the situation presents itself.</strong> See the example below:</p>
<p><script src="http://gist.github.com/324170.js?file=be_generic.css"></script></p>
<p>Now it&#8217;s true that the second rule would apply to every paragraph tag on the site. But at first this is fine. Imagine how simple it is to add more specific rules later. As projects grow and styles become inherently more complex by necessity, the situations where we need to become more specific will naturally present themselves. If we are generic from the start we can take advantage of the cascade and overwrite rules with more specific rules when we need to.</p>
<p>To see how bad it can get take a look at these two examples (the third set of rules is an example of adding additional style info with a more specific selector):</p>
<p><script src="http://gist.github.com/324170.js?file=nightmare.css"></script></p>
<p>This seems like a fundamental lesson in CSS. We can write styles that apply to many objects and the more specific rules will take precedence. Most people who write CSS know this. What&#8217;s not usually brought up is the fact that it&#8217;s much safer to avoid the complexity created by writing more specific CSS. There are two laws I would propose in regards to specificity in CSS:</p>
<ul>
<li>The complexity of your stylesheet is directly correlated to how specific your selectors are.</li>
<li>Refactoring CSS selectors to be less specific is exponentially more difficult than simply adding specific rules as situations arise.</li>
</ul>
<h3>Lesson Two: You Must Start Somewhere.</h3>
<p>Whether you work alone or on a team you need to have a starting point in your stylesheet. A starting point is a generic set of rules that defines how we expect our environment to behave. This is generally important when working in CSS but infinitely more important when working on a CSS document with multiple contributors. Everyone needs to be on the same page and having a baseline foundation for our stylesheet is the best trick we have in our arsenal for achieving exactly this.</p>
<p>My starting point is <a href="http://meyerweb.com/eric/tools/css/reset/index.html">Eric Meyer&#8217;s Reset CSS</a>. Unfortunately for your own productivity, it seems that using a reset stylesheet is a controversial subject. Some experienced with CSS consider these tools to be <a href="http://snook.ca/archives/html_and_css/no_css_reset/">unnecessary</a> or <a href="http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/">just plain bad</a>. But the truth is that we all use them in one form or another. The real problem with reset stylesheets is that they were named &#8220;reset&#8221;. They are not resets but rather they serve as our baselines, our foundations, our intentions for how we want our environment to behave.</p>
<p>The reality is if we don&#8217;t use CSS resets we implement them in a much more difficult manner. We repeat ourselves where we have to throughout the document in order to achieve a standard desired behavior. The best example are margins. Every web browser platform has it&#8217;s own default styles for margins on different elements. There is no way in hell any of us can memorize the variations of these defaults in our minds let alone compensate for them without taking a serious productivity hit.</p>
<p>If you don&#8217;t define your starting point then you inherent every browser&#8217;s own pre-defined starting point. This leads to a much more hostile environment for our work to be deployed. We&#8217;re giving up control of our environment. It&#8217;s much less predictable. It&#8217;s actually very very scary.</p>
<p>That&#8217;s not to say reset CSS files are the holy grail to writing good CSS. Far from it. They can be a pain if you don&#8217;t tailor them. For example, many people don&#8217;t like certain settings used in some reset CSS files. A common example is that the &#8217;strong&#8217; element is no longer bold. But that&#8217;s because the reset is distributed as a pure example. It&#8217;s up to you and your team to change this reset file for your own purposes. If you want strong to be bold adjust the reset. Ultimately, you will develop your own reset.css (though really I think we should call it base.css) over time. The key lessons here are:</p>
<ul>
<li>Base stylesheets grant CSS authors control over their environment.</li>
<li>Base styles are key to creating a shared set of assumptions or expectations amongst multiple contributors.</li>
<li>Base styles do not guarantee cross browser compatibility but rather buy us and our team members predictable outcomes.</li>
</ul>
<h3>Lesson Three: Rely on Specificity Over Order.</h3>
<p>A basic principle in CSS is that if you write two equally specific rules the latter takes precedence. In other words, order matters in your CSS. But this is dangerous. Order only matters if you let it matter &#8211; by writing rules with selectors of equal specificity.</p>
<p>As stylesheets grow in size they become more cumbersome to manage. To remain productive in our files we break them down into sections. Or we separate our rules into entirely separate files.</p>
<p>A reliance on the order our code makes it very brittle or fragile. When we need to incorporate a strategy for organizing our code we can easily disrupt the original order the rules appeared in. This is significant because as I stated earlier it&#8217;s more manageable to write selectors that are less specific and more general. That does not mean you should incorporate the principle of order as a technique for maintaining a stylesheet with generic rules. If you have two rules of equal specificity that conflict with each other then you need to make one of them more specific in the interest of writing a stylesheet that is flexible enough to be reorganized in a structural framework.</p>
<p>Additionally, most of the occurrences in our stylesheets that provide situations where we have rules which overrule each other due to their order of appearance tend to deal with duplicate selectors. These cases are ideal scenarios where our CSS could potentially be refactored.</p>
<p>The key take aways from this point are:</p>
<ul>
<li>Stylesheets that have a strong reliance on order of appearance are inherently more brittle and more susceptible to problems when we attempt to restructure or reorganize our documents.</li>
<li>Rules that are overwritten due to their order of appearance typically  could or should be refactored.</li>
</ul>
<h3>Lesson Four: Be Clear and Expressive.</h3>
<p>You need to be clear on what you expect. You need to be clear on how things should be done and handled in your document. How do you do that in CSS? Simply with commenting. We can provide ample amounts of documentation in our CSS files simply by commenting. We can use comments to:</p>
<ul>
<li>Define best practices.</li>
<li>Denote organizational sections.</li>
<li>Provide references for resources.</li>
</ul>
<p>There are two problems here. The first is that not enough people utilize comments in their stylesheets. The second is that many authors don&#8217;t see the need to. Yes the latter is probably the reason for the former.</p>
<p>Let&#8217;s look into why we might not think commenting or documenting our expectations and best practices in the document may be worthwhile. The first reason is that comments make our CSS file larger in file size. Yes &#8211; this is certainly true but we can easily use YUI compressor or write <a href="http://github.com/jimjeffers/CSS-Reader">simple scripts to automate the process of minifying and removing comments</a> from our production code.</p>
<p>The second reason might be that you&#8217;re the only author touching the stylesheet. This is incredibly short sighted. Always always (always!) plan on someone else touching your stylesheet at some point in time. Chances are you are not the only one who will be working on the project for eternity. In other words &#8211; count on the fact that someone else will eventually be writing code in your stylesheet as well. You may as well make it clear to them as to how they should do it to maintain a consistent stylesheet. Otherwise you may find yourself cleaning up a big mess later when you&#8217;re called back to work on a broken site!</p>
<p>Being expressive is easier said than done though. How do you go about declaring how you expect things to be done? I personally embed my best practices in a short set of directions complete with an example in a comment at the top of all of my stylesheet files. The snippet looks like this:</p>
<p><script src="http://gist.github.com/324170.js?file=best_practices.css"></script></p>
<p>The point here is you can utilize comments to make things very clear in a simple elegant fashion. Just document your CSS as you should be documenting all of your code. Textmate users can benefit from a <a href="http://donttrustthisguy.com/2008/01/05/css-commenting-with-textmate/">CSS commenting bundle</a> I put together a few years ago to quickly document and section apart their stylesheets. What you need to remember regarding expressiveness in your CSS is the following:</p>
<ul>
<li>Utilize comments to define how CSS should be formatted and written for other authors.</li>
<li>Always count on the fact that someone other than you will probably work in this document at some point in time.</li>
<li>Utilize comments to organize your code into sections. Comments can effectively become a navigation system within your CSS document.</li>
</ul>
]]></content>
		<link rel="replies" type="text/html" href="http://donttrustthisguy.com/2010/03/07/the-art-and-zen-of-writing-css/#comments" thr:count="30" />
		<link rel="replies" type="application/atom+xml" href="http://donttrustthisguy.com/2010/03/07/the-art-and-zen-of-writing-css/feed/atom/" thr:count="30" />
		<thr:total>30</thr:total>
	</entry>
		<entry>
		<author>
			<name>Jim Jeffers</name>
						<uri>http://www.donttrustthisguy.com/blog</uri>
					</author>
		<title type="html"><![CDATA[Content is Effective Web Design]]></title>
		<link rel="alternate" type="text/html" href="http://donttrustthisguy.com/2009/09/27/content-is-king/" />
		<id>http://donttrustthisguy.com/?p=364</id>
		<updated>2009-09-27T13:33:20Z</updated>
		<published>2009-09-27T13:28:12Z</published>
		<category scheme="http://donttrustthisguy.com" term="design" /><category scheme="http://donttrustthisguy.com" term="content" /><category scheme="http://donttrustthisguy.com" term="copywriting" /><category scheme="http://donttrustthisguy.com" term="interaction design" /><category scheme="http://donttrustthisguy.com" term="usability" />		<summary type="html"><![CDATA[Ever hear someone say &#8220;don&#8217;t judge a book by its cover&#8221; before? Well, they&#8217;re absolutely right &#8211; especially when it comes to designing for the web. In contrast to a book, designing for the web raises a much more complex dilemma: we don&#8217;t have the reader&#8217;s undivided attention and we&#8217;re often telling more than one [...]]]></summary>
		<content type="html" xml:base="http://donttrustthisguy.com/2009/09/27/content-is-king/"><![CDATA[<p>Ever hear someone say &#8220;don&#8217;t judge a book by its cover&#8221; before? Well, they&#8217;re absolutely right &#8211; especially when it comes to designing for the web. In contrast to a book, designing for the web raises a much more complex dilemma: we don&#8217;t have the reader&#8217;s undivided attention and we&#8217;re often telling more than one story. We&#8217;re addressing several different readers with different needs through the same medium.</p>
<p><span id="more-364"></span></p>
<p>In reality, web designers have they&#8217;re work cut out for them. It&#8217;s not as simple as <a href="http://www.templatemonster.com/">creating a pretty template and plugging some content into it</a>. <strong>The design itself is an outcome of the content.</strong> To quote someone else:</p>
<p><a href="http://boxesandarrows.com/view/the-content"><img src="http://donttrustthisguy.com/wp-content/uploads/2009/09/creating_a_framework.png" alt="We’re essentially creating a framework for communication and messaging." title="We’re essentially creating a framework for communication and messaging." width="889" height="184" class="alignnone size-full wp-image-366" /></a></p>
<p>Our work in web design is all about the content. The visual design is intended to effectively deliver and support our content. So to judge the quality of a website, you really have to judge it by it&#8217;s content. Next time you critique a website try to answer these three questions:</p>
<ul>
<li>Who is this website serving?</li>
<li>Why are they coming here? (specifically, what is it they need to do?)</li>
<li>How does the site inform the reader or guide them through a process?</li>
</ul>
<h3>Who is your website serving?</h3>
<p>A lot of our upfront design research is dedicated towards understanding our users and segmenting them by the types of tasks they need to accomplish so that we can derive <a href="http://www.flickr.com/photos/rosenfeldmedia/sets/72157603511616271/">mental models</a> and <a href="http://www.boxesandarrows.com/view/personas-and-the">personas</a>. One key benefit of doing such research is <strong>so that we can get the right content to the people who matter.</strong></p>
<h4>Why are readers coming to your site?</h4>
<p>Remember that <strong>we goto websites for a reason.</strong> It could be to learn something, such as reading an article, to achieve something, such as checking my facebook inbox, or simply to be entertained, such as playing an online game. No matter what, we visit web sites for one reason or another. We need to write our content and structure our design to facilitate these motivations. Your readers came to your site to do something; <a href="http://www.gerrymcgovern.com/nt/2007/nt-2007-10-01-killer-web-content.htm">get to the point</a>.</p>
<h3>How is your website informing its readers?</h3>
<p>It&#8217;s still all too common to see brochureware websites. These sites are organization centric and are chock full of information that tends to be informative but irrelevant to the user and their task. For example, if you&#8217;re in retail chances are most people coming to your site because they want to buy something or find out how to get to your store. They probably don&#8217;t care about staff policies, or how the business was founded twenty years ago, etc..</p>
<p>Let&#8217;s use the copy for a staffing company as an example &#8211; a good approach would be to write to the user directly in a tone like this: &#8220;You can get hired today find out how!&#8221; not &#8220;Welcome to our website. We&#8217;ve been helping professional candidates get the positions they deserved for twenty years!&#8221;. One version engages the reader directly. The other simply builds up the company. To learn more about writing user centric task orientated copy I recommend reading Gerry McGovern&#8217;s comprehensive guide: <a href="http://www.amazon.com/dp/071367704X?tag=gerrymcgovern-20&#038;camp=14573&#038;creative=327641&#038;linkCode=as1&#038;creativeASIN=071367704X&#038;adid=0YXKNQTPKNWS8BJ8HNPV&#038;">Killer Web Content</a></p>
<h3>Taking Content and Copy Seriously</h3>
<p>Jakob Nielsen doesn&#8217;t dance around the topic:</p>
<p><a href="http://www.useit.com/alertbox/twitter-iterations.html"><img src="http://donttrustthisguy.com/wp-content/uploads/2009/09/text_is_a_ui.png" alt="Text is a UI." title="Text is a UI." width="889" height="144" class="alignnone size-full wp-image-376" /></a></p>
<p>Nielsen says that it&#8217;s all too common for design teams to only consider full fledged GUI&#8217;s as interaction design. He points out that email and even the URLs your website use are forms of interaction and need appropriate amounts of attention. <a href="http://www.useit.com/alertbox/twitter-iterations.html">He also states that the shorter your text  is, the more important it is to design text for usability.</a></p>
<p>Think about short text in your design. Are the terms you&#8217;re using to describe each section in your primary navigation correct? It&#8217;s really important you get this stuff right.</p>
<p>The guys over at 37 signals have been <a href="http://37signals.com/svn/archives2/getting_real_copywriting_is_interface_design.php">saying this for years now</a>:</p>
<p><a href="http://37signals.com/svn/archives2/getting_real_copywriting_is_interface_design.php"><img src="http://donttrustthisguy.com/wp-content/uploads/2009/09/copywriting_is_interface_design.png" alt="Copywriting is interface design. Great Interfaces Are Written. If you think every pixel matters then you also need to think every letter matters." title="Copywriting is interface design. Great Interfaces Are Written. If you think every pixel matters then you also need to think every letter matters." width="889" height="300" class="alignnone size-full wp-image-377" /></a></p>
<p>Designers and clients can bicker all they want about the color, drop shadow, and font-face used on a button. But more important than all of those things, even its placement/positioning, is what the label on that button says. If a user notices and reads your call to action but doesn&#8217;t understand what it means than all of that effort was pointless. This is not to discount art direction, visual hierarchy, and aesthetics, but rather to put them in their place. <strong>You need to know what you&#8217;re saying before you get into any of those details.</strong></p>
<p>&#8220;It looks good, but what did it say?&#8221;, that&#8217;s what <a href="http://twitter.com/asianmack">Jamie Dihiansan</a> asks when <a href="http://37signals.com/svn/posts/1652-designers-make-it-memorable">designing the marketing sites for 37 signals</a>. Dihiansan says <strong>&#8220;You have to make your site memorable. Your site has to speak clearly.&#8221;</strong> If you don&#8217;t your project was nothing more than an exercise in aesthetic awaiting to be succeeded by more modern implementations in the fashionable world of commercial visual design.</p>
<h3>Copy Alters the Entire User Experience</h3>
<p>Bill DeRouchey does an excellent job pointing out that even the <a href="http://blip.tv/file/2232132/">tone of the content can make a big difference in the overall user experience</a> of a web site. We can write content in a way that it strikes us, or even throws us off. The point of the story is that you can create a richer and more powerful experience by writing your content in a way that gives your site some personality. If you have some time I strongly encourage you to watch Bill&#8217;s talk below:</p>
<p><embed src="http://blip.tv/play/g9NcgYj0f5fsPQ" type="application/x-shockwave-flash" width="400" height="330" allowscriptaccess="always" allowfullscreen="true"></embed> </p>
]]></content>
		<link rel="replies" type="text/html" href="http://donttrustthisguy.com/2009/09/27/content-is-king/#comments" thr:count="7" />
		<link rel="replies" type="application/atom+xml" href="http://donttrustthisguy.com/2009/09/27/content-is-king/feed/atom/" thr:count="7" />
		<thr:total>7</thr:total>
	</entry>
		<entry>
		<author>
			<name>Jim Jeffers</name>
						<uri>http://www.donttrustthisguy.com/blog</uri>
					</author>
		<title type="html"><![CDATA[A Quick Primer for an Effective Web(app) Design Process]]></title>
		<link rel="alternate" type="text/html" href="http://donttrustthisguy.com/2009/05/31/a-quick-primer-for-an-effective-webapp-design-process/" />
		<id>http://donttrustthisguy.com/?p=338</id>
		<updated>2009-05-31T22:40:48Z</updated>
		<published>2009-05-31T22:39:56Z</published>
		<category scheme="http://donttrustthisguy.com" term="design" /><category scheme="http://donttrustthisguy.com" term="books" /><category scheme="http://donttrustthisguy.com" term="interaction design" /><category scheme="http://donttrustthisguy.com" term="process" />		<summary type="html"><![CDATA[A big problem with interface design is the focus on aesthetic. Remember that your website is first and foremost a tool for people to interact with your company. Aesthetic is only a factor in the overall consideration of the design process.

What&#8217;s most important is understanding your customers, your readers, your prospects. To have a successful [...]]]></summary>
		<content type="html" xml:base="http://donttrustthisguy.com/2009/05/31/a-quick-primer-for-an-effective-webapp-design-process/"><![CDATA[<p>A big problem with interface design is the focus on aesthetic. Remember that your website is first and foremost a tool for people to interact with your company. Aesthetic is only a factor in the overall consideration of the design process.</p>
<p><span id="more-338"></span></p>
<p>What&#8217;s most important is understanding your customers, your readers, your prospects. To have a successful design implemented you need to take a few steps back and get away from design all together. Here&#8217;s how to start:</p>
<h3>1. Design Research (Personas / Mental Models)</h3>
<p>Start by segmenting the different groups of people who use your site; or who your trying to target to use your site.  Research what they are trying to get out of your site. What is it that they need? What is it that you need to tell them in order to convert them from a prospect to a client? These motives and outcomes need to be evaluated and documented so that you can design effectively.</p>
<ul>
<li><a href="http://www.amazon.com/gp/product/1933820063?ie=UTF8&#038;tag=donttcom-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1933820063">Mental Models: Aligning Design Strategy with Human Behavior</a><img src="http://www.assoc-amazon.com/e/ir?t=donttcom-20&#038;l=as2&#038;o=1&#038;a=1933820063" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</li>
<li><a href="http://www.amazon.com/gp/product/0596516835?ie=UTF8&#038;tag=donttcom-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0596516835">Subject To Change: Creating Great Products &#038; Services for an Uncertain World: Adaptive Path on Design</a><img src="http://www.assoc-amazon.com/e/ir?t=donttcom-20&#038;l=as2&#038;o=1&#038;a=0596516835" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</li>
</ul>
<h3>2. Paper Prototyping</h3>
<p>The next step is to get ideas flushed out rapidly on paper. You may iterate through several ideas. The idea here is to quickly create concepts for different scenarios that your users will encounter to achieve the tasks you want them to do on your site. If you flush it out quickly on paper you can actually run various ideas past sample groups to get some immediate feedback. You can test to see if they were able to accomplish the tasks you set out for them to do. You can also find out if they need to be able to do something you didn&#8217;t necessarily anticipate. This is a very low fidelity form of user testing and a crucial step in a successful design process.</p>
<ul>
<li><a href="http://www.amazon.com/gp/product/1558608702?ie=UTF8&#038;tag=donttcom-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1558608702">Paper Prototyping: The Fast and Easy Way to Design and Refine User Interfaces</a><img src="http://www.assoc-amazon.com/e/ir?t=donttcom-20&#038;l=as2&#038;o=1&#038;a=1558608702" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</li>
<li><a href="http://www.amazon.com/gp/product/0123740371?ie=UTF8&#038;tag=donttcom-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0123740371">Sketching User Experiences</a><img src="http://www.assoc-amazon.com/e/ir?t=donttcom-20&#038;l=as2&#038;o=1&#038;a=0123740371" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</li>
</ul>
<h3>2b. HTML/Flash Prototypes</h3>
<p>If your budget permits you can actually build out your newly sketched out website as a plain looking interface. The goal here not to create something that looks amazing. The goal is to build something that represents the paper design as quickly as possible. By doing this you can then actually send customers / users to the working prototype and see how they actually use it.</p>
<ul>
<li><a href="http://www.boxesandarrows.com/view/html_wireframes_and_prototypes_all_gain_and_no_pain">HTML Prototyping: All Gain No Pain</a></li>
<li><a href="http://24ways.org/2008/easier-page-states-for-wireframes">Easier Page States with Polypage</a></li>
</ul>
<h3>3. Art Direction / Mockups</h3>
<p>Finally, once you have worked out all of the kinks with your design you can start focusing on making it pretty. Again, aesthetic is very important but it often comes to soon in the design process. People view this segment as the design process when in fact it is really the last step. Aesthetic is used to improve the user experience of the site. It comes in the form of art direction as well as animation and other interactive effects that can help communicate actions and provide feedback to the user. This step can be very time consuming and making changes to the overall UI when working in high fidelity becomes a more time consuming process. Thus it makes it harder for us to react to the necessary changes we need to make to our website in order for our design to be truly successful. This is why you must focus on aesthetic at a later stage in the design process.</p>
<ul>
<li><a href="http://www.amazon.com/gp/product/0321584848?ie=UTF8&#038;tag=donttcom-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0321584848">CSS Artistry: A Web Design Master Class (includes full-color Transcending CSS book and 2 1/2-hour Inspired CSS DVD video training)</a><img src="http://www.assoc-amazon.com/e/ir?t=donttcom-20&#038;l=as2&#038;o=1&#038;a=0321584848" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</li>
<li><a href="http://www.amazon.com/gp/product/0764536745?ie=UTF8&#038;tag=donttcom-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0764536745">Site-Seeing: A Visual Approach to Web Usability</a><img src="http://www.assoc-amazon.com/e/ir?t=donttcom-20&#038;l=as2&#038;o=1&#038;a=0764536745" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</li>
</ul>
]]></content>
		<link rel="replies" type="text/html" href="http://donttrustthisguy.com/2009/05/31/a-quick-primer-for-an-effective-webapp-design-process/#comments" thr:count="13" />
		<link rel="replies" type="application/atom+xml" href="http://donttrustthisguy.com/2009/05/31/a-quick-primer-for-an-effective-webapp-design-process/feed/atom/" thr:count="13" />
		<thr:total>13</thr:total>
	</entry>
		<entry>
		<author>
			<name>Jim Jeffers</name>
						<uri>http://www.donttrustthisguy.com/blog</uri>
					</author>
		<title type="html"><![CDATA[Igniting Phoenix]]></title>
		<link rel="alternate" type="text/html" href="http://donttrustthisguy.com/2009/05/13/igniting-phoenix/" />
		<id>http://donttrustthisguy.com/?p=323</id>
		<updated>2009-05-13T22:13:21Z</updated>
		<published>2009-05-13T22:07:43Z</published>
		<category scheme="http://donttrustthisguy.com" term="design" /><category scheme="http://donttrustthisguy.com" term="css2" /><category scheme="http://donttrustthisguy.com" term="css3" /><category scheme="http://donttrustthisguy.com" term="ignite" /><category scheme="http://donttrustthisguy.com" term="javascript" /><category scheme="http://donttrustthisguy.com" term="jQuery" /><category scheme="http://donttrustthisguy.com" term="phoenix" />		<summary type="html"><![CDATA[It&#8217;s been too long since I&#8217;ve written anything on this blog. Fortunately, I&#8217;ve had the opportunity to work on a few interesting projects in the last couple of months. The one I&#8217;m sharing with you today was done as a surprise for the Ignite Phoenix team and the community in general.




The commenting system incorporates functionality [...]]]></summary>
		<content type="html" xml:base="http://donttrustthisguy.com/2009/05/13/igniting-phoenix/"><![CDATA[<p>It&#8217;s been too long since I&#8217;ve written anything on this blog. Fortunately, I&#8217;ve had the opportunity to work on a few interesting projects in the last couple of months. The one I&#8217;m sharing with you today was done as a surprise for the <a href="http://ignite-phoenix.org" title="Ignite Phoenix">Ignite Phoenix</a> team and the community in general.</p>
<p><span id="more-323"></span><br />
<img src="http://donttrustthisguy.com/wp-content/uploads/2009/05/tca.jpg" alt="Tempe Center for the Arts" title="Tempe Center for the Arts" width="890" height="454" class="alignnone size-full wp-image-325" /></p>
<div class="cited_photo">
<p><img src="http://donttrustthisguy.com/wp-content/uploads/2009/05/comment_example.jpg" alt="An example of the dynamic commenting system." title="An example of the dynamic commenting system." width="290" height="359" class="alignnone size-full wp-image-326" /><br />
<cite>The commenting system incorporates functionality from <a href="http://donttrustthisguy.com/2009/01/04/encouraged-commentary/">encouraged commentary</a>.</cite></p>
</div>
<p><img src="http://donttrustthisguy.com/wp-content/uploads/2009/05/ignite_title.jpg" alt="ignite_title" title="Ignite Phoenix Headline with Phoenix Skyline." width="590" height="270" class="alignnone size-full wp-image-324" /></p>
<h3>Visually Phoenix</h3>
<p>On the surface I&#8217;ve tried to incorporate colors and tones more representative of Phoenix. You&#8217;ll find illustrative elements resembling our city as well. The site headline contains the Phoenix skyline &#8211; as does the site footer. I&#8217;ve also made a minimalist illustration of the Tempe Center for the Arts; the amazing venue hosting the event.</p>
<p>More notable however is the extensive use of transparency used throughout the site. This was achieved with PNG images and rgba color values in the CSS. For viewers in IE7 and IE6 these features have been gracefully degraded. Indeed the entire design and build of this site was an extensive exercise in progressive enhancement.</p>
<h3>Overflowing with CSS Tricks</h3>
<p>A lot of tricks with overflow and absolute positioning were used to achieve various effects throughout the site. For instance, the three flickr images shown in the intro content are cropped by a containing element. The border around them is achieved with rgba transparency to create a unique effect for those who are visiting the site with modern browsers.</p>
<p><img src="http://donttrustthisguy.com/wp-content/uploads/2009/05/cropped_images.jpg" alt="Images Cropped with CSS" title="Images Cropped with CSS" width="590" height="257" class="alignnone size-full wp-image-327" /></p>
<h3>Getting Inline with Block</h3>
<p>Another fairly simple CSS feature I took advantage was the &#8216;inline-block&#8217; display mode. A well supported CSS feature that I&#8217;ve not used to much extent prior to this project other than a work around when we ran into layout complications. In this case I was able to use rgba transparency and &#8216;inline-block&#8217; to create a pretty neat highlighting effect. I also liked how I was able to make elements of different formats run into each other quite naturally with this display mode.</p>
<p><img src="http://donttrustthisguy.com/wp-content/uploads/2009/05/inline-block.jpg" alt="Unique Effect on Headings with Inline-Block and rgba." title="Unique Effect on Headings with Inline-Block and rgba." width="590" height="505" class="alignnone size-full wp-image-328" /></p>
<h3>Advanced Positioning</h3>
<p>Nearly every major element of the page is absolutely positioned so that we could achieve a fluid layout that spans the entire width of the browser window but meets gracefully in the center. The content itself is contained in a 960px grid from the <a href="http://960.gs">960.gs</a> system. To use absolute positioning so extensively we had to hack some magic with some simple <a href="http://jquery.com">jQuery</a>:</p>
<pre name="code" class="javascript">
function ensureAboveEachOther(onTop,onBottom,spacing){
   if(onTop.length > 0 &#038;&#038; onBottom.length > 0) {
      onBottom.css('top',onTop.position().top+onTop.height()+spacing);
   }
}
</pre>
<h3>A Navigation That Watches You</h3>
<p>The main content of the site is presented in a single page layout. So naturally, it works just fine without javascript as the nav anchors point to targets on the page. However, for a better experience I&#8217;ve implemented some smooth automated scrolling via jQuery. Still though, it helps to know what section you&#8217;re in, and these fixed position navigations fail if they don&#8217;t update as the user scrolls out of the current section. Again, jQuery is here for the rescue:</p>
<pre name="code" class="javascript">
// Setup scrolling selector update.
      var scrollTarget = $(window);
      scrollTarget.scroll(function(){
         // TODO:
         // Refactor this into a nice function sometime later.

         // About
         if(scrollTarget.scrollTop() > about.position().top-100 &#038;&#038; scrollTarget.scrollTop() < venue.position().top-100) {
            $('#primary_navigation li.about').addClass('current');
         } else {
            $('#primary_navigation li.about.current').removeClass('current');
         }
         ...
   });
</pre>
<h3>A Big Thanks</h3>
<p>Overall I'm really pleased with how the site came out. I have to thank <a href="http://tomascarrillo.com/">Tomas Carrillo</a> who went out of his way to make sure that this project got to see the light of day. Though I did all of the work to create and build the theme, there was a considerable amount of work done to make sure the theme wouldn't break existing content on the site. If Tomas didn't make the time to do this the theme would have sat on the sidelines as nothing more than a pretty concept. This is for everyone who is involved as an organizer, sponsor, speaker, or community participant just coming to see the event. I hope you <a href="http://ignite-phoenix.org">enjoy it and see you in June</a>!</p>
<h3>One More Thing</h3>
<p>Since this is a community project the entire source for the wordpress theme is <a href="https://github.com/jimjeffers/Ignite-Phoenix-Wordpress-Theme/tree">available on GitHub</a>. Feel free to check it out!</p>
<ul>
<li><a href="http://ignite-phoenix.org">Visit the new Ignite Phoenix website!</a></li>
<li><a href="https://github.com/jimjeffers/Ignite-Phoenix-Wordpress-Theme/tree">Grab the Theme Code Off GitHub</a></li>
</ul>
</pre>
]]></content>
		<link rel="replies" type="text/html" href="http://donttrustthisguy.com/2009/05/13/igniting-phoenix/#comments" thr:count="11" />
		<link rel="replies" type="application/atom+xml" href="http://donttrustthisguy.com/2009/05/13/igniting-phoenix/feed/atom/" thr:count="11" />
		<thr:total>11</thr:total>
	</entry>
		<entry>
		<author>
			<name>Jim Jeffers</name>
						<uri>http://www.donttrustthisguy.com/blog</uri>
					</author>
		<title type="html"><![CDATA[Getting Started With Encouraged Commentary]]></title>
		<link rel="alternate" type="text/html" href="http://donttrustthisguy.com/2009/01/10/encouraged-commentary-getting-started/" />
		<id>http://donttrustthisguy.com/?p=315</id>
		<updated>2009-01-10T21:04:21Z</updated>
		<published>2009-01-10T20:59:06Z</published>
		<category scheme="http://donttrustthisguy.com" term="code" /><category scheme="http://donttrustthisguy.com" term="comments" /><category scheme="http://donttrustthisguy.com" term="documentation" /><category scheme="http://donttrustthisguy.com" term="javascript" /><category scheme="http://donttrustthisguy.com" term="jQuery" />		<summary type="html"><![CDATA[Since interest in this idea has taken off so much I revised the encouraged commentary script so that it would be more flexible for public use. You can toggle on or off pretty much and of the main features.
I&#8217;ve explained in depth how to get it setup on your blog/website. Encouraged commentary will work in [...]]]></summary>
		<content type="html" xml:base="http://donttrustthisguy.com/2009/01/10/encouraged-commentary-getting-started/"><![CDATA[<p>Since interest in this idea has taken off so much I revised the encouraged commentary script so that it would be more flexible for public use. You can toggle on or off pretty much and of the main features.</p>
<p>I&#8217;ve explained in depth how to get it setup on your blog/website. Encouraged commentary will work in wordpress, textpattern, moveable type, typo, mephisto, drupal, expression engine, etc.. There is no plugin required. You just have to make some minor changes to the HTML markup in your theme or template files. To get started:</p>
<ul>
<li><a href="http://github.com/jimjeffers/encouraged-commentary/tree/master">Grab the source code from github.</a></li>
<li><a href="http://wiki.github.com/jimjeffers/encouraged-commentary">View the Wiki for detailed directions.</a></li>
</ul>
]]></content>
		<link rel="replies" type="text/html" href="http://donttrustthisguy.com/2009/01/10/encouraged-commentary-getting-started/#comments" thr:count="14" />
		<link rel="replies" type="application/atom+xml" href="http://donttrustthisguy.com/2009/01/10/encouraged-commentary-getting-started/feed/atom/" thr:count="14" />
		<thr:total>14</thr:total>
	</entry>
		<entry>
		<author>
			<name>Jim Jeffers</name>
						<uri>http://www.donttrustthisguy.com/blog</uri>
					</author>
		<title type="html"><![CDATA[Encouraged Commentary]]></title>
		<link rel="alternate" type="text/html" href="http://donttrustthisguy.com/2009/01/04/encouraged-commentary/" />
		<id>http://donttrustthisguy.com/?p=259</id>
		<updated>2009-01-10T21:03:27Z</updated>
		<published>2009-01-04T23:54:32Z</published>
		<category scheme="http://donttrustthisguy.com" term="design" /><category scheme="http://donttrustthisguy.com" term="interaction design" /><category scheme="http://donttrustthisguy.com" term="javascript" /><category scheme="http://donttrustthisguy.com" term="jQuery" />		<summary type="html"><![CDATA[Recently, I&#8217;ve begun an expedition with jQuery. My first major experiment has been in improving the commenting system on this blog. Sparked by an email discussion with Tomas Carrillo I&#8217;ve implemented a handful of small interactions which make it much easier for you to get involved in the conversation.

Update! I&#8217;ve added detailed directions on how [...]]]></summary>
		<content type="html" xml:base="http://donttrustthisguy.com/2009/01/04/encouraged-commentary/"><![CDATA[<p>Recently, I&#8217;ve begun an expedition with <a href="http://jquery.com" title="The write less do more javascript library.">jQuery</a>. My first major experiment has been in improving the commenting system on this blog. Sparked by an email discussion with <a href="http://theclosetentrepreneur.com" title="Visit Tomas' blog: The Closet Entrepreneur">Tomas Carrillo</a> I&#8217;ve implemented a handful of small interactions which make it much easier for you to get involved in the conversation.</p>
<p><span id="more-259"></span></p>
<p><strong>Update! <a href="http://donttrustthisguy.com/2009/01/10/encouraged-commentary-getting-started/">I&#8217;ve added detailed directions on how to get this system setup on your own blog.</a></strong></p>
<p><img src="http://donttrustthisguy.com/wp-content/uploads/2009/01/chat_bubbles.jpg" alt="How do we follow and participate in a large single threaded discussion medium?" title="chat bubbles" width="890" height="221" class="size-full wp-image-299" /></p>
<div class="cited_photo">
<p><a href="http://www.azarask.in/blog/post/can-ubiquity-be-used-only-with-the-mouse/"><img src="http://donttrustthisguy.com/wp-content/uploads/2009/01/ubiquity.jpg" alt="Ubiquity with only a mouse." title="ubiquity:mouse" width="290" height="190" class="size-full wp-image-288" /></a><cite>Azra Raskin demonstrates how ubiquity can be done with only a mouse.</cite></p>
</div>
<h3>Reusing a Good Idea</h3>
<p>How does it work? Well the primary premise is based off a design pattern that <a href="http://www.azarask.in/blog/post/can-ubiquity-be-used-only-with-the-mouse/">Aza Raskin demonstrated with Ubiquity</a>. Simply highlight any text in the body of this post and a &#8216;Respond&#8217; bubble should fade in near your mouse. As in Ubiquity, the bubble maintains a low opacity in order to be fairly unobtrusive unless you mouse over it. Clicking the respond button scrolls you to the comment box where it is now populated with an html blockquote of the selected text.  Now you can type your comment easily and immediately whilst quoting the article.</p>
<p><img src="http://donttrustthisguy.com/wp-content/uploads/2009/01/highlight_technique.jpg" alt="A demonstration of the respond to highlighted text control." title="Respond to Highlighted Text" width="590" height="287" class="size-full wp-image-285" /></p>
<p>This works even nicer within comments. If you select any text within a comment the &#8216;Respond&#8217; bubble will appear here as well.  This time however, a directive &#8216;@author name&#8217; link is generated for you in addition to the blockquote. It&#8217;s that easy to respond directly to a given comment!</p>
<div class="cited_photo">
<p><a href="http://jasonsantamaria.com/articles/cultivating-conversations/"><img src="http://donttrustthisguy.com/wp-content/uploads/2009/01/cultivating_conversations.jpg" alt="Jason Santa Maria discusses cultivating conversations." title="Cultivating Conversations" width="290" height="314" class="size-full wp-image-268" /></a><cite>Jason Santa Maria wrote a post earlier last month on the hassles of <a href="http://jasonsantamaria.com/articles/cultivating-conversations/">dealing with large discussion threads</a>.</cite></p>
</div>
<h3>More Controls Within Comments</h3>
<p>But why not take it a step further? After all, discussion goes back and forth. Sometimes you may want to follow a specific comment author to find out what else they said, or maybe you want to easily find responses aimed at a specific comment. I&#8217;ve implemented a simple set of lists that appear adjacent to a given comment if applicable content was found. These navigational lists are intended to allow you to jump between related comments and responses quickly. In addition to scrolling &#8211; the targeted comment is highlighted for you.</p>
<p><img src="http://donttrustthisguy.com/wp-content/uploads/2009/01/commenting-controls.jpg" alt="An example of the three different commenting controls." title="Commenting Controls" width="590" height="200" class="size-full wp-image-294" /></p>
<p>Last but not least, when you mouse over any comment you will be presented with two faded controls in its top left corner. These alternatives to the text highlighting utility explained earlier allow you to reply or quote another author without highlighting any text. Click on the &#8216;reply&#8217; control and you simply target that comment. Click on the &#8216;quote&#8217; control and the entire comment (sans embedded block quotes) is quoted for you. Similar to the highlighting technique except this method quotes the entire comment instead of a specific selection.</p>
<h3>Get the Source and Contribute</h3>
<p>While I just hacked this code together in jQuery. I want anyone to feel free to use it on their blogs. I&#8217;m not going to attempt to create some kind of plugin. Each implementation will be too specific and require too much thought for a generic plugin. Instead I have setup a public repository on github so that anyone who would like to use this technique on their own site can go ahead and adjust the source for their own purposes. If you are handy with javascript and would like to extend this idea, modify it, rewrite it in another javascript framework, or make it easier for others to redeploy &#8211; you are more than welcome to feel free to fork away.</p>
<ul>
<li><a href="http://github.com/jimjeffers/encouraged-commentary/tree/master">Access the &#8216;Encouraged Commentary&#8217; Project on GitHub.</a></li>
</ul>
<h3>Sorting &amp; Single Tiered Threading</h3>
<p>As an experiment to help make the conversation flow more naturally the script now sorts responses after their parent and marks them as a response. This keeps everything decently sorted and prevents excessive layers of responses.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://donttrustthisguy.com/2009/01/04/encouraged-commentary/#comments" thr:count="207" />
		<link rel="replies" type="application/atom+xml" href="http://donttrustthisguy.com/2009/01/04/encouraged-commentary/feed/atom/" thr:count="207" />
		<thr:total>207</thr:total>
	</entry>
		<entry>
		<author>
			<name>Jim Jeffers</name>
						<uri>http://www.donttrustthisguy.com/blog</uri>
					</author>
		<title type="html"><![CDATA[The Phoenix Light Rail is Here!]]></title>
		<link rel="alternate" type="text/html" href="http://donttrustthisguy.com/2008/12/28/the-phoenix-light-rail-is-here/" />
		<id>http://donttrustthisguy.com/?p=192</id>
		<updated>2009-01-01T20:01:21Z</updated>
		<published>2008-12-28T19:29:23Z</published>
		<category scheme="http://donttrustthisguy.com" term="good" /><category scheme="http://donttrustthisguy.com" term="environment" /><category scheme="http://donttrustthisguy.com" term="light rail" /><category scheme="http://donttrustthisguy.com" term="phoenix" /><category scheme="http://donttrustthisguy.com" term="transportation" />		<summary type="html"><![CDATA[Hurray! It&#8217;s finally here. The mammoth 1.4 billion dollar light rail project has finally been completed and opened today. To get you started I created my own map of the light rail route. Why? Well &#8211; the Valley Metro&#8217;s online maps are broken into separate pages making it a little difficult to simply glance at [...]]]></summary>
		<content type="html" xml:base="http://donttrustthisguy.com/2008/12/28/the-phoenix-light-rail-is-here/"><![CDATA[<p>Hurray! It&#8217;s finally here. The mammoth <a href="http://en.wikipedia.org/wiki/METRO_Light_Rail_(Phoenix)">1.4 billion dollar light rail project</a> has finally been completed and opened today. To get you started I created my own map of the light rail route. Why? Well &#8211; the Valley Metro&#8217;s online maps are broken into separate pages making it a little difficult to simply glance at the entire twenty mile route easily. I also included the approximate travel times, fares, hours, and stop frequency in this <a href="http://donttrustthisguy.com/wp-content/uploads/2008/12/phoenix_lightrail.pdf" title="Phoenix Light Rail Online Map">easy to use one page printable map</a>.</p>
<p><span id="more-192"></span></p>
<p><a href="http://donttrustthisguy.com/wp-content/uploads/2008/12/phoenix_lightrail.pdf"><img src="http://donttrustthisguy.com/wp-content/uploads/2008/12/lightrail_map.png" alt="Download a printable version of the Phoenix light rail map diagram." title="Phoenix Light Rail Map" width="890" height="454" class="size-full wp-image-193" /></a></p>
<div class="cited_photo">
<p><a href="http://donttrustthisguy.com/2008/12/28/the-phoenix-light-rail-is-here/vm_logo_on_lightrail/" rel="attachment wp-att-207"><img src="http://donttrustthisguy.com/wp-content/uploads/2008/12/vm_logo_on_lightrail.jpg" alt="Valley Metro logo on Light Rail car." title="Valley Metro logo on Light Rail car." width="290" height="438" class="alignnone size-full wp-image-207" /></a><br />
<cite>The Valley Metro logo appears on the new light rail car. 41% of the project or $527 million was subsidized by the federal government while the remainder is being financed by the state of Arizona.</cite></p>
</div>
<p><a href="http://donttrustthisguy.com/2008/12/28/the-phoenix-light-rail-is-here/crowd_on_the_rail/" rel="attachment wp-att-206"><img src="http://donttrustthisguy.com/wp-content/uploads/2008/12/crowd_on_the_rail.jpg" alt="Crowded light rail car." title="Crowded light rail car." width="590" height="335" class="alignnone size-full wp-image-206" /></a></p>
<h3>First Thoughts on the Rail</h3>
<p>Well aside from the light rail being enormously crowded due to opening day hype, the experience was pretty decent. There is seating for 66 of the 200 passengers each car can hold. I was fortunate enough to get a seat on my way back to Tempe and can say it&#8217;s what you would expect &#8211; nothing extraordinary but not uncomfortable. <strong>I was most impressed by the ride; the rail was extremely quiet and smooth.</strong> Let&#8217;s see how long that lasts over the years to come.</p>
<p><a href="http://donttrustthisguy.com/2008/12/28/the-phoenix-light-rail-is-here/crowd_gathered/" rel="attachment wp-att-205"><img src="http://donttrustthisguy.com/wp-content/uploads/2008/12/crowd_gathered.jpg" alt="Crowd Gathered for the Light Rail Arrival." title="Crowd Gathered for the Light Rail Arrival." width="590" height="334" class="alignnone size-full wp-image-205" /></a></p>
<h3>Massive Turnout</h3>
<p>This morning the paper reported that over 90,000 people showed up to check out the light rail. I believe it. It was a difficult chore just to get onto a car. Once on you were greeted with a squeeze that rivaled a Tokyo subway during rush hour. Many of my friends on twitter reported equally distressing hassles making their way onto the rail. I&#8217;m sure you won&#8217;t see it this crowded again in the weeks to come. This is Phoenix after all, most people drive, only us hippies with fixed gear bikes will fancy this alternative over our big 4&#215;4s. Joking aside, I&#8217;m sure more than hipsters and tree huggers will start utilizing the light rail for their commute but not this many.</p>
<p><a href="http://donttrustthisguy.com/2008/12/28/the-phoenix-light-rail-is-here/light_rail_in_front/" rel="attachment wp-att-204"><img src="http://donttrustthisguy.com/wp-content/uploads/2008/12/light_rail_in_front.jpg" alt="Front of the Phoenix Light Rail" title="Front of the Phoenix Light Rail" width="590" height="392" class="alignnone size-full wp-image-204" /></a></p>
<h3>The Light Rail has Arrived &#8211; Try it for Yourself</h3>
<p>I would recommend waiting until next year to ride. Mainly because the fare is so cheap that you may as well wait to use it under normal circumstances. In comparison of costs, the T in Boston will set you back $2 for a one way trip. To ride for an unlimited amount of trips all day it costs $2.50 on the Phoenix rail or $1.25 for a one way ride from any point. Here are a few tips for riding:</p>
<ul>
<li>You can ride to the airport. There is a shuttle that picks you up.</li>
<li>Tempe residents, you can ride the free orbit shuttle from your neighborhood to the nearest light rail stop.</li>
<li>Cyclists, each car has racks for up to 8 bicycles, if all of the racks on your car are full you can carry your bike on board if you need to.</li>
</ul>
<h3>Light Rail Video</h3>
<p>And here I leave you with your moment of Zen. Check out the folks in Tempe greeting the light rail for the first time!</p>
<p><object width="590" height="335"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2653115&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2653115&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="590" height="335"></embed></object></p>
]]></content>
		<link rel="replies" type="text/html" href="http://donttrustthisguy.com/2008/12/28/the-phoenix-light-rail-is-here/#comments" thr:count="23" />
		<link rel="replies" type="application/atom+xml" href="http://donttrustthisguy.com/2008/12/28/the-phoenix-light-rail-is-here/feed/atom/" thr:count="23" />
		<thr:total>23</thr:total>
	</entry>
		<entry>
		<author>
			<name>Jim Jeffers</name>
						<uri>http://www.donttrustthisguy.com/blog</uri>
					</author>
		<title type="html"><![CDATA[Tips for the Aspiring Web Consultant]]></title>
		<link rel="alternate" type="text/html" href="http://donttrustthisguy.com/2008/10/19/tips-for-the-aspiring-web-consultant/" />
		<id>http://donttrustthisguy.com/?p=179</id>
		<updated>2008-10-19T17:38:36Z</updated>
		<published>2008-10-19T17:19:37Z</published>
		<category scheme="http://donttrustthisguy.com" term="philosophy" /><category scheme="http://donttrustthisguy.com" term="business" /><category scheme="http://donttrustthisguy.com" term="consulting" /><category scheme="http://donttrustthisguy.com" term="tactics" />		<summary type="html"><![CDATA[Last week I left my post at Integrum in favor of solely focusing on my own business, Sumo Creations.  I&#8217;ve been running Sumo outside of school and fulltime work for the past three years and this is a very exciting time for me.  Since starting my company, I&#8217;ve learned a lot of lessons [...]]]></summary>
		<content type="html" xml:base="http://donttrustthisguy.com/2008/10/19/tips-for-the-aspiring-web-consultant/"><![CDATA[<p>Last week I left my post at <a href="http://integrumtech.com">Integrum</a> in favor of solely focusing on my own business, <a href="http://sumocreations.com">Sumo Creations</a>.  I&#8217;ve been running Sumo outside of school and fulltime work for the past three years and this is a very exciting time for me.  Since starting my company, I&#8217;ve learned a lot of lessons on working productively for my clients and consistently developing positive relationships with them. Here are some of the lessons I learned.</p>
<p><span id="more-179"></span></p>
<h3>Don&#8217;t Fire Clients Because They Don&#8217;t Get It</h3>
<p>People in this business love to say &#8220;these guys don&#8217;t get it.&#8221; What exactly is it they don&#8217;t get? The problem is we don&#8217;t get it. Our job is to educate and advise our clients on what we do and what needs to be done. Accusing the client of &#8220;not getting it&#8221; is a cop out for not doing our job.</p>
<p>If you ever find your self murmuring that line be sure to get off your high horse and come down to earth. As consultants our job is not to render a particular service. Our job is to achieve the goals of our client through our expertise.  The services we render to do it are just a means to an end. Always focus on your client&#8217;s goal and work with them never against them.</p>
<h3>Don&#8217;t Be a Servant</h3>
<p>You always know you&#8217;re in a backwards position as a consultant when the client is telling you how to do your job.  If this happens it&#8217;s because you let it happen. Not everyone really likes taking control of something. We become knowledge experts and then just want to perform. That will work if you want to be a worker bee but not as a consultant. If you want to be an order-taker go corporate and specialize; consulting is probably not for you. If you plan on working as a consultant take your client&#8217;s goal and own it.  Our job is to make things happen not to be micromanaged and react to client directions. Listen to your client&#8217;s needs, understand their objectives, develop a plan, advise them consistently, and most importantly take control of the situation. Think of your role as a translator, converting client needs to action items.</p>
<h3>Deliver Solid Gold</h3>
<p>If you remember one lesson remember this one. In software they have a term called &#8216;gold-plating&#8217; and it means your putting to much effort into something frivolous. It goes like this: &#8220;client doesn&#8217;t care if the module is perfect they just want the module.&#8221; That may be so and it&#8217;s better to have that mind set then to deliver nothing.  But that is not what this point is about. We are only as good as the standards we hold ourselves up to and if you want to be successful your goal is to be the best. If you don&#8217;t mind working harder than the other guy you can go far as a web consultant. Here&#8217;s a recipe for making gold:</p>
<ul>
<li>Identify two or three of the most critical parts of your project</li>
<li>Dedicate additional time here &#8211; don&#8217;t rush to get it done focus on getting it right.</li>
<li>Test it. Test it with actual users. This doesn&#8217;t have to be formal but do get feedback.</li>
<li>Think critically and revise.</li>
</ul>
<p>Normally when I say critical points I mean the core functionality of the application you are building. It&#8217;s easy to say we don&#8217;t have time or can&#8217;t do it. Saying no is easy.  But if you&#8217;re going to focus on quality go the extra mile where it counts.  We can say no to making the entire project perfect but it&#8217;s important that we get a few things right.</p>
<p>In the development world we&#8217;re rewarded for results and unfortunately the metric we tend to use is functionality/time. But it&#8217;s really the quality of the functionality that we need to look at.  A product with three well thought out features is more effective than a mash-up of a hundred half baked ideas. Get real, focus on what matters, and most importantly don&#8217;t cut corners. Be sure the client is on board &#8211; if they aren&#8217;t don&#8217;t fire them, educate them.</p>
<h3>Communicate Constantly</h3>
<p>The most important thing you can do for your clients is keep them in the loop.  If you have a knack for falling off the face of the Earth you probably shouldn&#8217;t work as an independent consultant.  Whether you are meeting your deadlines or not, always communicate in between them.  Why is it so important?  As a freelance consultant keeping your work progress transparent is your primary form of customer service.</p>
<p>If you aren&#8217;t communicating with your client on a regular basis chances are you might be making a lot of assumptions about the work you&#8217;re performing.  This can manifest itself as a big death spiral for a freelance consultant. If the client doesn&#8217;t see what you&#8217;re working on until the point of delivery chances are there will be a lot of communication breakdown.  More importantly, a lot of conflicts with payment / revisions and other hassles that you really don&#8217;t want to get into.  Always post updates to your clients even if minor so the client can see progress. Communication breakdown, not time, is your number one enemy.</p>
<h3>Treat Every Client Individually</h3>
<p>Despite what you might see on agency websites.  There is no golden bullet for a fixed process to follow for every client and project.  Every project will be unique and you need to adapt to the context of the situation. If a client is not respondent via phone switch to email or vice versa. If a client can&#8217;t make an in person meeting resort to a conference call.  Be flexible with your time and required medium.</p>
<p>I&#8217;ll give you an example, one of my clients does not appreciate basecamp.  I use basecamp to manage all of my projects.  So when a client communicates with me outside of basecamp I&#8217;ll simply post the transcripts and files from our outside conversation to basecamp for my own reference. I&#8217;m not going to try to make them use basecamp by enforcing artificial requirements for the basis of our communication. It&#8217;s my job to make this work and adjust to their communication style.</p>
<p>Whatever comes at you &#8211; make things work with what you have. Hours spent on trying to educate and conform your client around your process is time wasted.  We&#8217;re hired to work on our projects not our processes.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://donttrustthisguy.com/2008/10/19/tips-for-the-aspiring-web-consultant/#comments" thr:count="10" />
		<link rel="replies" type="application/atom+xml" href="http://donttrustthisguy.com/2008/10/19/tips-for-the-aspiring-web-consultant/feed/atom/" thr:count="10" />
		<thr:total>10</thr:total>
	</entry>
		<entry>
		<author>
			<name>Jim Jeffers</name>
						<uri>http://www.donttrustthisguy.com/blog</uri>
					</author>
		<title type="html"><![CDATA[Is History Really Siding With Obama or is it McCain? Read this Before You Vote!]]></title>
		<link rel="alternate" type="text/html" href="http://donttrustthisguy.com/2008/09/13/150/" />
		<id>http://donttrustthisguy.com/2008/09/13/150/</id>
		<updated>2009-01-01T20:04:03Z</updated>
		<published>2008-09-13T14:44:33Z</published>
		<category scheme="http://donttrustthisguy.com" term="politricks" /><category scheme="http://donttrustthisguy.com" term="economics" /><category scheme="http://donttrustthisguy.com" term="election" /><category scheme="http://donttrustthisguy.com" term="gdp" /><category scheme="http://donttrustthisguy.com" term="mccain" /><category scheme="http://donttrustthisguy.com" term="obama" /><category scheme="http://donttrustthisguy.com" term="research" />		<summary type="html"><![CDATA[This article is in response to &#8220;Comparison of Democratic and Republican Economies&#8221; which was written in response to &#8220;Is History Siding With Obama’s Economic Plan?&#8221; from the New York Times.  My friend Brandon did some excellent research and made excellent points explaining the changes in our GDP.  But my source didn&#8217;t confirm some [...]]]></summary>
		<content type="html" xml:base="http://donttrustthisguy.com/2008/09/13/150/"><![CDATA[<p>This article is in response to &#8220;<a href="http://branjen.wordpress.com/2008/09/13/comparison-of-democratic-and-repulican-economies/">Comparison of Democratic and Republican Economies</a>&#8221; which was written in response to &#8220;<a href="http://www.nytimes.com/2008/08/31/business/31view.html?_r=1&#038;scp=1&#038;sq=history%20siding%20with%20obama&#038;st=cse&#038;oref=slogin">Is History Siding With Obama’s Economic Plan?</a>&#8221; from the New York Times.  My friend Brandon did some excellent research and made excellent points explaining the changes in our GDP.  But my source didn&#8217;t confirm some of the numbers he chose to provide (the source of their data was not listed). Also, only growth from specific years during presidential terms was mentioned as opposed to showing all of the data.</p>
<p><span id="more-150"></span></p>
<p>I looked into the history of our GDP from 1977 to 2007 and got my statistics from the <a href="http://www.bea.gov">Bureau of Economic Analysis from the US Department of Commerce</a>.  The numbers I found there did not match up with the numbers referenced from the article which leads me to assume there is some misinterpretation or misunderstanding of the numbers so please forgive me (and correct me) if I&#8217;m not interpreting them correctly.</p>
<h3>The Three Tables I Cited are as Follows:</h3>
<ul>
<li><a href="http://www.bea.gov/national/nipaweb/TableView.asp?SelectedTable=1&#038;ViewSeries=NO&#038;Java=no&#038;Request3Place=N&#038;3Place=N&#038;FromView=YES&#038;Freq=Year&#038;FirstYear=1977&#038;LastYear=2008&#038;3Place=N&#038;Update=Update&#038;JavaBox=no#Mid">Table 1.1.1. Percent Change From Preceding Period in Real Gross Domestic Product</a></li>
<li><a href="http://www.bea.gov/national/nipaweb/TableView.asp?SelectedTable=5&#038;ViewSeries=NO&#038;Java=no&#038;Request3Place=N&#038;3Place=N&#038;FromView=YES&#038;Freq=Year&#038;FirstYear=1977&#038;LastYear=2008&#038;3Place=N&#038;Update=Update&#038;JavaBox=no#Mid">Table 1.1.5. Gross Domestic Product</a></li>
<li><a href="http://www.bea.gov/national/nipaweb/TableView.asp?SelectedTable=84&#038;ViewSeries=NO&#038;Java=no&#038;Request3Place=N&#038;3Place=N&#038;FromView=YES&#038;Freq=Year&#038;FirstYear=1977&#038;LastYear=2008&#038;3Place=N&#038;Update=Update&#038;JavaBox=no#Mid">Table 3.1. Government Current Receipts and Expenditures</a></li>
</ul>
<h3>Average Growth in GDP During Each Presidential Term</h3>
<p>What I found was that there was not a large difference between the average annual GDP growth rate amongst presidents during their terms:</p>
<p><img src="http://donttrustthisguy.com/wp-content/uploads/2008/09/average_gdp.png" alt="Average GDP" /></p>
<ul>
<li><strong>Carter (77-80):</strong> 3.3% average annual growth</li>
<li><strong>Reagan (81-88):</strong> 3.425% average annual growth</li>
<li><strong>Bush (89-92):</strong> 2.125% average annual growth</li>
<li><strong>Clinton (93-00):</strong> 3.725% average annual growth</li>
<li><strong>Bush (01-07):</strong> 2.3% average annual growth</li>
</ul>
<p>Additionally, over the last 30 years there have been only three incidents where there was a period of negative growth in GDP:</p>
<ul>
<li><strong>Carter in 1980:</strong> -0.2%</li>
<li><strong>Reagan in 1982:</strong> -1.2%</li>
<li><strong>Bush in 1991:</strong> -0.2%</li>
</ul>
<p>You can see in the graph below, the growth of our GDP for every year over the past 30 years.  You can also see the percentage of change over the prior period for each year in the second graph:</p>
<p><img src="http://donttrustthisguy.com/wp-content/uploads/2008/09/real_gdp.png" alt="Real GDP"/></p>
<h3>External Factors Positively or Negatively Impacting the US Economy</h3>
<p>Brandon&#8217;s article does a great job citing references to external factors that excuse dips in growth in the early 90&#8217;s as well as excess growth during Clinton&#8217;s presidency (<a href="http://branjen.wordpress.com/2008/09/13/comparison-of-democratic-and-repulican-economies/">I highly encourage that you read through the article to understand</a>).  But it did not cite the external factor outside of policy makers control which lead to the 1980 recession.  That of course was the 1970&#8217;s energy crisis and more specifically the <a href="http://en.wikipedia.org/wiki/1979_energy_crisis">energy crisis of 1979.</a></p>
<h3>Carter Did Not Inherit a Good Economy</h3>
</p>
<p><em>&#8220;In 1973, during the Nixon Administration, the Organization of Petroleum Exporting Countries (OPEC) agreed to reduce supplies of oil available to the world market. This sparked an oil crisis and forced oil prices to rise sharply, spurring price inflation throughout the economy, and slowing growth. Significant government borrowing helped keep interest rates high relative to inflation.&#8221;<br />
(<a href="http://en.wikipedia.org/wiki/Jimmy_carter#Energy_crisis">Energy Crisis</a>)</em></p>
<p><em>&#8220;The 1970s are described as a period of stagflation, as well as higher interest rates. Price inflation (a rise in the general level of prices) creates uncertainty in budgeting and planning and makes labor strikes for pay raises more likely.&#8221;<br />
(<a href="http://en.wikipedia.org/wiki/Jimmy_carter#Economy:_stagflation_and_the_appointment_of_Volcker">Stagflation And the Appointment of Volcker</a>)</em></p>
<p><em>&#8220;Led by Volcker, the Federal Reserve raised the discount rate from 10 percent when Volcker assumed the chairmanship in August 1979 to 12 percent within two months.[38] The prime rate hit 21.5 percent in December 1980, the highest rate in U.S. history under any President.[39] Investments in fixed income (both bonds and pensions being paid to retired people) were becoming less valuable. The high interest rates would lead to a sharp recession in the early 1980s.[40]&#8220;<br />
(<a href="http://en.wikipedia.org/wiki/Jimmy_carter#Economy:_stagflation_and_the_appointment_of_Volcker">Stagflation And the Appointment of Volcker</a>)</em></p>
<p>The resulting exchange in world events and policies set forth for conservation by the Carter administration led to:</p>
<p><em>&#8220;After 1980, oil prices began a six-year decline that culminated with a 46 percent price drop in 1986. This was due to reduced demand and over-production, and caused OPEC to lose its unity. Oil exporters such as Mexico, Nigeria, and Venezuela expanded. The US and Europe got more oil from Prudhoe Bay and the North Sea.&#8221;<br />
(<a href="http://en.wikipedia.org/wiki/1979_energy_crisis">1979 Energy Crisis</a>)</em></p>
<p>This reduced our energy prices greatly which most likely had a very positive effect on GDP during Reagan&#8217;s term.</p>
<p>Overall, I believe that GDP is more or less a reflection of exchanges in world events and key monetary policies that are controlled by external organizations such as the federal reserve.  The presidential tax policy certainly does have an effect as well but it is most likely to a lesser extent.</p>
<h3>The Actual Cost of The Tax Cuts</h3>
<p>Here is where the real discrepancy is.  The expenditures to receipts ratio.  Over the past 30 years our country has been in red ink each year with the exception of three years during Clinton&#8217;s second term.  If you look at the graph of total receipts to expenditures you can clearly see that there is a large spending discrepancy during periods of Republican tax policy.  Especially during Reagan and even more so during George H.W.  See the graphs below:</p>
<p><img src="http://donttrustthisguy.com/wp-content/uploads/2008/09/us_reciepts_expenditures.png" alt="US receipts vs. expenditures."/></p>
<p><img src="http://donttrustthisguy.com/wp-content/uploads/2008/09/net_borrowing_or_lending.png"  alt="Net borrowing or lending."/></p>
<p>The consequences of the Bush tax cut can be seen here.  The policies set in place over the last 7 years have passed off massive amounts of debt to my generation.  This is the greatest hypocrisy of the neo-conservative movement.  They run on a platform of fiscal responsibility and limited government but you don&#8217;t see that here. Whether or not there is a democratic or republican president or controlled congress our government&#8217;s overall expenditures consistently rise.</p>
<p>In my opinion, the Bush tax cuts are fiscally irresponsible and John McCain&#8217;s notion to keep them in effect is reason enough not to vote for him. You can really see the difference when we break down the net lending or borrowing down by each president.  Or rather the amount of debt incurred by each of the past five presidents as not a single one has racked up more debt during his term:</p>
<p><img src="http://donttrustthisguy.com/wp-content/uploads/2008/09/net_borrowing_for_president.png" alt="Net borrowing for President"/></p>
<p>The numbers break down as such when written out:</p>
<ul>
<li><strong>Carter (77-80):</strong> -169.5 (billions of dollars) (-42.375 per year)</li>
<li><strong>Reagan (81-88):</strong> -1443.9 (billions of dollars) (-180.5 per year)</li>
<li><strong>Bush (89-92):</strong> -1083 (billions of dollars) (-270.8 per year)</li>
<li><strong>Clinton (93-00):</strong> -773.9 (billions of dollars) (-96.7375 per year)</li>
<li><strong>Bush (01-07):</strong> -2573.6 (billions of dollars) (-367.65 per year)</li>
</ul>
<p>It&#8217;s clear that each republican administration has significantly over spent in comparison to their democratic colleagues.  That is not fiscally responsible.  It&#8217;s reckless.  I&#8217;m not opposed to the concept of limited government.  But you have to cut spending before you cut taxes.  Unless you can first balance the books you can&#8217;t cut the taxes.  This just kicks the can along to the next generation.  Mainly mine.</p>
<p>All in all, the ideal candidate doesn&#8217;t exist in my opinion.  We are at a point where we need to take both parties ideas &#8211; raise taxes and cut spending.  But the numbers show &#8211; during the period of democratic leadership GDP growed at the same pace or better than when their republican colleagues held office. During these times, the government also did a much better job at managing the  federal budget.</p>
<h3>Income Inequality is a Serious Problem</h3>
<p>One last thing I would point out is that Brandon&#8217;s article distorts income equality by making a comparison to the communist form of socialism in the past Soviet Union.  This is more so a comparison of communism to democracy than a depiction of the economic results of socialistic policies.  If you look at the country with the one of the <a href="http://en.wikipedia.org/wiki/List_of_countries_by_income_equality">best ratings on the GINI coefficient</a>, Sweden, you learn a lot. The people in this country and others like it such as Denmark and Switzerland experience a higher quality of life on average.  Also, their GDP continues to grow despite high taxes.  <a href="http://en.wikipedia.org/wiki/Sweden#Economy">Sweden&#8217;s taxes are nearly twice that of the United States at 51.5% of GDP</a> yet their growth in GDP has faired <a href="http://en.wikipedia.org/wiki/Image:Sw_real_gdp_growth.svg">much better than our own over the past 5 years</a>. This year <a href="http://images.businessweek.com/ss/08/06/0611_mercer/source/21.htm">Mercer rated Stockholm #20 on their best places to live list</a>.  Higher than any city in the United States.  Clearly we have something to learn from governments other than our own.</p>
<p><em>* <a href="http://digg.com/2008_us_elections/BEFORE_YOU_VOTE_Republican_Vs_Democratic_Economic_Policy">Feel free to digg this article if you appreciated the content.</a></em></p>
]]></content>
		<link rel="replies" type="text/html" href="http://donttrustthisguy.com/2008/09/13/150/#comments" thr:count="15" />
		<link rel="replies" type="application/atom+xml" href="http://donttrustthisguy.com/2008/09/13/150/feed/atom/" thr:count="15" />
		<thr:total>15</thr:total>
	</entry>
		<entry>
		<author>
			<name>Jim Jeffers</name>
						<uri>http://www.donttrustthisguy.com/blog</uri>
					</author>
		<title type="html"><![CDATA[Easy Flash Debugging on OSX.]]></title>
		<link rel="alternate" type="text/html" href="http://donttrustthisguy.com/2008/08/22/easy-flash-debugging-on-osx/" />
		<id>http://donttrustthisguy.com/2008/08/23/easy-flash-debugging-on-osx/</id>
		<updated>2008-08-23T17:40:59Z</updated>
		<published>2008-08-23T03:31:44Z</published>
		<category scheme="http://donttrustthisguy.com" term="code" /><category scheme="http://donttrustthisguy.com" term="actionscript" /><category scheme="http://donttrustthisguy.com" term="programming" /><category scheme="http://donttrustthisguy.com" term="techniques" /><category scheme="http://donttrustthisguy.com" term="tips" />		<summary type="html"><![CDATA[I recently took on some contract development for another AS3 project and because I wasn&#8217;t particularly happy with the way I debugged my flash work in the past I decided to come up with a better solution.  Not many traditional flash coders realize that they can view the output from their trace statements on [...]]]></summary>
		<content type="html" xml:base="http://donttrustthisguy.com/2008/08/22/easy-flash-debugging-on-osx/"><![CDATA[<p>I recently took on some contract development for another AS3 project and because I wasn&#8217;t particularly happy with the way I debugged my flash work in the past I decided to come up with a better solution.  Not many traditional flash coders realize that they can view the output from their trace statements on a live compiled SWF.  The way you do that is fairly straightforward.
</p>
<p><span id="more-143"></span></p>
<ul>
<li><a href="http://www.adobe.com/support/flashplayer/downloads.html">Download the Flash Player Debugger version.</a></li>
<li>Create an alias in your profile to tail the flashlog.</li>
</ul>
<h3>Creating an Alias Command</h3>
<p>Once you install the debug player, any movie you open in your browser will output it&#8217;s trace commands to a flashlog.txt file.  This is normally located in the Library directory for your user.  So we&#8217;re going to make an alias to open it quickly in terminal.  If you&#8217;re not familiar with <a href="http://en.wikipedia.org/wiki/Alias_(Unix_shell)">alias commands</a> think of them as shortcuts in terminal.</p>
<p>Let&#8217;s get straight to the meat of it.  First we have to find our flashlog.  By default the flashlog is stored here:<br />
<code>/Users/<strong>[your system username]</strong>/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt'</code></p>
<p>If for whatever reason you aren&#8217;t getting a flashlog you may need to look into taking some <a href="http://blog.flexexamples.com/2007/08/26/debugging-flex-applications-with-mmcfg-and-flashlogtxt/">simple modifications to your mm.cfg file</a>.&#8217; Otherwise you should be ready to make your alias command.</p>
<p>We want to put our alias command in our shell profile so that the shortcut will be available for us automatically when we open up terminal.  To do this launch a new terminal window and type:<br /><code>nano ~/.bash_profile</code></p>
<p>Nano works like a regular text editor, so simply paste the alias command below any existing statements in the document, be sure to replace <strong>your system username</strong> with your actual user name:<br />
<code>alias fl='tail -F /Users/<strong>[your system username]</strong>/Library/Preferences/Macromedia/Flash\ Player/Logs/flashlog.txt'</code></p>
<p>Now that you&#8217;ve done that hit <strong>ctrl-o</strong> to save the changes you&#8217;ve just made to the file and <strong>ctrl-x</strong> to exit nano. Now close the terminal window and open a new terminal.  Type &#8216;fl&#8217; and press enter.  You can now see the live output as any instance of the player writes output to the flashlog. If you want to stop viewing output just hit ctrl-c while you&#8217;re in the terminal window to close the stream.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://donttrustthisguy.com/2008/08/22/easy-flash-debugging-on-osx/#comments" thr:count="11" />
		<link rel="replies" type="application/atom+xml" href="http://donttrustthisguy.com/2008/08/22/easy-flash-debugging-on-osx/feed/atom/" thr:count="11" />
		<thr:total>11</thr:total>
	</entry>
	</feed>
