<?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>Random Non Sequitur &#187; It&#8217;s Not Rocket Surgery</title>
	<atom:link href="http://www.randomnonsequitur.com/post/category/meat-and-potatoes/its-not-rocket-surgery/feed" rel="self" type="application/rss+xml" />
	<link>http://www.randomnonsequitur.com</link>
	<description>is by Anne K. Halsall and concerns nothing in particular</description>
	<lastBuildDate>Sat, 31 Jul 2010 06:00:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Creating UI assets for the iPhone OS</title>
		<link>http://www.randomnonsequitur.com/post/508</link>
		<comments>http://www.randomnonsequitur.com/post/508#comments</comments>
		<pubDate>Tue, 13 Apr 2010 00:35:43 +0000</pubDate>
		<dc:creator>Anne</dc:creator>
				<category><![CDATA[It's Not Rocket Surgery]]></category>

		<guid isPermaLink="false">http://www.randomnonsequitur.com/?p=508</guid>
		<description><![CDATA[So I wrote this up recently for internal use at Inkling, and thought it might serve as a good general purpose guide for iPhone/iPad UI designers who work in tandem with developers. Hopefully it will help you work more efficiently and have more harmonious, fruitful partnerships!

Some general guidelines

For UI elements, use 24-bit PNGs with a [...]]]></description>
			<content:encoded><![CDATA[<p>So I wrote this up recently for internal use at Inkling, and thought it might serve as a good general purpose guide for iPhone/iPad UI designers who work in tandem with developers. Hopefully it will help you work more efficiently and have more harmonious, fruitful partnerships!</p>
<p><span id="more-508"></span></p>
<h3>Some general guidelines</h3>
<ul>
<li>For UI elements, use 24-bit PNGs with a transparent background.</li>
<li>Use alpha transparency, not index transparency. Be careful to not use fancy blending modes on top of transparency in the source file &#8211; anything beyond basic alpha transparency won&#8217;t be respected in a flattened PNG.</li>
<li>Include any drop shadows or highlight effects in the exported image. Keep in mind the lighting source should always be the top center of the screen.</li>
<li>Keep a source file around (i.e. PSD) for each asset you export, so you can make changes to it in the future without messing up the dimensions or alignment of the image.</li>
<li>Use Photoshop or Fireworks to create graphics for production. AI is resolution independent, so it is much harder to control pixel-level details and you will often end up with blurry lines when you rasterize the image.</li>
<li>If you find that antialiased lines look fuzzy in your flatted PNG, you may need to whip out the pencil tool and clean it up by hand. </li>
<li>When providing colors, use RGB values. Your developer may want the values in percentage format; to get this, use the color picker to get the numerical value and divide it by 255. If it needs to be partially transparent, specify an alpha value. (20% alpha means the same thing as 80% opacity.)</li>
</ul>
<h3>Text</h3>
<p>Any text labels in the UI are implemented directly in Cocoa, so you should provide detailed specifications for how the text should appear. Most labels in the UI should be Helvetica, the system font, but you can specify <a href="http://daringfireball.net/2007/07/iphone_fonts">any font that is included on the device</a>. </p>
<p>You should also specify whether overflow text should be truncated (as with button/titles in the default UI) or wrapped (as with an expanding content area).</p>
<p><b>What you should provide:</b> Font name, size, and color, as well as parameters for any shadow effect that should be rendered (shadow color and x,y offset in pixels).</p>
<h3>Buttons</h3>
<p>A &quot;button&quot; is pretty much anything that is tappable, and it can have different visual states depending on the context. You need to take all of these states into consideration when building custom buttons. </p>
<p><img src="http://www.randomnonsequitur.com/wp-content/uploads/2010/04/57a97.png" style="float:left; margin:0px 10px 10px 0px;" />Your average button has three states you should provide to your developer:</p>
<p><b>• Normal:</b> The button is active and can be tapped.<br />
<b>• Disabled:</b> The button is inactive and cannot be tapped.<br />
<b>• Highlighted: </b>The button is currently being touched. </p>
<p>And there is a fourth state that may be required for buttons that can be toggled, or buttons which are part of segmented controls:</p>
<p><b>• Selected: </b>The button has been toggled on can be tapped to return it to the normal (off) state.</p>
<p>It is important to ensure that the assets you provide for these states are <i>identical</i> except for the differences in visual styles. You should also specify the appearance of the text label (if present) for each state.</p>
<p>When delivering assets for production, you have a few implementation options, depending on the properties of the button.</p>
<h4>Fixed-size buttons</h4>
<p>Some buttons are always going to be a predictable size. Generally speaking, this applies to buttons that rely on iconographic imagery and therefore don&#8217;t contain any text. Buttons that contain text, even when presented at a fixed width in the UI, should always be stretchable in at least the x-dimension to accomodate changes to the label or localization.</p>
<p>For a fixed-size button, you can export the asset as-is. When you have a number of fixed-size buttons that share a single context, it is often easier for the developer to achieve the proper alignment if you choose a universal height or width for all buttons in that context. </p>
<p><b>What you need to provide:</b> Just the image at the proper dimensions to be fitted into the UI, along with any applicable visual states. </p>
<h4>Stretchable buttons</h4>
<p>In Cocoa, it&#8217;s possible to take a button image and do automatic slicing to make it stretchable in either the x-dimension, y-dimension, or both. This is really nice for us because we don&#8217;t have to slice them up ourselves. Yay! It does have some limitations, though, and these are important to remember.</p>
<p>The way it works is that it takes the button image, then uses a pixel value for cap size to slice the image in code. The caps are then set aside, and the inner pixels are repeated in whichever direction is specified. </p>
<p><img src="http://www.randomnonsequitur.com/wp-content/uploads/2010/04/2c5a2.png"  /></p>
<p>If you want your button to stretch in both directions, it must be a flat color or tiling pattern (basically, it needs to repeat elegantly in either direction). A gradient will not stretch properly. In the example above, the button can only stretch in the x-dimension and must have a fixed height. For most UI buttons this is perfectly acceptable. </p>
<p>Generally speaking, it&#8217;s best to provide UI assets in the smallest form possible, so try to reduce your image to include only the caps and whatever needs to repeat in-between.
<p><b>What you need to provide:</b> The button image for all applicable visual states and the cap size in pixels for each direction you need the button to expand in. In the example above, the cap size is 8px and it expands horizontally. </p>
<h4>Drawing the button in code</h4>
<p>So what do you do when you want a button that expands in all directions <i>and</i> has a gradient or some visual style that defies stretching? Well, chances are good the button could be replicated in code, although this can be significantly more work for the developer, is harder to modify, and sometimes incurs a penalty to performance. Always check with the developer before embarking into this territory.</p>
<p><img src="http://www.randomnonsequitur.com/wp-content/uploads/2010/04/1ba93.png" style="float:left; margin:0px 10px 10px 0px;"  />This button is a good candidate for drawing in code thanks to that fancy highlight effect and its need to support arbitrary amounts of content. In this case, what you need to provide to the developer is not images but a set of parameters. Generally speaking, Cocoa can draw most of the things you can draw in Photoshop: shapes, gradients, shadows, even blending modes. </p>
<p>Here&#8217;s how you would describe the normal state of this button to a developer. You can access all of these parameters in Photoshop.</p>
<p><b>Shape:</b> Rounded rectangle with a corner radius of 9px</p>
<p><b>Gradient (stop, rgb): </b><br class="" />0%, white<br class="" />49%, white<br class="" />51%, (0.93, 0.91, 0.95)<br class="" />100%, (0.90, 0.91, 0.93)<br class="" />The gradient is linear with an angle of -90°.<br class="" /></p>
<p><b>Drop shadow:</b><br class="" />Color: 100% black, 70% alpha<br class="" />Distance: 2px<br class="" />Size/blur: 4px<br class="" />Angle: 90°</span></p>
<p><b>Inner padding:</b> 15px on all sides. The text should be 16px bold and centered vertically.</p>
<p>Here&#8217;s a <a href="http://cocoawithlove.com/2008/09/drawing-gloss-gradients-in-coregraphics.html">nice tutorial</a> on creating a glossy button in code. It should give you a sense of how the process works and what&#8217;s possible.</p>
<p><b>What you need to provide:</b> Detailed specifications with all the color, style, and shape information needed to recreate the button. Don&#8217;t forget to also provide specs for all relevant visual states.</p>
<h3>Layout</h3>
<p>When laying out a UI, you are usually dealing with content areas that are either of a fixed size and position, or variable size and position relative to contents. It can be very helpful to developers to describe these parameters as explicitly as you can, while also providing guidance on how to handle elements that reflow, expand, or change size &amp; position.</p>
<p><b>What you need to provide:</b> Pixel-level specifications about where UI elements (or blocks of elements) should go, as well as guidance for how to handle elements that move or change dimensions. </p>
<h3>Masks &amp; compositing</h3>
<p>You can use any solid black shape on a transparent background to create a mask that can be applied in code. The mask can also use partial transparency, so you can actually achieve sophisticated effects this way if you want to get creative.</p>
<p>Generally speaking, it&#8217;s most useful for fitting dynamic content into a more general UI asset. For example, you could take an image of a CD&#8217;s album art and make it appear to be part of a prerendered CD case by using an image mask of the proper shape and size.</p>
<p>You should talk to your developer about how to implement artwork like this before you create your assets. Sometimes masking and compositing is the right approach, but sometimes it can come with a performance hit. Some cases would be better handled by generating the artwork in code and caching it for reuse.</p>
<p><b>What you need to provide:</b> For masks, provide a black shape on a transparent background. For compositing, provide all the graphics that you need to layer together to create the object. Make sure they all have the same dimensions and are already aligned properly, as with the fixed-size buttons described at the beginning of this document. </p>
<h3>Get creative and work together!</h3>
<p>This really just scratches the surface, and if you take the time to learn about how graphics are implemented on the platform you&#8217;ll discover lots of creative ways to build a UI. I highly recommend sitting down with your dev (or someone familiar with the features of the platform) and talking through your ideas. You may discover options you hadn&#8217;t considered, and together you may come up with a plan of attack that is more beautiful, responsive and fast than it would be if you never put your heads together.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomnonsequitur.com/post/508/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making an iWork-style toolbar icon</title>
		<link>http://www.randomnonsequitur.com/post/204</link>
		<comments>http://www.randomnonsequitur.com/post/204#comments</comments>
		<pubDate>Wed, 01 Apr 2009 04:44:34 +0000</pubDate>
		<dc:creator>Anne</dc:creator>
				<category><![CDATA[It's Not Rocket Surgery]]></category>

		<guid isPermaLink="false">http://www.randomnonsequitur.com/?p=204</guid>
		<description><![CDATA[In Mac OS X applications, toolbar icons are the illustrative UI shortcuts that appear beneath the title bar. You&#8217;ll see a few different styles of these depending on the application, but generally speaking they are relatively small and colorful, meant to be easy to remember. If you plan to design toolbar icons, you should start [...]]]></description>
			<content:encoded><![CDATA[<p>In Mac OS X applications, toolbar icons are the illustrative UI shortcuts that appear beneath the title bar. You&#8217;ll see a few different styles of these depending on the application, but generally speaking they are relatively small and colorful, meant to be easy to remember. If you plan to design toolbar icons, you should start with the section devoted to them in the <a href="http://developer.apple.com/documentation/userexperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html">Apple Human Interface Guidelines</a>.</p>
<p>While the HIG has a lot of good information, it doesn&#8217;t go into the details of implementation, so I&#8217;m going to go through the process of how I would design a toolbar icon. I&#8217;ve chosen the iWork style because I really like how crisp and clear they are, and I think they are a good model to work towards.<br />
<span id="more-204"></span><br />
So let&#8217;s take a look at the Pages toolbar.</p>
<p><img class="alignnone size-full wp-image-205" title="picture-1" src="http://www.randomnonsequitur.com/wp-content/uploads/2009/03/picture-1.png" alt="picture-1" width="433" height="53" /></p>
<p>Let&#8217;s take a note from Gmail and add a &#8220;Labs&#8221; button. This imaginary feature would take the user to experimental or even user-made plugins and macros.</p>
<h3>Step 1: Pick your metaphor</h3>
<p>First we have to think about what kind of metaphor would best represent this feature. The HIG offers the following guideline:</p>
<p>“As a general rule, a toolbar icon that depicts an identifiable, real-world object or recognizable user-interface element gives first-time users a clue to its function and helps experienced users remember it.”</p>
<p>So what makes me think of experiments? A beaker seems like the obvious choice. Anyone with high-school chemistry would know that symbol. But before I draw anything I should do some research. I fire up Google Image Search and Flickr with a search for &#8220;beaker.&#8221; It looks like I have a couple of choices for the shape of the object.</p>
<p><img class="alignnone size-full wp-image-206" title="picture-2" src="http://www.randomnonsequitur.com/wp-content/uploads/2009/03/picture-2.png" alt="picture-2" width="422" height="248" /></p>
<p>This is actually the kind I was thinking of, but I think these kind of beakers are generally only used in stock photography. I&#8217;ve never seen or used one like it in an actual lab. I got a lot more results for this type:</p>
<p><img class="alignnone size-full wp-image-207" title="picture-3" src="http://www.randomnonsequitur.com/wp-content/uploads/2009/03/picture-3.png" alt="picture-3" width="418" height="273" /></p>
<p>This is also what I remember from science class. The other beaker style is perhaps a bit more recognizable, but in the interest of realism (and not looking too Weird Science) I decided to go with this one.</p>
<h3>Step 2: Figure out your sizes</h3>
<p>So you&#8217;ll notice that Pages&#8217; icons are very crisp, with 1 pixel outlines at both the large and small sizes. This indicates that the designers created two sets of icons, one for the large size and one for the &#8220;use small icons&#8221; size. If they had only used one and resized it, the line would not be 1 pixel exactly on both. Whichever one that was resized would have fuzzy lines. If you have the time to do this, it&#8217;s a nice way to ensure that your icons will look good no matter what your user chooses (you can also selectively reduce detail/complexity at the smaller size to ease recognition).</p>
<p>I&#8217;m going to design my icon for the larger size (32&#215;32) and then size it down as needed for the smaller size. Figure out what the &#8220;large&#8221; and &#8220;small&#8221; sizes for your app are and keep these in mind. For a pixel-crisp style like this you&#8217;ll want to design at the size the icon will appear.</p>
<h3>Step 3: Vector outlines</h3>
<p>Open up your drawing program of choice. I prefer Fireworks for this kind of icon because it allows me to work with vectors while zoomed in to look at where the pixels actually fall. Go ahead and trace or draw the basic shape. Keep perspective and lighting (which should be top-down) in mind. The HIG says: &#8220;The perspective of a toolbar icon is straight-on, as if it is sitting on a shelf in front of you.”</p>
<p><img title="picture-4" src="http://www.randomnonsequitur.com/wp-content/uploads/2009/03/picture-4.png" alt="picture-4" width="438" height="108" /></p>
<p><img class="alignleft size-full wp-image-209" style="float: left; margin: 0 10px 5px 0;" title="picture-7" src="http://www.randomnonsequitur.com/wp-content/uploads/2009/03/picture-7.png" alt="picture-7" width="38" height="38" />At this point it&#8217;s a good idea to look at the fingerprint of  your icon. That&#8217;s what I call the silhouette of the shape. Icons with different functions should generally have distinct fingerprints. Check to make sure the shape is recognizable and not too similar to anything it&#8217;s going to be adjacent to.</p>
<h3>Step 4: Color, detail and shading</h3>
<p>Now it&#8217;s time to fill in the colors and details. I like to zoom in pretty close for this step, but I keep an eye on the actual-size icon as I work. (In Fireworks you can do this easily by selecting Window &gt; Duplicate Window.)</p>
<p><img class="alignleft size-full wp-image-210" title="picture-8" src="http://www.randomnonsequitur.com/wp-content/uploads/2009/03/picture-8.png" alt="picture-8" width="292" height="295" style="margin:0 10px 5px 0;" />Be brutal about cutting unnecessary shading and details. Show only what you need to in order for the user to get what the icon represents. In the case of the beaker, I added two embellishments; the bubbles, which indicate that the green goop is &#8220;active&#8221; (and hopefully expresses something experimental and/or volatile) and the volume markers, which help make the beaker more recognizable.</p>
<p>Don&#8217;t be afraid to use bright colors here. As the HIG says, &#8220;Making each toolbar icon distinct helps the user associate it with its purpose and locate it quickly. Variations in shape, color, and image all help to differentiate one toolbar icon from another.” Also make sure the colors that should be consistent between the icons are &#8211; highlights, shadows and outlines fall into this category.</p>
<p>One more thing that&#8217;s actually quite important. Watch your alpha! Make sure that things that should be transparent actually are (like shadows, or in the case of the beaker the glass). I like to work with a couple of different-color backgrounds to switch between as I draw, including one that&#8217;s the standard Leopard window color to see what it will look like in production. You have no idea what this icon might end up on top of in the future! (Er, avoiding the obvious dirty joke there.)</p>
<h3>Step 5: Flatten and pixel-tweak</h3>
<p>Save your file so you have the originals handy if you need to resize the icon, then go ahead and flatten your vector layers.</p>
<p>Time to break out the pencil tool! Start looking for places you can simplify your lines. Be especially ruthless around anti-aliased corners, which will have a mess of pixels you probably don&#8217;t need and will make your lines look fuzzy.</p>
<p><img class="alignnone size-full wp-image-224" title="picture-152" src="http://www.randomnonsequitur.com/wp-content/uploads/2009/03/picture-152.png" alt="picture-152" width="516" height="288" /></p>
<p><img class="alignleft size-full wp-image-212" style="float: left; margin: 0 10px 5px 0;" title="picture-11" src="http://www.randomnonsequitur.com/wp-content/uploads/2009/03/picture-11.png" alt="picture-11" width="75" height="40" />This is also where I add in line shading and other small details. You may not see much difference in the big, zoomed in picture, but at actual size the tweaked bitmap (right) looks much cleaner. Especially note the simplification of the spout shape.</p>
<p>So after fiddling with the pixels to my satisfaction, I&#8217;ll go ahead and plug it into the toolbar to see how it matches the other icons.</p>
<p><img title="picture-12" src="http://www.randomnonsequitur.com/wp-content/uploads/2009/03/picture-12.png" alt="picture-12" width="287" height="54" /></p>
<h3>Step 6: Generate other sizes as needed</h3>
<p>So I have the large-size icon but I&#8217;ll also need a smaller one. The first thing I do is size the icon down and clean up the lines. Then I&#8217;ll go over the details and make sure that nothing is lost at the smaller size. I noticed that if the spout was made any smaller, it became difficult to distinguish the shape, so I actually made the top of the beaker identical in both sizes. I also redrew the volume markers to fit better on the smaller icon.</p>
<p><img title="picture-15" src="http://www.randomnonsequitur.com/wp-content/uploads/2009/03/picture-15.png" alt="picture-15" width="416" height="202" /></p>
<p>So there you go! It seems like a tedious process, and in some ways it is (depending on your style, you may be able to skip pixel-tweaking), but once you get into the right mindset it&#8217;s not so bad. You just want to make sure you&#8217;re thinking small and keeping an eye on consistency.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomnonsequitur.com/post/204/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>So you want to write a Photoshop killer</title>
		<link>http://www.randomnonsequitur.com/post/135</link>
		<comments>http://www.randomnonsequitur.com/post/135#comments</comments>
		<pubDate>Sat, 24 Jan 2009 22:28:47 +0000</pubDate>
		<dc:creator>Anne</dc:creator>
				<category><![CDATA[It's Not Rocket Surgery]]></category>

		<guid isPermaLink="false">http://www.randomnonsequitur.com/?p=135</guid>
		<description><![CDATA[The Macintosh platform is well-known for quality independent software, a fact that attracts an increasing amount of professionals looking to get away from overpriced and bloated enterprise software. Indie Mac software is usually well-tailored to a particular audience, has a streamlined interface with native controls, and comes at a bargain for the price. What&#8217;s not [...]]]></description>
			<content:encoded><![CDATA[<p>The Macintosh platform is well-known for quality independent software, a fact that attracts an increasing amount of professionals looking to get away from overpriced and bloated enterprise software. Indie Mac software is usually well-tailored to a particular audience, has a streamlined interface with native controls, and comes at a bargain for the price. What&#8217;s not to love?</p>
<p>And yet, there is still one large (and vocal) market segment waiting for rescue from their corporate overlords. I&#8217;m talking about professional designers, photographers and artists, who continue to be slaves to Adobe and its golden goose, Photoshop.</p>
<p>Now, there are several independent apps out there that offer some of the functionality of Photoshop. Many of these are quite good: <a href="http://flyingmeat.com/acorn/">Acorn</a>, <a href="http://www.tweakersoft.com/vectordesigner/">Vector Designer</a>, <a href="http://www.pixelmator.com/">Pixelmator</a>. But no graphics professional is going to use any of these apps instead of Photoshop, despite the much lower price tag. The problem is not that the apps don&#8217;t have useful features. It&#8217;s that they haven&#8217;t managed to target a segment of the population that uses Adobe software to do their job and present them an alternative with the feature set they need. </p>
<p>Well, I&#8217;m here to help. I&#8217;m presenting four professional user archetypes of Photoshop along with what features they would need to switch to another application. Note that they rarely overlap. Hopefully this illustrates the futility of appealing to all of these people at once. Pick one segment of users and fine-tune towards their needs.</p>
<p style="border-top:1px solid #ccc;height:1px;line-height:1px;">&nbsp;</p>
<p><img src="http://www.randomnonsequitur.com/wp-content/uploads/2009/01/pierre.jpg" style="float:right;margin:0 0 5px 10px;" /><strong style="font-size:18px;">Pierre the Painter</strong></p>
<p>Pierre and others like him use Photoshop for something we call digital painting. Their typical workflow involves scanning a sketch or sketching onscreen with a tablet, then inking and painting the sketch with different kinds of brushes. They rarely if ever use vectors because they don&#8217;t have the same organic qualities as natural media, so they usually work at a very high resolution to allow for printing and exporting at a variety of sizes.</p>
<p><strong style="font-size:16px;">Essential features:</strong></p>
<p><strong>Brush editor:</strong> Size, shape, opacity, blending, pen pressure. The more options the better. Brushes are the crux of everything they do.<br />
<strong><br />
Peripheral support: </strong>Must work seamlessly with their pen tablets and scanners.</p>
<p><strong>Color tools:</strong> A fully featured and prominent color palette as well as an eyedropper tool that they can easily swap to from the brush. Color proofing tools are important for artists who want to print their work.</p>
<p><strong>Smudge:</strong> Aids blending, should ideally have similar options to the brush tool.</p>
<p><strong>Layers:</strong> Pierre uses layers and layer blending to build up a painting from bottom to top. Changes to layers should be in the form of layer properties &#8211; in other words, you can go back later at any time and add/remove effects. (We call this non-destructive editing.)</p>
<p><strong style="font-size:16px;">Wish list:</strong></p>
<p><strong>Canvas texture: </strong>Natural media textures that affect brush dynamics on the &#8220;canvas.&#8221;</p>
<p> <strong>Line correction:</strong> Automatic line smoothing, perhaps as a brush option, would help correct a shaky hand when inking bold lines.</p>
<p><strong style="font-size:16px;">Where others have done it right: </strong></p>
<p>Take a look at the <a href="http://en.wikipedia.org/wiki/Oekaki">oekaki</a> phenomenon. Oekaki typically uses a simple web-based illustration tool and enjoys massive popularity in Japan and all over the world. Even though the feature set is relatively small, a creative artist can achieve a wide range of visual effects. </p>
<p><a href="http://www.corel.com/servlet/Satellite/us/en/Product/1166553885783">Corel Painter</a> is also quite good, but much more complex and just as crufty as Photoshop in some ways.</p>
<p style="border-top:1px solid #ccc;height:1px;line-height:1px;">&nbsp;</p>
<p><img src="http://www.randomnonsequitur.com/wp-content/uploads/2009/01/dana.jpg" style="float:right;margin:0 0 5px 10px;" /><strong style="font-size:18px;">Dana the Designer</strong></p>
<p>Dana uses Photoshop primarily to create mock-ups and layouts, usually involving a fair amount of text. She uses vector tools to draw shapes and embellishments, typographic tools for text layout and headings, and bitmap tools to add images to her design. Assembling all the various pieces of a design into a cohesive whole means she needs to be able to work easily with many different kinds of graphic elements.</p>
<p><strong style="font-size:16px;">Essential features:</strong><br />
<strong><br />
Robust typography tools: </strong>Design is 90% typography, so the more options here, the better. Kerning, anti-aliasing, conversion to paths &#8211; all the usual suspects.</p>
<p><strong>Layers: </strong>The ability to move, group, lock, name and otherwise manipulate layers of all kinds is critical. </p>
<p><strong>Layer effects:</strong> You should be able to add basic effects like stroke, drop shadow, transparency, etc. to any kind of layer. Same for blending effects. But keep it non-destructive! Anything you add should be removable later.</p>
<p><strong>Basic vector tools</strong>: A pen tool, simple shapes and lines with the option for stroke/fill on any of them. Basic pathfinding tools (join, union, add/subtract) are a bonus.<br />
<strong><br />
Image masking:</strong> Designers often don&#8217;t require extensive bitmap manipulation (level correction, etc) but do need to fit these images into shapes in their design.</p>
<p><strong style="font-size:16px;">Wish list:</strong></p>
<p><strong>Grid tool:</strong> Rules and guides are a given, but additional tools to help you set on a grid with pleasing proportions would be great.</p>
<p><strong>System anti-aliasing:</strong> For web designers. A text tool that emulates the system anti-aliasing you&#8217;d see on various kinds of computers.</p>
<p><strong style="font-size:16px;">Where others have done it right:</strong></p>
<p><a href="http://www.adobe.com/products/fireworks/">Fireworks</a> (originally Macromedia, now Adobe) is a good example of an app with a boiled-down feature set for designers. It includes &#8220;lite&#8221; versions of many tools you can find in Photoshop or Illustrator. Despite not being as powerful, many designers prefer it for its relative simplicity.</p>
<p style="border-top:1px solid #ccc;height:1px;line-height:1px;">&nbsp;</p>
<p><img src="http://www.randomnonsequitur.com/wp-content/uploads/2009/01/patrick.jpg" style="float:right; margin:0 0 5px 10px;" /><strong style="font-size:18px;">Patrick the Photographer</strong></p>
<p>Patrick uses Photoshop primarily for post-production work on his photographs. He imports an image from his camera, opens it at a high resolution and does level/color tweaks on the image. He may also use some limited drawing tools for clean-up.</p>
<p><strong style="font-size:16px;">Essential features:</strong><br />
<strong><br />
Level/color correction:</strong> All the usual suspects for photograph enhancement. Non-destructive please! If you add a correction, you should be able to edit or remove it later.</p>
<p><strong>Heal and clone:</strong> Used for cleaning up artifacts and photo manipulation. </p>
<p><strong>Basic drawing tools:</strong> Airbrush-like drawing tools with blending options are helpful for enhancing a subject. Used often on pictures of models.</p>
<p><strong>Quick mask:</strong> Easily isolate a subject or portion of the photograph for editing. The ability to have alpha properties on a selection further enhances this tool&#8217;s usefulness.</p>
<p><strong style="font-size:16px;">Wish list:</strong></p>
<p><strong>Automatic depth-of-field blur:</strong> Detect elements in the foreground and blur elements in the background. Useful for when you are working with low-quality photographs.</p>
<p><strong>Photo browser: </strong>Interface seamlessly with the user&#8217;s library of photographs.</p>
<p><strong style="font-size:16px;">Where others have done it right:</strong></p>
<p>Of the four archetypes, this one enjoys the best coverage on the Mac. Both <a href="http://www.apple.com/aperture/">Aperture</a> and <a href="http://www.pixelmator.com/">Pixelmator</a> do a nice elegant job of working with photographs. Both of these are reasonable alternatives to Photoshop for professionals.</p>
<p style="border-top:1px solid #ccc;height:1px;line-height:1px;">&nbsp;</p>
<p><img src="http://www.randomnonsequitur.com/wp-content/uploads/2009/01/ian.jpg" style="float:right;margin:0 0 5px 10px;" /><strong style="font-size:18px;">Ian the Illustrator</strong></p>
<p>Illustrators and icon designers fall into the same group and generally need the same tools. They rely almost exclusively on vector tools to do their work, and the more powerful the better. They may work from initial sketches but otherwise rarely do hand-drawn work with a tablet.</p>
<p><strong style="font-size:16px;">Essential features:<br />
</strong><br />
<strong>Powerful vector tools:</strong> A well-designed pen tool, point/handle editors and pathfinding tools are all absolutely essential. Any path, once placed, should always be fully editable.<br />
<strong><br />
Gradients:</strong> Standard gradient fills are a must have, but many will also want mesh gradients or gradients that follow a path. </p>
<p><strong>Export to standard file formats:</strong> One of the reasons illustrators work in vectors is so the final output can be resolution-independent. You should be able to export to a variety of standards like EPS, SVG and PDF. Bonus if you can export to AI as well.</p>
<p><strong>Bitmap layer for tracing:</strong> Your canvas should be able to support bitmap layers so you can easily trace over photographs with the pen tool.</p>
<p><strong style="font-size:16px;">Wish list: </strong></p>
<p><strong>Icon preview:</strong> Automatically generate a view that lets you preview your icon at a number of different sizes on various backgrounds.</p>
<p><strong>Hand-drawing tools: </strong>Tools that convert input from a pen tablet to paths are great, but even better when you can use different kinds of brushes that respond to pen pressure.<br />
<strong style="font-size:16px;"><br />
Where others have done it right:</strong></p>
<p>Sadly, I can think of no professional-grade vector illustration tool. Some swear by the open-source app <a href="http://www.inkscape.org/">Inkscape</a>, but I&#8217;ve never seen it used in professional circles and don&#8217;t have much personal experience with it myself.</p>
<p style="border-top:1px solid #ccc;height:1px;line-height:1px;">&nbsp;</p>
<p>Say what you will about Photoshop, it&#8217;s pretty amazing that one single app services all four of these archetypes. However, the flip side of that is that for any one of them, 75% of the app&#8217;s features are totally useless. Specialization and customer service is where independent software is strongest. If you can align yourself with your users, and if you listen to their needs, you will find yourself with a very willing audience. We all hate paying $1k+ to Adobe for a bunch of features we never use. We&#8217;d much rather pay $50 to an indie developer for exactly what we need.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomnonsequitur.com/post/135/feed</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Quit bitching about how you don&#8217;t know CSS and read this article</title>
		<link>http://www.randomnonsequitur.com/post/100</link>
		<comments>http://www.randomnonsequitur.com/post/100#comments</comments>
		<pubDate>Wed, 10 Dec 2008 05:41:52 +0000</pubDate>
		<dc:creator>Anne</dc:creator>
				<category><![CDATA[It's Not Rocket Surgery]]></category>

		<guid isPermaLink="false">http://www.randomnonsequitur.com/?p=100</guid>
		<description><![CDATA[Hey. You there. Yes, I&#8217;m talking to you, Guy Who Hasn&#8217;t Written HTML Since 1998. And you, Software Engineer Who Can&#8217;t Be Bothered By UI. And even you, Stubborn But Secretly Insecure Old-School Web Designer. You know what CSS is. Chances are good you&#8217;ve heard a lot of people bragging  talking about it. There&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Hey. You there. Yes, I&#8217;m talking to you, Guy Who Hasn&#8217;t Written HTML Since 1998. And you, Software Engineer Who Can&#8217;t Be Bothered By UI. And even you, Stubborn But Secretly Insecure Old-School Web Designer. You know what CSS is. Chances are good you&#8217;ve heard a lot of people <span style="text-decoration: line-through;">bragging</span>  talking about it. There&#8217;s a reason they do, and a reason you want to learn about it. Effective use of CSS greatly reduces code bulk and makes your design brilliantly maintainable, all without you ever having to think. Well, much. </p>
<p>I think the problem many people experience when trying to learn CSS is that they jump straight into the hard stuff (layouts, box model, browser compatibility) without learning the basic structure and behavior of the language. Here I&#8217;m just going to present you with a simple document and show you how to style the text on the page using CSS. You&#8217;ll learn about the different kinds of selectors and how inheritance behavior works, and it will hopefully provide you with a framework for learning the more advanced stuff. </p>
<p>It&#8217;s easier than you think. So leave your mental blocks at the door and come on in.<br />
<span id="more-100"></span><br />
<strong>Style: It isn&#8217;t just for the design kids</strong></p>
<p>So you have a document. Let&#8217;s call it boring.html. Go ahead and copy this into a text editor of your choice:</p>
<pre style="font-family:Courier New;padding-bottom:1em;">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Boring-ass document.&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;h1&gt;Don't mock my pain!&lt;/h1&gt;
  &lt;h2&gt;by a webpage&lt;/h2&gt;
  &lt;p&gt;I know I'm a boring ol' document.&lt;/p&gt;
  &lt;p&gt;But surely you have room in your life for &lt;a href="#"&gt;someone like me?&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;I'm just &lt;em&gt;so&lt;/em&gt; lonely...&lt;/p&gt;
  &lt;p&gt;Will you go out with me?&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Pretty straightforward, huh? If you don&#8217;t know what you&#8217;re looking at, start <a href="http://www.w3schools.com/html/html_intro.asp">here</a>. Come back when you&#8217;ve mastered the art of marking up a bunch of emo rambling with HTML. (<a href="http://www.livejournal.com">LiveJournal</a> is a good place to practice this.)</p>
<p>Now then. Open the page up in a browser and you&#8217;ll see why it&#8217;s so down in the dumps. Looks pretty crappy, doesn&#8217;t it? A little bit Class of &#8216;96. I&#8217;m not hating on Times New Roman, but a new font would go a long way towards getting this guy a date to the prom.</p>
<p><strong>If I said you had a great &lt;body&gt;, would you hold it against me?</strong></p>
<p>Go ahead and stick a <span style="font-family:Courier New;">style</span> tag in the <span style="font-family:Courier New;">head </span>of your document. That&#8217;s where we&#8217;ll house our CSS. (You can also link to an <a href="http://www.w3.org/TR/REC-html40/present/styles.html#h-14.3">external CSS file</a>, which is great for keeping the same styles across many documents. But we&#8217;re going to keep it simple for now.)</p>
<p>So we want to change the font across our document. We want this change to be global, right? Don&#8217;t want to see Times New Roman creeping in where it&#8217;s not wanted. It&#8217;s a good thing we&#8217;re using CSS for this, because this grand, sweeping vision can be accomplished with one line in your <span style="font-family:Courier New;">style </span>tag.</p>
<pre style="font-family: 'Courier New';padding-bottom:1em;">&lt;style&gt;
body {
  font-family: Arial, sans-serif;
}
&lt;/style&gt;</pre>
<p>Save. Refresh. Ta-da! You should see that all of the body text has changed to Arial. Now then, what exactly did we do?</p>
<p>As you probably already know, an HTML document is essentially a tree of nested nodes. <span style="font-family:Courier New;">p</span> tags are nested in the <span style="font-family:Courier New;">body</span> tag which is nested in <span style="font-family:Courier New;">html</span>. The default stylesheet applied by browsers is pretty intelligent about when to inherit CSS styles from parent nodes. An attribute like font-family or font-size will be inherited down through the tree, so if you apply font styles to the body tag you will see those styles applied to the entire document. Neat, huh? You will usually set your base font styles on the <span style="font-family:Courier New;">body </span>tag for this reason.</p>
<p>This is called a <em>type selector</em>.  You can do this with any HTML tag: <span style="font-family:Courier New;">body, p, em, span, td, div</span>. The sky&#8217;s the limit!</p>
<p><strong>&#8230;You&#8217;re just not my type</strong></p>
<p>So let&#8217;s go back to our body styling. The font size is a bit big for my tastes, so let&#8217;s bring that down a little. (Now, I should note that there are a great multitude of ways to size text, including a few that are more elegant than what I&#8217;m showing you here. For the sake of your understanding and your sanity, I&#8217;m going to sidestep the issue for now and simply use pixel values. If you really want to know the gritty details, <a href="http://css-discuss.incutio.com/?page=FontSize">thar be dragons beyond ye hyperlinke</a>.)</p>
<pre style="font-family:Courier New;padding-bottom:1em;">&lt;style&gt;
body {
  font-family: Arial, sans-serif;
  font-size: 13px;
}
&lt;/style&gt;</pre>
<p>Hey, look at that. Much better. &#8220;But Anne,&#8221; you whimper. &#8220;Why didn&#8217;t the <span style="font-family:Courier New;">h1 </span>and <span style="font-family:Courier New;">h2 </span>inherit the font-size property and become 13px as well?&#8221; Worry not, youngling. I said the default stylesheet employed by the browser was pretty smart (just like you). It inherits the base font size, then sizes the headers with <em>relative </em>values. <span style="font-family:Courier New;">h1 </span>is 180% of the base size, <span style="font-family:Courier New;">h2 </span>is 160%, and so forth. This way the visual hierarchy of the headers is preserved, even when you change the base font size. And all without you having to individually define each one. Nifty, eh? </p>
<p>Play around with this a bit. Try different tags and attributes and see what happens. Be amazed at how pretty you can make this page without ever having to touch a class selector. (We&#8217;ll get to those if you haven&#8217;t heard of them. But chances are you have, and they annoy you.)</p>
<p>Here&#8217;s what I came up with:</p>
<pre style="font-family:Courier New;padding-bottom:1em;">&lt;style&gt;
body {
  font-family:Arial, sans-serif;
  font-size:13px;
  padding:30px;
}
h1 {
  border-bottom:1px dashed #ccc;
}
h2 {
  font-style:italic;
  font-size:14px;
}
a {
  color:#CC6699;
}
&lt;/style&gt;</pre>
<p>Hey, this isn&#8217;t so hard!</p>
<p><strong>The one time in your life class will actually be useful</strong></p>
<p>&#8220;But Anne,&#8221; you whine. &#8220;This is all well and good, but what if I don&#8217;t want to change every <span style="font-family: 'Courier New';">p</span> tag on the page to style one block of text?&#8221; You astute observer you. It&#8217;s very true that sometimes you need to apply a style to a specific object or element. Why don&#8217;t we give that a try and see how it&#8217;s done? For this we&#8217;ll bring out the power of the <em>class selector</em>.</p>
<p>Our emo web page is looking pretty good, but it needs more drama. Let&#8217;s take that last paragraph and dress it up a little. If we want to isolate a section of text or a specific tag (instead of all tags of that type), we have to assign a class to it in the HTML. Let&#8217;s go back to our markup and fix it up:</p>
<pre style="font-family:Courier New; padding-bottom:1em;">&lt;html&gt;
&lt;body&gt;
  ...
  &lt;p class="proposition"&gt;Will you go out with me?&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>You can name your class whatever you want, but remember what you called it when you return to your CSS declarations. Go ahead and add the class selector the same way you&#8217;d add a type selector, only this time preface the name with a period to indicate its classiness.</p>
<p><span style="font-family:Courier New;">.proposition { }</span></p>
<p>The styles you define for <span style="font-family: 'Courier New';">.proposition</span> will apply to all elements you add the <span style="font-family:Courier New;">class=&#8221;proposition&#8221;</span> attribute to. In this case, it&#8217;s just one paragraph, but it could be any number of objects on the page. Classes are pretty laid back that way.</p>
<p>So now that we have this in place, we can style that paragraph independently from the other<span style="font-family:Courier New;"> p</span> tags on the page. Give it a shot.</p>
<pre style="font-family:Courier New;padding-bottom:1em;">.proposition {
  color:#3399FF;
  font-size:18px;
  font-weight:bold;
}
</pre>
<p>Pretty radical. There&#8217;s no way this guy&#8217;s going home alone now.</p>
<p><strong>I don&#8217;t care how big your mustache is, I&#8217;m gonna have to see some ID</strong></p>
<p>There is one other kind of selector you can use to style a specific element (or group of elements, if you remember inheritance), the <em>ID selector</em>. In this case the CSS looks for the attribute <span style="font-family: 'Courier New';">id </span>on the HTML tag. On the surface level it looks and behaves a lot like a class. The difference is that an ID must be unique to the document &#8212; There Can Only Be One. Therefore, IDs are usually reserved for high-level elements that only appear once on any given page. Most commonly these are layout elements like header, footer, navigation, etc. Since our emo page doesn&#8217;t have much of a layout, we don&#8217;t really have a need to use IDs here, but for demonstration&#8217;s sake let&#8217;s change the &#8220;proposition&#8221; paragraph from a class to an ID selector.</p>
<pre style="font-family:Courier New;padding-bottom:1em;">&lt;html&gt;
&lt;body&gt;
  ...
  &lt;p id="proposition"&gt;Will you go out with me?&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>In the CSS you&#8217;ll have to change the style declaration from<span style="font-family:Courier New;"> .proposition </span> (which denotes a class) to <span style="font-family:Courier New;">#proposition</span> (which denotes an ID).</p>
<pre style="font-family:Courier New;padding-bottom:1em;">#proposition {
  color:#3399FF;
  font-size:18px;
  font-weight:bold;
}</pre>
<p>Everything should look exactly the same. When to use IDs and when to use classes is a tricky question that is best learned with experience. The more complex your documents get, the more you&#8217;ll have to think ahead and plan the structure of your data. The goal is to make your life as easy as possible (CSS is a lazy designer&#8217;s best friend). In general, you will use classes for most of your actual styling. IDs really shine when you assign them to <span style="font-family:Courier New;">div </span> tags that hold your content in neat little buckets. Then you can make good use of <em>descendant selectors &#8211; </em>a bonus, super-secret ninja technique that allows you style types and classes differently within the different buckets. For example, these two rules will make the <span style="font-family:Courier New;">a</span> tags in the header black, while the <span style="font-family:Courier New;">a</span> tags in the footer are white.</p>
<pre style="font-family:Courier New;padding-bottom:1em;">#header a {
  color:#000000;
}
#footer a {
  color:#FFFFFF;
}</pre>
<p>And these could both be different from the global <span style="font-family:Courier New;">a</span> color, which could be anything. It could even be puce. </p>
<p><strong>A note about good design</strong></p>
<p>One of the trickiest things to learn about CSS is how to manipulate selectors, the cascade, inheritance, and specificity to isolate portions of your HTML document while keeping the document itself as bare-bones as possible. It&#8217;s true that this kind of thing works:</p>
<p><span style="font-family:Courier New;">&lt;p class=&#8221;main&#8221;&gt;Marco de Polo was a most amazing fellow. He wrote many books, including<br />
&lt;em&gt;&lt;span class=&#8221;gray&#8221;&gt;Summer Fun, or How To Ensure Every Child Ever Knows Your Name For The Rest Of Time&lt;/span&gt;&lt;/em&gt;.&lt;/p&gt;</span><br />
<span style="font-family:Courier New;">&lt;p class=&#8221;footerline&#8221;&gt;Copyright 2008, Not True Magazine&lt;p&gt;</span></p>
<p>You can simply define all those specific classes in your styles and be done with it. But both your HTML and your CSS will bloat, it will be difficult to maintain, and you will too often find yourself wondering what the <span style="font-family:Courier New;">.littleblue</span> class was for. </p>
<p>If you&#8217;re smart about things, you can reduce your HTML to this:</p>
<div style="font-family:Courier New;padding-bottom:1em; ">&lt;div id=&#8221;content&#8221;&gt;<br />
  &lt;p&gt;Marco de Polo was a most amazing fellow. He wrote many books, including &lt;em&gt;Summer Fun, or How To Ensure Every Child Ever Knows Your Name For The Rest Of Time&lt;/em&gt;.&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;div id=&#8221;footer&#8221;&gt;<br />
  &lt;p&gt;Copyright 2008, Not True Magazine&lt;p&gt;<br />
&lt;/div&gt;</div>
<p>And you can achieve exactly the same amount of control over the different elements in the document with CSS. <span style="font-family:Courier New;">p</span> tags within the<span style="font-family:Courier New;"> #content</span> block have a certain style. <span style="font-family:Courier New;">em </span> tags are colored gray. The <span style="font-family:Courier New;">#footer</span> block has smaller text and a border on top. Easy to do, easy to read, easy to change. </p>
<p><strong>Go ye forth unto the world of the web!</strong></p>
<p>I&#8217;ve really just scratched the surface here, but you should now have at least a fundamental idea of what you&#8217;re working with when you use CSS. If you want to learn more complex techniques, like using CSS for layout or positioning, there is a wealth of excellent tutorials out there. Here are just a few:</p>
<p><a href="http://www.w3.org/Style/Examples/011/firstcss">Starting with HTML + CSS</a> (W3C tutorial)<br />
<a href="http://css-discuss.incutio.com/">CSS-Discuss</a> (Wiki with many tips and tricks)<br />
<a href="http://www.quirksmode.org/">Quirksmode</a> (Compatibility charts and reference for advanced CSS)</p>
<p>And the next time some hotshot web 2.0 designer is bragging about the CSS on his blog, you can nod sagely and say &#8220;CSS? Yes, I know a little.&#8221; And then you can splash your drink on his trendy glasses. Do it for me?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomnonsequitur.com/post/100/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The Independent Worker&#8217;s Field Guide: Rates and Finances</title>
		<link>http://www.randomnonsequitur.com/post/49</link>
		<comments>http://www.randomnonsequitur.com/post/49#comments</comments>
		<pubDate>Sat, 08 Nov 2008 08:05:34 +0000</pubDate>
		<dc:creator>Anne</dc:creator>
				<category><![CDATA[It's Not Rocket Surgery]]></category>

		<guid isPermaLink="false">http://www.randomnonsequitur.com/?p=49</guid>
		<description><![CDATA[Going independent is a scary thing. You have to convince yourself to leave your job, be your own boss and be responsible for your own fate. There seems to be a dearth of good, specific documentation about how to take this step, so I&#8217;ve tried here to compile the best of what I&#8217;ve learned over [...]]]></description>
			<content:encoded><![CDATA[<p>Going independent is a scary thing. You have to convince yourself to leave your job, be your own boss and be responsible for your own fate. There seems to be a dearth of good, specific documentation about how to take this step, so I&#8217;ve tried here to compile the best of what I&#8217;ve learned over the years. This advice is specific to design, but much of it also applies to consulting in any field.</p>
<p><strong style="font-size:16px;">Chapter One: Rates and Finances</strong></p>
<p><strong>Rule #1: You have to budget.</strong></p>
<p>The first thing you should do (nay, <em>must</em> do) is to sit down with your favorite spreadsheet application and write up a budget. Figure out what your monthly expenses are, how much spending money you&#8217;d like to have, how much you want to save, and the cost of your health care (either estimated expenses or private insurance if you&#8217;re buying it). Add them all up and divide by 0.6 to account for taxes. Voila! That number is about how much you should aim to earn per month.</p>
<p>Remember this number. Cherish it. It&#8217;s your new best friend. Look at it when you get anxious about money &#8211; it will comfort you.</p>
<p>And I hope you caught that bit about taxes. You don&#8217;t have a company withholding money for you anymore, so you&#8217;ll have to be responsible in order to be ready when April comes around. Don&#8217;t worry though, I&#8217;ll explain how to prepare for that in a little bit.</p>
<p><strong>Rule #2: Don&#8217;t work forty hours a week.</strong></p>
<p>Now, what I mean is that you shouldn&#8217;t work forty <em>billable</em> hours a week, especially if you maintain multiple clients at the same time. There are a few reasons for this. First, people are simply not productive for that much time. It&#8217;s required in an office because of the inevitable inefficiency that happens in any company of reasonable size, but you are independent now and you can be a lot tighter about when you work and when you don&#8217;t. Work when you&#8217;re productive, rest when you&#8217;re not. What a novel idea!</p>
<p>Second, you should plan to spend about 5-10 hours a week doing off-the-clock work. This includes finding potential clients, writing estimates and contracts, and networking with your peers. This is absolutely essential to your success and if you don&#8217;t give yourself time to do these housekeeping tasks it won&#8217;t be long before you&#8217;re burned out and signing up to flip burgers at the local In-N-Out.</p>
<p><strong>Rule #3: Be pragmatic about your rates.<br />
</strong></p>
<p>Many people struggle with setting rates, especially as it can be difficult to figure out what others in your field are charging. A good starting point is to take your current salary, convert it to an hourly number, and multiply by 2. (Note: a commenter below points out this should be closer to 2.5 or 3. This is more in line with what your company pays for you and is necessary if you have overhead to cover. When in doubt, take the higher multiplier. It is far better to start high and adjust down than to start too low and have to scramble to make up the difference.)</p>
<p>Divide it into your magic number from Rule #1, and then divide by four to find out how many hours a week you&#8217;d have to work to make your target. You should be aiming for 20-25 hours a week, so adjust accordingly. If you want to work less, you have to charge more. If you want to (or have to) charge less, you have to work more. Work out an ideal balance that you&#8217;re comfortable with.</p>
<p>Now get out there and find some clients. The only way to find the sweet spot with rates is to do some actual work and collect data. Note the kinds of companies that you&#8217;re working for — you will probably find that smaller companies have less money in their budgets but more work to offer. Bigger companies often come with good rates but a lot of overhead. Many consultants have a sliding scale depending on the size and visibility of the company. Over time you&#8217;ll naturally develop a small range that gives you some wiggle room for negotiation.</p>
<p><strong>Rule #4: Don&#8217;t be afraid to negotiate.</strong></p>
<p>When quoting rates, always start high and negotiate down. I&#8217;m going to teach you a trick of sorts that can be used when a client is gunshy about your rates. Read the interaction below for an example of this trick in action.</p>
<div style="background:#e8e8e8;border:1px solid #ccc; padding:15px; padding-bottom:3px; margin-bottom:13px;">
<p>Joe the Web Designer is working at Psuedonym Software for $70,000 per year. He decides he wants to strike out on his own, so he uses my formula to calculate a starting rate comparable to his current salary. His $37/hr multiplied by 2 is about $75/hr. His target monthly income is $6500, so he divides that by 4 and then by $75 to figure out how many hours per week he needs to work. He comes in at 21; looking good so far. Now he&#8217;s in negotiations with his first client, XYZZY Industries. They have a conversation something like this:</p>
<p>Client: So what would you charge for this kind of work?<br />
Joe: Well, I estimate that it would be about 25 hours. At $75 per hour that comes out to $1,875.<br />
Client: Ooh. That&#8217;s a little high for us.<br />
Joe: I might be willing to negotiate. What&#8217;s your budget?<br />
Client: About $1,500.<br />
Joe: I can do it for $1,600 with a budget of 25 hours. That&#8217;s a ten dollar discount off my normal rate. Any hours above that 25 would be billed hourly, of course.<br />
Client: Sounds great, let&#8217;s do it!</p></div>
<p>Let&#8217;s go over what has just happened. First, Joe now has a data point about his rates. XYZZY was a little nervous about $75/hour. That doesn&#8217;t mean he should lower his rates for all clients, of course. But it does help inform his decisions about XYZZY or companies similar to it in the future.</p>
<p>Second, let&#8217;s discuss why Joe got a good deal even though he lowered his rates. Notice that he negotiated from an hourly rate to a flat rate &#8211; $1,600 for the whole job (up to 25 hours). In some ways this is a false discount for the company. It&#8217;s only $65/hour if he takes the full 25 hours to do the work, and if Joe is smart about how he uses his time there is a good chance it won&#8217;t actually take that long. He was also careful to quote the upper bound to the client. If you think a project will take 20-25 hours, always quote them 25. It&#8217;s good &#8220;potentially saving your ass&#8221; practice.</p>
<p>So let&#8217;s say he really boogies and it takes him 20 hours to finish the job. Doing the math, we find out Joe got $80/hour for that work, even higher than his original estimate. And the client is happy because they got it done on their budget. Everyone wins.</p>
<p>Now let&#8217;s say it really does take him 25 hours or more and ends up being $65/hour. It&#8217;s not such a good deal anymore, right? You might be surprised. Keep in mind that every client you have brings some amount of unbillable overhead in the form of communication, estimates, and contract writing. This means there is an advantage to taking fewer, longer projects. The fact that Joe now knows he will get at least $1,600 for his time is worth something.</p>
<p>Let&#8217;s take a detour and quantify what a longer-term contract is worth. I usually estimate about 5 hours of overhead for a new client. That includes the work I do to get that project rolling as well as the work I have to do to find them. At Joe&#8217;s rates this is about $375 worth of his time. He&#8217;s essentially saving himself this money in taking a steady project, so it is still worth it to him even if he has to lower his rates a little.</p>
<p>Of course, this isn&#8217;t quite as cut-and-dry as I&#8217;m making it out to be here. There are many factors that go into what you charge for a job. Here are just a few possible scenarios:</p>
<p>1. Web design for John&#8217;s startup. John is a friend of Joe&#8217;s and his company doesn&#8217;t have a lot of cash. Joe decides to discount to $60/hour.</p>
<p>2. Building a CMS template in PHP for a local school. Joe really hates PHP and quotes $120/hour, because that&#8217;s what it would take for him to actually do it.</p>
<p>3. Design contracting for BigCorp, Inc. Joe raises his rates a little to $85/hour, because he knows the large company can afford it and he has to deal with their annoying marketing team.</p>
<p>The more work you do, the more you&#8217;ll know how far you can push different kinds of clients, and how much you believe your time is worth. Use your monthly magic number (see Rule #1) as a guide, and remember that you&#8217;re free now to make your own choices about what you earn. No more begging for raises &#8211; you just have to earn them yourself.</p>
<p><strong>Rule #5: If you&#8217;re not turning away clients, you&#8217;re not charging enough.<br />
</strong></p>
<p>This is related to Rule #4. Negotiation is good and can improve your relationship with the client. However, if you find that you&#8217;re negotiating a lot and not often getting jobs at or above your target rate, you probably need to toughen up a bit and push harder for the higher rates. Some clients won&#8217;t be able to afford you and will go elsewhere. However, assuming your rates are fair and appropriate for your experience and work, some will stay and pay it. You never want to be in the situation that you are known for your low rates. Competing on price is the kiss of death.</p>
<p>Think of it as a form of supply and demand. The more you work and the more experience you have, the more your time will be worth. Your rates will go up over time to match the increased demand for your services. Think of it as a promotion, indie-style.</p>
<p><strong>Rule #6: Give yourself a salary out of the &#8220;company&#8221; bankroll.</strong></p>
<p>One final rule that will help keep you prepared for tax season. You probably want to set aside about 40% of everything you earn for taxes. One way to make sure that you do this diligently is to deposit your checks into a &#8220;company&#8221; bank account. (You did set up a <a href="http://entrepreneurs.about.com/od/businessstructure/a/doingbusinessas.htm">fictitious business name</a>, right? Of course you did!) Give yourself a &#8220;paycheck&#8221; out of this bank account once or twice a month, making sure to leave at least 40% of what you earned. If you find that you need to take out more than that to cover your expenses, you need to go back to Rule #1 and revisit your budget. Maybe you need to work more hours or ask a higher rate in order to make your target.</p>
<p>If you&#8217;re feeling saucy, you can use the company bank account for business-related expenses as well. Come up with a fair wage for yourself and leave everything else to reinvest into the company — purchasing advertising or office supplies, for example. Working for yourself takes discipline, especially financial discipline. Keeping your accounts separate is a good way to establish a mental boundary between what you earn and what you actually get to spend.</p>
<p>And as a corollary, doing your taxes as an independent is extremely complicated. You will probably want help in the form of a small business <a href="http://www.gaebler.com/Choosing-Accountants.htm">accountant</a>. They can help you plan, deal with expenses and invoices and keep your taxes under control.</p>
<p>***</p>
<p>Well, that was a hefty chapter! But finance is a hefty topic when it comes to being your own business. The next chapter will cover writing contracts, details of invoicing and payment, and making sure your butt is covered legally. Feel free to leave any comments or questions you might have and I&#8217;ll try to answer them here. Angry tirades also accepted. Everyone is welcome!</p>
<p>That&#8217;s all for now. See you next time for Chapter Two: LeChuck&#8217;s Revenge.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomnonsequitur.com/post/49/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Five things you probably already know about weight loss</title>
		<link>http://www.randomnonsequitur.com/post/20</link>
		<comments>http://www.randomnonsequitur.com/post/20#comments</comments>
		<pubDate>Wed, 11 Jun 2008 19:24:01 +0000</pubDate>
		<dc:creator>Anne</dc:creator>
				<category><![CDATA[It's Not Rocket Surgery]]></category>

		<guid isPermaLink="false">http://www.randomnonsequitur.com/?p=20</guid>
		<description><![CDATA[A truism: engineers are often not the healthiest people around. We don&#8217;t sleep enough, we don&#8217;t eat right, we don&#8217;t get enough exercise and we&#8217;re prone to being overweight. Moreover, we neither have time nor the inclination to address our bad physical habits because we&#8217;re so often hyperfocused on the metaphysical, the intellectual or the [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float:right;" src="http://ahalsall.googlepages.com/wut.jpg" alt="" />A truism: engineers are often not the healthiest people around. We don&#8217;t sleep enough, we don&#8217;t eat right, we don&#8217;t get enough exercise and we&#8217;re prone to being overweight. Moreover, we neither have time nor the inclination to address our bad physical habits because we&#8217;re so often hyperfocused on the metaphysical, the intellectual or the technical. Inner self: very important. Outer self: not so much.</p>
<p>I myself grew up quite pudgy and have always been so. I was a stubborn mule about it too. Even though I knew it was unhealthy and I was unhappy looking the way I did, I refused to do anything about it, both out of laziness and the ridiculous notion that being concerned with my physical appearance was somehow shallow. For years I trudged on this way until I realized, as many people in my aging generation are starting to, that my lifestyle could go on forever, but my body certainly wouldn&#8217;t.</p>
<p>So earlier this year I made it a resolution that I was going to get myself to a healthy size and stay there. I signed up with a clinic specifically designed to treat obesity, and started a four month program over the course of which I lost about forty pounds. By no means am I out of the woods yet; any behavior change takes time, and I&#8217;m attending courses on weight maintenance for the next six months just to ensure I don&#8217;t return to my old Mountain Dew-swilling ways and gain it all back.</p>
<p>It has been an experience the likes of which I can&#8217;t adequately describe here (but I&#8217;m always happy to talk about it if you ask). But I have learned a few basic things that I thought I would share, as someone who&#8217;s been through it.</p>
<p>Five things you probably already know about weight loss (so no more excuses, right?):</p>
<ol>
<li><strong>Reduce the number of calories you eat. </strong>I don&#8217;t care how you do it &#8211; give up sugar, give up fatty food, portion control. Whatever is easier for you. Your body only needs a certain number of calories a day to keep you going (approximately your weight in pounds times ten) and if you routinely exceed this number, it will start storing the excess energy as fat. Keeping a food diary is immensely helpful &#8211; I highly recommend <a href="http://www.calorieking.com">calorieking.com</a>.</li>
<li><strong>Exercise frequently with low intensity. </strong>Find something easy and enjoyable that you will do every day for 20-30 minutes and do it. This will help keep your body burning fat for energy instead of muscle. Just don&#8217;t push yourself too hard or you&#8217;ll actually start burning glucose stores instead of fat, which will only make you feel hungry.</li>
<li><strong>Drink at least 2 quarts of water a day. </strong>Not only does it help you fight fatigue (a common symptom of dehydration), but it also serves to make the fat-burning process more efficient. Flavored water counts, but black tea and coffee don&#8217;t &#8211; and watch the caffeine.</li>
<li><strong>Eat lots of lean protein.</strong> White fish and white meats like chicken and turkey breast are low-fat and relatively low-calorie. Even better, they are loaded with protein, which will help you feel full even if you&#8217;re cutting calories.</li>
<li><strong>Don&#8217;t let yourself get really, really hungry.</strong> If you&#8217;re dieting, you will be hungry from time to time. What you want to avoid is the situation in which you let yourself get absolutely starving, and then start making bad decisions about food. Eat a healthy snack in between meals, or eat smaller meals more frequently.</li>
</ol>
<p>I won&#8217;t lie and say that it&#8217;s easy, but it does get easier. 90% of the battle is education. If you&#8217;re interested in learning more, I recommend <a href="http://www.amazon.com/New-Fit-Fat-Covert-Bailey/dp/0395585643">The New Fit or Fat</a> and <a href="http://www.amazon.com/gp/product/0618340556?ie=UTF8&#038;tag=theredjacketcomp&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0618340556">Thin for Life</a>. Both are fairly technical and don&#8217;t have too much of the usual pseudoscientific nonsense.</p>
<p>And if you&#8217;re trying out a Wii Fit, let me know how it works for you. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomnonsequitur.com/post/20/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
