<?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>Monday By Noon &#187; organization</title>
	<atom:link href="http://mondaybynoon.com/tag/organization/feed/" rel="self" type="application/rss+xml" />
	<link>http://mondaybynoon.com</link>
	<description>A resource for Web designers and developers to read about and discuss their craft.</description>
	<lastBuildDate>Wed, 08 Feb 2012 13:49:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>&#8226; Improving Your Process: Thinking More About Your CSS</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20090601%2Fimproving-your-process-thinking-more-about-your-css%2F&#038;seed_title=%26%238226%3B+Improving+Your+Process%3A+Thinking+More+About+Your+CSS</link>
		<comments>http://mondaybynoon.com/20090601/improving-your-process-thinking-more-about-your-css/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 13:17:50 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Improving Process]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[organization]]></category>
		<category><![CDATA[tricks]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=486</guid>
		<description><![CDATA[It's important to constantly improve yourself, even when you've become completely comfortable with it. CSS is a simple technology, but putting proper thought behind it can make a stylesheet beautiful.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=486&c=1994665850' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=486&c=1994665850' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>Over the past few months, I&#8217;ve been trying to keep an eye on myself as far as writing CSS goes. Writing CSS leaves a lot in the hands of the author, and every designer has his or her very own method to madness. When it comes to CSS, you can do anything you want, which is mostly valuable, but sometimes hurtful with inexperience. I&#8217;m always curious to know the thought process behind writing CSS from the eyes of the author, as every stylesheet can be quite different from the next.</p>
<p>The way you write your CSS today depends heavily on what you were initially taught (self or otherwise) in conjunction with other things such as what you&#8217;ve read that counteracts your teachings, as well as the level of desire to improve your craft. I like finding out the lessons learned behind your reasons (or lack thereof) for writing CSS the way you do.</p>
<p>I really enjoy writing about CSS, and if you&#8217;re a fairly recent subscriber, here&#8217;s a quick breakdown of my tips, tricks, and suggestions from the past:</p>
<dl>
<dt><a href="/2006/02/19/write-better-css/">Write Better CSS</a></dt>
<dd>One of the earliest articles I had written for Monday By Noon, but I still practice much of what was written over three years ago.</dd>
<dt><a href="/2007/02/26/improving-your-process-css-techniques-part-1/">Improving Your Process: CSS Techniques Part 1</a></dt>
<dd>In the first part of the Techniques series, I mentioned a few ways that I tried to be more organized with my CSS writing, especially when working with a team. I have made some revisions since the publication of that article, specifically in <a href="/2008/04/21/why-i-like-and-use-reset-css/">dealing with browser defaults</a>. Apart from that, I still stand by the advice offered in that piece.</dd>
<dt><a href="/2008/01/14/improving-your-process-css-techniques-part-2/">Improving Your Process: CSS Techniques Part 2</a></dt>
<dd>In this article I made public my switch to using a reset stylesheet. I also tried to put into words some of the thought process behind my front end development process. You won&#8217;t find many code samples in that article.</dd>
<dt><a href="/2008/09/01/css-organization-methods-and-writing-style/">CSS Organization Methods and Writing Style</a></dt>
<dd>This article was all about writing style. Style as far as comment blocks, overall stylesheet organization, right down to single line versus multiline. I touched on the idea of using flags as a hook for searching to quickly find various sections of your stylesheet, but that didn&#8217;t catch on with me.</dd>
</dl>
<p>With that reviewed, I&#8217;ve got a few other things I&#8217;d like to share as far as my CSS writing style is concerned.</p>
<h2>It&#8217;s about patterns</h2>
<p>One of the best habits I&#8217;ve found for myself is the desire to find patterns in designs. Patterns go a long way in design, and every good design inherits a certain level of pattern. Whether it be in organization, texture, or otherwise, a pattern provides consistency, and you&#8217;ll see patterns everywhere on the Web.</p>
<p>It will be in your absolute best interest to discover these patterns prior to writing a single line of markup or style. You want to use patterns to your benefit. Not only will finding patterns reduce your workload, it will make maintenance that much easier.</p>
<p>Jeff Croft recently posted an insightful article on finding patterns in CSS, but instead compared it to <a href="http://jeffcroft.com/blog/2009/may/20/applying-oop-concepts-css/">applying <abbr title="Object Oriented Programming">OOP</abbr> concepts to CSS</a>. I&#8217;m a big fan of Jeff, and much of my fandom comes from a similarity not only in workflow, but also opinion and thought process when it comes to Web design. In that article, Jeff puts into words something I&#8217;ve tried to verbalize in the past, and I&#8217;m thrilled to have it as a reference now.</p>
<p>I can see how using OOP methods in your CSS can be an eye-opening discovery, but it&#8217;s <em>very important</em> that you don&#8217;t become overzealous with it. As with many aspects of Web design, there is a fine line to walk when it comes to finding a happy medium with something like this. You&#8217;ll need to take a step back and really think about your implementation before taking action, else you&#8217;ll find yourself fighting an uphill battle when it comes to troubleshooting and maintenance. Using too many classes in a widespread way is going to cause trouble when you need to make a sitewide change and need to edit nearly every file on the site because you used a combination of classes in too many places.</p>
<p>Before I begin writing a line of markup, I take enough time to look at every comp for a website. I&#8217;ll look to see which elements, both structural and stylistic, have a repetitious property to them. I&#8217;ll keep these repetitions in mind as I write my initial markup, and then again when I&#8217;m later starting to write my CSS, and use the patterns to my advantage. Experience will help you better recognize and use patterns as you design and build more websites, but it will be a great skill to focus on throughout your career.</p>
<h3>It&#8217;s also about structure</h3>
<p>One of my biggest peeves when maintaining CSS is poor stylesheet structure. That is to say, when a production stylesheet has been in place for a decent amount of time, and the website has undergone some revisions, the edits were not properly put in place. Instead, declarations are sometimes simply appended to the end of the file to ensure their application, instead of finding the proper place in the file in which to make a change. I can recognize the desire to do such a thing, especially if you&#8217;re doing maintenance yourself, and the original file structure is so unkempt it would take hours to sift and organize it yourself. While the fault lies with the original author, it&#8217;s something that should be entirely avoided from the start.</p>
<p>I don&#8217;t mean to say that the way I write my CSS is a superior way to do so, my point is that you <strong>need</strong> to have some structure to your stylesheets. The technique I use for structuring my stylesheets is roughly the following:</p>
<ol>
<li>Global styles such as &#8216;main&#8217; copy properties (size, color, font) at the top</li>
<li>Global structure definition (main (secondary) page structure)</li>
<li>Header styles</li>
<li>Content area styles</li>
<li>Sidebar styles</li>
<li>Footer styles</li>
<li>Per-page specific styles</li>
</ol>
<p>My basic reasoning is to work top down as far as specificity is concerned. I&#8217;ll work from the most global properties down to the most detailed as I work through a stylesheet. I try to keep things organized with how I think in a way. I&#8217;ll start with the main structure of the document, and then continue to style the header, content area, sidebar, and footer, respectively.</p>
<p>Once the more generic, consistent styles are taken care of, I&#8217;ll set up sections of the stylesheet specifically for one-off pages in the site should the design require it. Proper attention is given to these groups of styles via comments outlining which page is associated with a set of selectors.</p>
<p>Working in such a way will help you abstract which edits will affect the site in its entirety as opposed to the single instance you&#8217;re trying to modify. When working on a site you didn&#8217;t originally style, it&#8217;s very easy to make an edit that may in fact destroy a significant portion of the site you&#8217;re not even aware of.</p>
<h3>Do you consitently keep your CSS in check?</h3>
<p>Is it strange that I still put this much emphasis on the quality of my stylesheets? Are you at all interested in how other people write CSS or do you prefer to work in the way you&#8217;re comfortable? What techniques do you use when organizing your stylesheets from a more global perspective, as opposed to writing comments here and there for reference?</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=486&c=808001715' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=486&c=808001715' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20090601/improving-your-process-thinking-more-about-your-css/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>&#8226; CSS Organization Methods and Writing Style</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20080901%2Fcss-organization-methods-and-writing-style%2F&#038;seed_title=%26%238226%3B+CSS+Organization+Methods+and+Writing+Style</link>
		<comments>http://mondaybynoon.com/20080901/css-organization-methods-and-writing-style/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 15:18:34 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Improving Process]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Workbench]]></category>
		<category><![CDATA[CSSEdit]]></category>
		<category><![CDATA[CSSTidy]]></category>
		<category><![CDATA[organization]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=173</guid>
		<description><![CDATA[There are many ways to organize and optimize your CSS. This document discusses some of those methods.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=173&c=209688255' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=173&c=209688255' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s only natural to have preferences. Personal preferences help define your character, your style. Each day, you apply your personal preferences to nearly everything you do, right down to the way you write your code. Some developers don&#8217;t even know they&#8217;re doing it, while others are outright forceful when it comes to a conversation about whitespace.</p>
<p>I&#8217;d like to cover some common techniques for writing <abbr title="Cascading Style Sheets">CSS</abbr>. This article is in no way meant to indicate that method A is in any way, shape, or form superior to method B. Please keep that in mind as you read. Topics such as this tend to spark quite the debate, but that&#8217;s not my goal. The purpose of this article is to provide insight to other ways of doing things.</p>
<h2>Commenting your CSS</h2>
<p>As with all software development, commenting is applicable and important when it comes to CSS. Also similar to other software development, with CSS there are good methods of commenting, as well as less than ideal methods. Comments can be useful not only as a personal reference, but also invaluable to your teammates or coworkers.</p>
<p>At the top of the list comes headings/grouping. Many developers will segment their CSS into related groups of selectors. This helps a great deal when it comes to maintenance. Having all of your related styles in proximity with one another is greatly beneficial. There are a number of ways to effectively group your styles by section. My preferred method is as follows:</p>
<pre class="sh_css"><code>/* Heading
------------------------------------------------------- */

.selector { property:value; }
.selector #selector { property:value; property:value; }</code></pre>
<p>Creating headings allows me to quickly scan a style sheet and make the change I&#8217;m looking to implement. There are many different methods to effectively format your headings, make sure you&#8217;re using one that&#8217;s easily identifiable, e.g.:</p>
<pre class="sh_css"><code>/* =========== */
/* = Heading = */
/* =========== */

.selector { property:value; }
.selector #selector { property:value; property:value; }

/* =========================================
   HEADING */

.selector { property:value; }
.selector #selector { property:value; property:value; }

/* ============== [ HEADING ] ============== */

.selector { property:value; }
.selector #selector { property:value; property:value; }</code></pre>
<p>There are plenty of ways to segment your code with a few simple headings. My only suggestion is that you implement it in some way, and remain consistent with it.</p>
<p>Another fantastic, quick to implement, handy comment is a <a href="http://v1.garrettdimon.com/archives/css-maintenance-tip-use-a-color-glossary">color glossary</a>. Simply making a quick note at the top of your style sheet can save you quite a bit of time searching for consistent color values.</p>
<p>Leaving yourself (and your teammates) notes via comments, while not very common from what I&#8217;ve seen, could prove to be useful. The issue here, however, comes down to why you&#8217;re leaving the comment in the first place. If your styles have become so convoluted that you&#8217;re leaving an explanatory note, you may want to revisit the cause of the requirement.</p>
<h2>Single Line vs. Multi Line</h2>
<p>As you may have noticed in my samples, I write single line CSS. Single line vs. multi line CSS has been a debate since the beginning, and continues to evoke <a href="http://flickr.com/photos/jonathansnook/2800852816/">heated discussions</a> to this day.</p>
<p>Most of the debate stems from a direct disruption to the overall readability of the style sheet. Many developers see single line CSS as completely unreadable, while others feel the same way about multi line. I think the main reason behind that is because each developer is looking for something different when they read a style sheet. I, being of the single line variation, hunt for selectors first. Once I&#8217;ve found my selector, I&#8217;ll continue to look for my desired property/value combination, and go from there. Multi line developers seem to hate the fact that property/value combinations aren&#8217;t given nearly as much &#8216;weight&#8217; as selectors, greatly reducing readability.</p>
<p>Both camps are right. There are pros and cons to each way of writing CSS, and at the end of the day, like with all things, you need to do what&#8217;s best for you. Just because someone else uses slightly different formatting doesn&#8217;t make them any better or worse.</p>
<h3>Proposed solution</h3>
<p>I write <a href="http://www.flickr.com/photos/jonchristopher/2800966592/">my (single line) CSS</a> in <a href="http://macrabbit.com/cssedit/">CSSEdit</a>. One of the reasons I like to use the application is because it&#8217;s got reformatting built in. If I need to work on a multi line style sheet, CSSEdit will reformat it to my liking with the click of a button. When I&#8217;m done, I can reformat it back to the way I found it and call it a day.</p>
<p>Unfortunately, CSSEdit is a Mac application, and there are quite a few developers who don&#8217;t run OS X. To &#8216;share the wealth&#8217; of this feature in CSSEdit, I took some time to put together a <a href="/reformat-css/">CSS Reformatter</a>. Powered by the sweet <a href="http://csstidy.sourceforge.net/">CSSTidy</a>, the Reformatter lets you paste your CSS, choose a template format, and provides a reformatted style sheet for you to work with.</p>
<p>I haven&#8217;t had a whole lot of time to work with it, but the Reformatter also allows you to implement your own <a href="http://csstidy.sourceforge.net/templates.php">custom CSSTidy templates</a>. If you don&#8217;t like &#8216;my&#8217; multi line or single line templates, feel free to use your own.</p>
<p>Again, it&#8217;s not a matter of one method being superior to the other, just be sure to use what you&#8217;re comfortable with. Establish a standard among your team, and reformat your CSS to that standard before stopping work on it. Everyone = happy.</p>
<h2>Other methods of organization</h2>
<p>One technique that has come up from time to time is that of alphabetizing your CSS. Basically, the idea is to alphabetize both your selectors as well as properties to make finding specific declarations a very speedy process. At first I was a bit taken back by this approach. It seemed like quite a bit of work both in the initial writing as well as maintenance of a style sheet. I suppose, however, if you&#8217;re accustomed to writing CSS this way, you&#8217;d be very quick in locating various items in your style sheet. Unfortunately, I don&#8217;t like this technique simply because it removes all structure from your document. You could say it&#8217;s structured based on the alphabet, but in my opinion segmenting the styles based on their context is a bit more applicable.</p>
<p>In mentioning &#8216;findability,&#8217; I&#8217;d like to also bring up flagging. Many developers will use certain special characters in their comments to allow quick scanning of a style sheet by way of the editors built in find functionality. For example, you can flag certain comments with an equal sign to signify it is of one &#8216;group&#8217; of selectors, your heading for instance:</p>
<pre class="sh_css"><code>/* =Heading
------------------------------------------------------- */

.selector { property:value; }
.selector #selector { property:value; property:value; }</code></pre>
<p>The idea behind such flags is to bring up the editor find dialog, enter &#8216;=&#8217; and simply search your sections one by one. Personally I haven&#8217;t adopted this approach in favor of straightforward heading comments, but I can definitely see value in it. An issue that may come up, however, is standardization of the flags amongst your team. Make sure everyone is using the same flags for the same purpose, else you&#8217;ll be both confused and frustrated when picking up where someone else left off.</p>
<h3>Separating style sheets</h3>
<p>A technique I&#8217;ll see from time to time, is that of separating style sheets into different files based on purpose. That is to say, there will be one style sheet for typography, another for colors, one for layout, and more. The purpose is to abstract certain selectors based on what you&#8217;re looking to do with them, as well as trim the overall length of your document.</p>
<p>Personally, this method has been more cumbersome than useful for me. I find it difficult to force myself to take care of all the type in one style sheet, colors in another, etc. Additionally, when it comes to maintenance, I dislike the fact that I potentially have to open multiple style sheets to make a &#8216;single&#8217; edit.</p>
<h3>Style sheet compression</h3>
<p>The last bit I&#8217;d like to touch on is CSS compression. To be brutally honest, I never compress my CSS before deployment. I think that may be because of the way I write CSS, however. Since I write single line, compression rarely yields anything more than marginal reduction. I&#8217;d rather save myself the extra layer of maintenance in remembering to keep an uncompressed version.</p>
<p>There are times, however, when I think compression can be a very useful thing. It&#8217;s important to keep in mind that Web browsers download style sheets in their entirety. Anything you can do to reduce that latency will improve performance. If your writing style produces quite a bit of whitespace and/or comments, it may be in your best interest to compress your CSS before deployment.</p>
<h3>My style</h3>
<p>As I mentioned, every developer writes their CSS in a unique way (more-or-less). I write my CSS on a <a href="http://www.flickr.com/photos/jonchristopher/2800966592/">single line basis in CSSEdit</a>. I don&#8217;t use CSSEdit for the Preview functionality or anything like that (although it is quite nice), I use it for two reasons. Number one I mentioned earlier; it has built in functionality to reformat CSS on the fly. The other reason I use CSSEdit is because the application allows me to generate a tree structure within my document by way of flagging comments:</p>
<p class="single image"><a href="http://www.flickr.com/photos/jonchristopher/2800966592/"><img src="http://farm4.static.flickr.com/3194/2800966592_0d2cbdf1fa.jpg?v=0" alt="Screenshot of CSSEdit" /></a></p>
<p>The left column in the interface is a folder structure which allows me to interact with the sections of my CSS. I&#8217;ve come to rely quite a bit on this little feature, and it&#8217;s one of the main reasons I don&#8217;t use my regular text editor when working with CSS.</p>
<p>I hope this piece was at least in part interesting to read. I&#8217;m always curious to find out how other developers get things done, so if you don&#8217;t mind, take a minute to leave some feedback based on your preferences. The more you&#8217;re exposed to as far as methodology is concerned, the better equipped you are to evaluate the way you do things.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=173&c=2067394586' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=173&c=2067394586' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20080901/css-organization-methods-and-writing-style/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>&#8226; Improving Your Process: CSS Techniques Part 2</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20080114%2Fimproving-your-process-css-techniques-part-2%2F&#038;seed_title=%26%238226%3B+Improving+Your+Process%3A+CSS+Techniques+Part+2</link>
		<comments>http://mondaybynoon.com/20080114/improving-your-process-css-techniques-part-2/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 15:04:14 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Improving Process]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Workbench]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[organization]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[specificity]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/2008/01/14/improving-your-process-css-techniques-part-2/</guid>
		<description><![CDATA[Nearly a year ago, I jotted down a few CSS techniques that I use day to day. Some tips included controlling browser defaults, avoiding box model headaches, stylesheet organization, and using a color glossary. I find myself using many of these techniques a year later, but had some updates that might make the lives of some a bit easier.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=117&c=2015001002' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=117&c=2015001002' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>Nearly a year ago, I jotted down a few <a href="/2007/02/26/improving-your-process-css-techniques-part-1/">CSS techniques that I use</a> day to day. Some tips included controlling browser defaults, avoiding box model headaches, stylesheet organization, and using a color glossary. I find myself using many of these techniques a year later, but had some updates that might make the lives of some a bit easier.</p>
<h2>Better control browser defaults</h2>
<p>In <a href="/2007/02/26/improving-your-process-css-techniques-part-1/">part 1</a>, I mentioned that controlling browser default styles can really help cut down your styling time. Using the <a href="http://meyerweb.com/eric/articles/webrev/200006a.html">universal selector</a>, you can clear any default <code>margin</code>, <code>padding</code>, or <code>border</code> with a single line of <abbr title="Cascading Style Sheets">CSS</abbr>. While this tends to help out quite a bit with browser defaults, there is quite a bit more you can do.</p>
<p>As I&#8217;ve written before, I keep a copy of Eric Meyer&#8217;s <a href="http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/">reset CSS</a> lying around to take care of browser defaults as opposed to using the universal selector. His optimized stylesheet comprehensively controls much more than something like:</p>
<pre class="sh_css"><code>* { margin:0; padding:0; border:0; }</code></pre>
<p>I&#8217;ve found Eric Meyer&#8217;s solution to be much more helpful and stable in practice, and I&#8217;d suggest that you give it a try to see if it helps you out during your styling process.</p>
<h2>Give yourself an applicable head start</h2>
<p>A reset stylesheet can be an absolute time-saver. When doing client work, saving yourself some time here and there is becoming more of a necessity. In my personal opinion, when comparing design and development time on a project, development time should be kept to an absolute minimum while design time is maximized.</p>
<p>That doesn&#8217;t go to say that I feel development comes secondary to design; on the contrary. The difference between the two resides in the nature of each. Development is something that can be sped with each project. As nuances and speed bumps are overcome, a developer can significantly decrease the time it takes to produce high quality markup and style for each document they&#8217;re working on. Efficiency can be increased quite a bit simply by building more websites.</p>
<p>Design is a bit different in the sense that each project brings in a new set of rules. Each project is solving a different problem, circumventing new limitations, and providing quality solutions. Development usually presents itself with a constant set of conditions, which can be learned, expected, and avoided from the start if necessary.</p>
<p>As a result of this difference between design and development, there are ways to decrease development time, allowing for an increase in design time to remain in a limited budget. One way to help yourself to decrease development time is to use a CSS framework.</p>
<p>CSS frameworks were an extremely hot topic late last year, and I think all that needed to be said in their regard has been discussed (at least twice). I think the major difference in opinion rooted from the misunderstanding &amp; assumption (mine included) that CSS framework proponents were pushing a single CSS framework upon others; that wasn&#8217;t the case.</p>
<p>I use Eric Meyer&#8217;s reset stylesheet on my projects. I use a CSS framework. Although it&#8217;s very limited in size, it fits the qualifications of a framework. As I mentioned earlier, reset styles help me to be more efficient at work, and finding a solid starting point for yourself with CSS can help you as well.</p>
<p><span id="more-117"></span></p>
<h2>Control your clearing</h2>
<p>In my experience, the most troubling aspect of CSS to grasp for newcomers is floating elements. When trying to help those new to CSS, trying to explain when to expect certain behavior can be a very frustrating experience for those new to CSS. Keeping that in mind, controlling your floating elements can really help alleviate a headache or two down the line.</p>
<p>Some time ago, Robert Nyman wrote a post <a href="http://www.robertnyman.com/2007/04/12/how-to-clear-css-floats-without-extra-markup-different-techniques-explained/">explaining a few ways to clear CSS floats without extra markup</a>. The post is great as an overview of some different techniques for clearing your floats. There are some great comments to read as a follow-up as well, and the piece as a whole can really help keep your floating elements under control.</p>
<p>Adding to the recurring theme, building more websites will help the most to learn when to expect a need to clear a float.</p>
<h2>Separate page-specific styles</h2>
<p>This tip may be less applicable, as it really only comes into play with larger websites with a bigger design budget. Something I&#8217;ve found myself doing quite often is physically separating page-specific CSS from the bulk. This involves incorporating both a <code>pagevar</code> as well as a <code>pagegroup</code> for each page of a website, which applies an <code>id</code> and <code>class</code> to the <code>body</code> of every document.</p>
<p>This gives me plenty of control should I want to target a group of pages (or specific page) with CSS. What&#8217;s important is to keep things organized; separating page-specific CSS can help significantly with maintenance, especially if your CSS is well commented.</p>
<h2>Limit your refresh frequency</h2>
<p>When I was first learning CSS, I quickly fell into the habit of refreshing the browser after nearly every selector was given a property and value. Soon enough, I would write a line of CSS, knowing exactly what it was going to look like, yet I&#8217;d refresh the browser anyway. Just to make sure I suppose.</p>
<p>Taking a step back to look at things, consistently switching apps and refreshing the browser to see how things are going can slow you down significantly. It&#8217;s important to learn to trust yourself as you become more proficient with CSS. Trust that what you&#8217;re styling is going to behave as you expect, and limit your refresh frequency as much as you can.</p>
<p>The trouble comes with writing too much and not knowing where to start compensating. This comes with the territory, and will remedy itself as you build more websites.</p>
<h3>Refine your selectors</h3>
<p>Finding the happy medium with <a href="http://www.htmldog.com/guides/cssadvanced/specificity/">specificity</a> can be of great benefit. While you want to know which elements you&#8217;re targeting with CSS, it can really help to take advantage of specificity by keeping your styles to a minimum.</p>
<p>Difficulty may be found earlier in your development career in that you&#8217;re not sure why a certain element is improperly rendering. You&#8217;re sure of your CSS, sure things are as they should be, yet the browser renders something glaringly different. Chances are you haven&#8217;t found a quirky rendering bug (although I&#8217;m sure we can all agree we wish we had), but something is going on with your specificity. Styles are inherited when applicable, and this can be taken advantage of to a very high degree. The key is to specify to the proper degree, ensuring your control over the document presentation.</p>
<h3>Closing up Part 2</h3>
<p>I hope these tips, while a bit simple, helped out. CSS is a fantastic skill to have, but it is a skill which can be constantly refined over time. Keep in mind that the faster you are with development, the more time can be spent on problem solving by way of design. This allows for a wider variety of circumstances under which to fall when developing, as opposed to finding repetition in your work.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=117&c=709847975' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=117&c=709847975' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20080114/improving-your-process-css-techniques-part-2/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>&#8226; Improving Your Process: 9 Ways to Improve Yourself</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20070730%2Fimproving-your-process-9-ways-to-improve-yourself%2F&#038;seed_title=%26%238226%3B+Improving+Your+Process%3A+9+Ways+to+Improve+Yourself</link>
		<comments>http://mondaybynoon.com/20070730/improving-your-process-9-ways-to-improve-yourself/#comments</comments>
		<pubDate>Mon, 30 Jul 2007 13:22:11 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Improving Process]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[organization]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/2007/07/30/improving-your-process-9-ways-to-improve-yourself/</guid>
		<description><![CDATA[Offering a short list of ways I feel can help you become a better designer/developer. In the spirit of the Improving Your Process theme as well as 9rules, I present: 9 Ways to Improve Yourself as a Web Designer/Developer.  This list strays from the technical side of things and sticks to a more generalized overview of your process as a whole.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=90&c=920682208' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=90&c=920682208' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>From time to time I&#8217;ll inadvertently remind myself how much I love what I do.  I&#8217;m thankful each and every day that I can go to work and spend my day doing exactly what I love.  Not too many people can honestly say that.  While, of course, there are days here and there that go less than smooth for one reason or another, I can say that I feel ecstatic to be in my current position.  With that, I&#8217;d like to offer a short list of ways I feel can help you become a better designer/developer. In the spirit of the Improving Your Process theme as well as <a href="http://9rules.com">9rules</a>, I present: 9 Ways to Improve Yourself as a Web Designer/Developer.  This list strays from the technical side of things and sticks to a more generalized overview of your process as a whole.</p>
<h3 id="way1">Truly understand what you&#8217;re doing</h3>
<p>Web design and development is a skill.  There are amateurs and there are professionals.  Unfortunately, as far as the general public is concerned, making a website can be done in Word with just a few clicks.  As a professional you should take pride in what you do and convey that pride in the work you produce. Take the time to research the medium in which you work.  There is a vast amount of information, both technical and otherwise, surrounding the Web as a whole. As with any profession, your work deserves the research to back it up.  Know your industry.</p>
<h3 id="way2">Read as much as you can</h3>
<p>The most talented designers and developers are readily accessible at any hour of the day, directly or indirectly.  These industry leaders are constantly providing massive amounts of their knowledge publicly. The majority publish to personal (as well as professional) websites, blogs, or otherwise. Many have published complete books as well, some of which is the best documentation you can get your hands on.  We&#8217;re in a unique position in that we&#8217;re able to read the latest and greatest information the instant it&#8217;s published.  Take advantage, subscribe to feeds, take some book recommendations seriously, and read as much as you can.</p>
<h3 id="way3">Write as much as you can</h3>
<p>After reading articles, books, posts, or otherwise, take some time to provide your thoughts.  They don&#8217;t need to be ground-breaking or Earth-shattering.  If you&#8217;ve got a question; ask it.  If you&#8217;ve got an (appropriate) opinion; express it.  Involving yourself will do nothing but propel the speed at which you can come to a conclusion regarding any questions you may have. If you&#8217;ve got a lot to say about something, start a blog, write a post or article, write it down and get it out there.  Your contribution will help future designers/developers who have the same questions or concerns.</p>
<h3 id="way4">Talk as much as you can</h3>
<p>Engaging in dialog is another great way to gain some knowledge you may not otherwise come across.  Whether it be in person, over an instant messaging platform, or a thread in a forum, I&#8217;ve found direct conversation to be a great way to broaden my view on various subjects. I&#8217;ve discovered completely different viewpoints through conversations that changed the way I do things significantly for the better. Many times, an outsider&#8217;s view will be the eye opening information you were looking for in the first place.</p>
<h3 id="way5">Try something new</h3>
<p>Many times, people become comfortable in their own process, in Web work or otherwise.  It hasn&#8217;t let you down yet, so if it isn&#8217;t broken, why fix it?  While I tend to take that very stance when it comes to many things, with Web development I do not.  When it comes to the Web, things are changing and evolving at far too quick of a pace to feel completely comfortable with how you do everything.  New technologies and techniques are proving to be more effective all the time. Some really intelligent people are producing tools and processes for us to use in an effort to help produce higher quality work in the most efficient way possible. It&#8217;s great to keep up on these developments, but take the extra step and try implementation.  If you think a different piece of software may be better suited for an upcoming project, give it a try if the a budget or time frame allows. There are many articles on such things as how to <a href="/2006/02/19/write-better-css/">Write Better CSS</a> or articles which provide someone&#8217;s <a href="http://mattbrett.com/archives/2007/05/here-have-my-bare-bones-stylesheet/">Bare Bones Style Sheet</a>.  I&#8217;ll always keep watch for an eye opening way of doing things that just makes more sense than what I&#8217;m doing now.</p>
<p><span id="more-90"></span></p>
<h3 id="way6">Keep yourself organized</h3>
<p>Organization is very important not only when it comes to your work, but when it comes to life as well.  Knowing how to keep yourself organized will help you to retain focus on the tasks at hand and help you to keep <a href="http://www.davidco.com/">Getting Things Done</a>.  As a Web designer or developer, you spend nearly your entire day at your computer.  Take the time to keep it organized.  Have a naming convention and file structure in place that you use for everything.  Keep your emails in order and sign off <abbr title="AOL Instant Messenger">AIM</abbr> if it&#8217;s getting in the way. Your buddy from college can send those pictures later on.  Organization should be applied to your code as well.  Coming up with a company or personal <a href="/2007/06/04/improving-your-process-templating-and-theming/">theming convention</a> can help things tremendously, for example.</p>
<h3 id="way7">Make more websites</h3>
<p>Taking a page from <a href="http://warpspire.com/tipsresources/web-production/most-amazing-css-tip-youll-ever-read-in-your-life/">the book of Kyle Neath</a>, by far one of the best ways to improve yourself as a designer or developer is to do more work.  Whether it be client based or simply a personal project you&#8217;ve had rattling around your head for the past few months.  Set aside sufficient time to produce the best work you can, as it is a representation of yourself and you should take pride in it.</p>
<h3 id="way8">Remain enthusiastic</h3>
<p>One of <em>the best</em> ways to improve yourself as a designer or developer is to be excited about what you&#8217;re doing. Take comfort in knowing you&#8217;re doing quality work that displays your talents.  Becoming involved in the industry will help boost your excitement about what you&#8217;re doing like no other.  Enjoying what you do will retain your hobby being your career. Web design and development has a tendency of becoming slightly frustrating when you&#8217;re taking on a new language or technique. Take frustration as a sign of determination.  Give yourself a minute to gather your thoughts and resume where you left off. Having enthusiasm in your work will help you be more productive than anything else, and distaste will bring you to a grinding halt.</p>
<h3 id="way9">Always keep learning</h3>
<p>Finally, by far, the best way to improve yourself as a Web designer or developer is to <em>keep learning</em>.  Don&#8217;t ever think you know as much as you need to know, or that you know more than the majority so you&#8217;re better off and that&#8217;s good enough.  There will always be something to learn, something to discover.  The knowledge involved in working with the Web is extremely vast, and it inherits many principles and theories completely unrelated to computers or the Internet.  Be humble in your knowledge and continually try to learn as much as you can.</p>
<h4>In summation</h4>
<p>I know this list is far from complete and it doesn&#8217;t aim to be.  It is a small overview of a few pointers that have truly helped me try to improve my process and hopefully at least one can help you as well.  I don&#8217;t mean to come off sounding as though I feel I&#8217;m an expert on the subject; on the contrary, however (see <a href="#way9">Way 9</a>). Again, I hope this list can at least act as a refreshment, and hopefully spark a bit of conversation as well.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=90&c=349075725' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=90&c=349075725' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20070730/improving-your-process-9-ways-to-improve-yourself/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>&#8226; Improving Your Process: Templating and Theming</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20070604%2Fimproving-your-process-templating-and-theming%2F&#038;seed_title=%26%238226%3B+Improving+Your+Process%3A+Templating+and+Theming</link>
		<comments>http://mondaybynoon.com/20070604/improving-your-process-templating-and-theming/#comments</comments>
		<pubDate>Mon, 04 Jun 2007 13:20:18 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Improving Process]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[organization]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/2007/06/04/improving-your-process-templating-and-theming/</guid>
		<description><![CDATA[Templating and theming is a great way to help Improve Your Process by giving a solid foundation to work from, as well as providing a way to future proof your websites.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=82&c=1000496622' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=82&c=1000496622' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>The idea behind this &#8216;Improving your Process&#8217; series is to try and explain some of the techniques and methods I use in an effort to make my design or development process that much more rapid and smooth.  The inspiration for this article was triggered by a post of Matt Brett&#8217;s in which he discussed and offered his <a href="http://mattbrett.com/archives/2007/05/here-have-my-bare-bones-stylesheet/">Bare Bones Stylesheet</a> &#8212;  a document which he uses for each project that helps him make his work go that much faster.  His post helped me to realize how much templating and theming we do at work, and how much it really helps us to get rolling on a new project.</p>
<h2>Templating and theming can help you work faster</h2>
<p>It wasn&#8217;t until I started working in Web development professionally when I was introduced to the concept of worthwhile templating (as opposed to cheesy Web templates you can buy for $49.95).  I was quite naive to professional Web development in that I was only freelancing on the side during college (I&#8217;m sure you can relate).  I wasn&#8217;t used to having more than one client at once, and I surely wasn&#8217;t used to the pace of development required to keep multiple clients pleased.  I quickly learned that it was the templating technique in place that was one of the many ways this company kept up with their queue.</p>
<p>The template in use was nothing magical, it was simply a group of files that set the overall structure of a website, encompassing all the necessary tools needed to tie in with a custom <abbr title="Content Management System">CMS</abbr>.  The idea is quite simple, but the benefits are exponential.  Having this group of files at your disposal helps to get a working environment for development up and running in a matter of seconds.  Configuration variables used throughout the website are defined in a single file, only needing to be edited after the initial copy.</p>
<p>After a working development copy of a new website is put in to place and functional, work can be done on incorporating your design into your template.  Instead of working with the header, footer, and content files of a template, I&#8217;ve come to prefer working with the initial site comp in a static <abbr title="HyperText Markup Lanugage">HTML</abbr> document first.  This document is also templated, including a single instance of the header, footer, and content files in one.  This helps me avoid any troubles that may arise due to a  server-side issue that may have nothing to do with my markup.  Once I&#8217;m done with markup, the code can be pulled into the respective header, footer, and content files for use in the template.</p>
<h3>Templating your own personal sandbox</h3>
<p>Once you&#8217;ve got a reusable starting point for your projects, another step that can be taken to make your process that much better is theming your template.  The idea of theming ties in heavily with the concept behind using <abbr title="Cascading Style Sheets">CSS</abbr> in conjunction with <abbr title="HyperText Markup Lanugage">HTML</abbr> as well as good programming practice.  It is a good idea to keep style separated from content, as well as separating server-side code from markup as much as possible.  This helps avoid issues down the road when a redesign needs to take place, or something on the back end needs updating.  Keeping these areas separate will help you to be confident that your adjustments will only affect that which you intend.</p>
<p>The template our development team uses consists of a theming convention as well.  Themes have their own organization, kept separate from the markup, which is also kept separate from any custom functions needed on the back end.  Even if there&#8217;s only one theme, it follows the convention in preparation for the possibility of a future redesign.  Variables linking the website to the theme are defined in the single &#8216;configuration&#8217; file discussed earlier.</p>
<p>When creating a theming structure, it&#8217;s important to keep in mind <a href="/2006/03/20/semantic-image-use/">semantic image use</a>.  While images directly related to the site design should be included with the template, images that are used in context should be separated so they can be retained should the theme be replaced in the future.  Beyond grouping images for a design, coming up with a templated theme can also be of benefit (as you can see by Mr. Brett&#8217;s article).  Having templated style sheets for screen as well as print, which incorporate elements you find yourself using nearly all the time, can really help speed up your process.  Launching a redesign can most of the time consist of changing a variable or two in one file.</p>
<p><span id="more-82"></span></p>
<h3>Theming as a step toward future proofing</h3>
<p>Not only does theming help your own process, it can also help to future proof any project you work on.  Having a set structure established with every design can ensure the work required to make updates in the future is both straightforward and rapid.  Future proofing is a wonderful side-product of good practice.  With a standards-based approach to Web design, you&#8217;re well on your way to producing websites that can stand the test of time in function and display as well as maintainability.</p>
<h4>Make sure you&#8217;re helping yourself</h4>
<p>The important think to keep in mind is to make sure that you&#8217;re <em>helping yourself, not hurting yourself</em>.  If you put too big of an effort into templating yourself, you will end up limiting your ability to get things done.  Instead of a template helping you get things started, it will act as the first of many hurdles that stand in your way.  You&#8217;ll have to take time to remove unnecessary pieces that didn&#8217;t need to be there in the first place.</p>
<p>It&#8217;s one of those cases where &#8216;less is more&#8217; in a sense.  The object here is to give yourself enough of a platform to jump from without turning things into a free-fall dive once you make the leap.  What is your templating/theming process?</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=82&c=569836223' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=82&c=569836223' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20070604/improving-your-process-templating-and-theming/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Database Caching 1/80 queries in 0.081 seconds using apc
Object Caching 1054/1167 objects using apc

Served from: www.mondaybynoon.com @ 2012-02-11 09:46:48 -->
