<?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; Development</title>
	<atom:link href="http://mondaybynoon.com/tag/development/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; Of Course it&#8217;s About the Tools, it Always Has Been</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20110103%2Fits-about-the-tools%2F&#038;seed_title=%26%238226%3B+Of+Course+it%26%238217%3Bs+About+the+Tools%2C+it+Always+Has+Been</link>
		<comments>http://mondaybynoon.com/20110103/its-about-the-tools/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 12:12:07 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1505</guid>
		<description><![CDATA[I've said before that tools don't matter, but there's a lot more to that weighted statement I think we can agree on. We've got our trusted toolset, our trusted workflow, but what if we could be doing it better?<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1505&c=2014649225' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1505&c=2014649225' 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>When speaking to other developers, designers, and pretty much anyone else who works primarily on the Web, the conversation nearly always at some point reaches the topic of tools; what&#8217;s newest, what&#8217;s best, what&#8217;s different, and (usually most exciting) what&#8217;s to come. However, I&#8217;ve caught myself a number of times telling up-and-coming developers or designers that the tool doesn&#8217;t matter, it&#8217;s <strong>the work</strong> that comes of it. There&#8217;s some absolute truth to that, but: <em>it&#8217;s about the tools</em>.</p>
<h2>Tools and Workflows</h2>
<p>We all love talking about the way we do things. Finding common ground within a workflow or over a chosen tool is an instant bond between two of us. It&#8217;s more often than not unspoken, but when it comes up that a complete stranger chose the same text editor as you (and stuck with it through <em>years</em> upon <em>years</em> of vaporware rumors) there&#8217;s a quick common ground for discussion.  Beyond that, we like talking about how we do things because we like to share our successes as well as our failures. If at one point we had a major frustration, and through time and trial we were able to overcome it, it&#8217;s rare that the victory is boxed up and locked away for Me, Myself, and I. That is of course unless the victory quickly lead to a business plan with potential to transform itself into your retirement fund; completely understandable in that case. In the end though, even those ideas are revealed, albeit on a much more grand scale when compared to a blog post and a comment thread.  We love <strong>talking shop</strong>. We&#8217;re also stubborn though, but in this case, I don&#8217;t think it&#8217;s such a bad thing.</p>
<h3>Habits <em>can be</em> supremely productive</h3>
<p>I catch myself telling those just getting into the industry that of course the tools don&#8217;t matter, <em>the work does</em>, and I fully stand behind that. I have noticed though, that once you&#8217;ve crossed the line and have some work under your belt, there is a very limited time during which significant decisions are made that can have a big effect on how you do things.  After all, if it weren&#8217;t about the tools, each of us would be able to sit down at a different work station this morning and get to work in a completely new environment without issue. Imagine this:</p>
<ul>
<li>Photoshop user? Here&#8217;s Fireworks.</li>
<li>At home in TextMate? This machine only has vim.</li>
<li>Working on a logo today? Illustrator? We only have Inkscape.</li>
<li>We&#8217;re not using ExpressionEngine this time around, we&#8217;re going with WordPress.</li>
<li>As of today we&#8217;ll be moving from SVN to git, thanks.</li>
</ul>
<p>Changing tools after deciding what works for you and becoming (extremely) comfortable with it <strong>is a big deal</strong>. With our tools comes a very specific workflow, something that makes or breaks our process. We&#8217;re either optimized or we&#8217;re bottlenecked, and it all comes down to the habits we execute as we work. There are definitely as many good habits as there are bad when it comes to Web design and development as far as I can see.</p>
<h3>The other side though, it&#8217;s greener! I think&#8230;</h3>
<p>I have a problem accepting that the tools I&#8217;ve chosen are the right ones. I know I can get the job done, but something in my head tells me that there&#8217;s a better way, a faster way, a more precise way. Am I the only one cursed with constantly thinking everyone else is doing it more quickly with higher quality and better deliverables?  I often take the time to explore other tools at my disposal, usually the ones that others rant and rave about all the time. <a href="http://rubyonrails.org/">Ruby on Rails</a>, <a href="http://expressionengine.com/">ExpressionEngine</a>, <a href="http://www.adobe.com/products/photoshop/compare/">Photoshop</a>, <a href="http://www.vim.org/">vim</a>, <a href="http://www.gnu.org/software/emacs/">emacs</a>, <a href="http://git-scm.com/">git</a>, <a href="http://www.ubuntu.com/">Ubuntu</a>, <a href="http://basecamphq.com/">Basecamp</a>, the list goes on for a long time.  My big question though, is how we&#8217;re able to tell that the tool we&#8217;re using is the wrong one. Do we sit back and wait until our closest colleagues have made the jump and it takes an intervention for me to get on board? Should I be an early adopter in an effort to be ahead of the game once things change over en masse? What happens if I make this switch and the project ceases? Would I have been better off focusing on what works for me and trying to get better at it?  The biggest question for me though is:</p>
<p>Does any of that really matter? Should I just be <strong>getting work done</strong> in the meantime?</p>
<p>Evaluation of potential tools is not something I take lightly. It takes a decent amount of time that I could otherwise be using familiar tools to get work done on my usual schedule. Is that time devoted to possibly unused knowledge a complete waste? Is it worth something to not have to wonder if Tool X is &#8216;better&#8217; than Tool Y for me?</p>
<p>How can we be sure that the tools we&#8217;ve chosen allow us to refine and optimize for an extended amount of time? Theoretically we should be getting better at what we do with every project that gets completed. The great thing is, though, that very often our tools will update as we do. That is of course the author(s) of your chosen tool abandon the project leaving you out to dry.</p>
<h3>It&#8217;s not about the tools, but then it is</h3>
<p>I do stand behind my advice to new designers and developers. I don&#8217;t think a tool should influence the technologies or techniques you&#8217;re just becoming familiar with. It&#8217;s likely that whatever you sit down with first will be your tool of choice for a long time, and it will eventually take a whole lot of convincing to tell you otherwise. In the beginning, the big deal is making sure you&#8217;re <em>understanding</em> concepts and ideas. Without that understanding, your decision as to which tool to use has little to no merit beyond hearsay from some people you looked up to at the time.</p>
<p>When you&#8217;ve progressed to becoming more professional, you&#8217;ll be able to much better analyze your toolset, with actual experience and fact to back up your opinions. At that point, tools become an important choice. Or do they?</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1505&c=412020365' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1505&c=412020365' 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/20110103/its-about-the-tools/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>&#8226; Improving Your Process: Work from the Inside Out</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20101004%2Fimproving-your-process-work-from-the-inside-out%2F&#038;seed_title=%26%238226%3B+Improving+Your+Process%3A+Work+from+the+Inside+Out</link>
		<comments>http://mondaybynoon.com/20101004/improving-your-process-work-from-the-inside-out/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 13:20:53 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Improving Process]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[strategy]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1296</guid>
		<description><![CDATA[Many designers and developers I've observed over the years have a particular way of tackling a new project. I approach new projects in a specific way, working from the inside out, in an effort to be as forward thinking as possible on as detailed a level as possible.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1296&c=1814217335' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1296&c=1814217335' 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>For a long time I&#8217;ve had the opinion that it&#8217;s more important to both design <em>and</em> develop websites from the inside out. That is to say, I prefer to begin with the most generic possible interior page and work my way to the home page. I&#8217;ve had this stance for a number of years and while I&#8217;m comfortable with it, I haven&#8217;t met too many designers or developers that feel the same way. I thought I&#8217;d state my case in hopes of sparking a bit of conversation as well as an overall view of our landscape of colleagues.</p>
<h2>The thought behind it</h2>
<p>There was a time where I nearly obsessed over this subject. I was just getting into client work and I was like a sponge when it came specifically to presenting comps to clients. As it stood, the process revolved around showing the client a &#8216;first round&#8217; comp. It was a home page a designer had been focusing on some time and there was always a bit of holding our breath when it came to the client&#8217;s initial reaction. More often than not it was a very positive experience and the client gave the go ahead on interior pages. I&#8217;d speak with the designer at that point a number of times because it was usually a &#8220;Phew! Now what&#8230;&#8221; kind of moment where we&#8217;d sit and brainstorm where to go next.</p>
<p>The first few times I was involved with the process was exciting, it was my first professional opinion and I was eager to learn from those around me with infinite more knowledge. At the same time though, I couldn&#8217;t help but think that there was something awry with having a &#8220;Now what?&#8221; moment after designs had been client approved.</p>
<p>As time went on I thought more and more about the subject, I thought about the bigger picture of designing websites and began to theorize about consistency as well as detail in the design of a website. While the home page is usually thought of as the first (and possibly <strong>last</strong>) page anybody will ever see, I feel strongly that there should be a correlation between every page throughout the site. At that point in time, the sites I was working on didn&#8217;t have a level of cohesiveness I was truly happy with. Interior pages were an afterthought and at times it showed.</p>
<p>It made sense though, why the designers would begin with the home page. <em>It&#8217;s the most fun</em> to work with. You have the most creative liberty when it comes to the home page and with that you have the most elaborate design elements. It made sense from a self-satisfactory angle, but I couldn&#8217;t help but think about the interior pages. While the home page is probably the most trafficked page of your site, there is a good chance that it&#8217;s one of <strong>many</strong> entry pages.</p>
<p>If you&#8217;re doing things right, lots of visitors will be arriving via search engine results page. Unless they know of your company and are searching for your website, they&#8217;re probably searching for something in particular and your company happens to specialize in that area. With an interior page being the entry for an already engaged visitor, I&#8217;d conclude that it&#8217;s important for a lot of thought put into it. Sure it&#8217;s hopeful that the visitor will then move on to the home page and continue from there, but that&#8217;s not to say that the home page can&#8217;t be equally as impressive when navigating there second.</p>
<p>If a visitor hasn&#8217;t bounced away and decides to head to your home page to find out more about you, the experience of the interior page has prepped the stage for an unveiling of the home page, there&#8217;s still plenty Wow® to dish out. I quickly realized that it&#8217;s important to think about and design every page of a website, but further I began to realize that starting with the interior page will afford you the focus of the more generic elements, giving them the subtle attention they deserve to be impressive in their own right.</p>
<h3>The same goes for development</h3>
<p>These ideas quickly transferred over to my development process. I was brought on as a developer and that was my prime responsibility. I couldn&#8217;t help but be enamored with the design aspect, however. The same faults I saw in designing the home page first instantly clicked with the issue I have with developing the home page first. Home pages are (usually) the most intricate page; they&#8217;re going to have the most unique elements by far and with that comes unique markup and style.</p>
<p>I constantly analyze how efficiently I&#8217;m writing my style and over time have corrected a number of bad habits I picked up over time. I&#8217;m completely self taught in every aspect of development so of course I picked up some really nasty habits along the way, one of which was copying and pasting. When I first began teaching myself CSS I was a legendary Copy-and-Paster; everything is there for the taking and I used it. That&#8217;s not staying I would improperly use the work of others, but instead work from it in an effort to get my job done. With that came immense style bloat and <a href="/2006/06/26/knowing-whats-important/">way too many !important declarations</a>. It didn&#8217;t take long for me to realize that something was <em>very</em> wrong.</p>
<p>One of the best features of CSS, to me, is the reusability factor. If you have a plan for your CSS from the starting line, you&#8217;re amazed at how adaptable it can be. Tie that in with an object-oriented state of mind and your CSS will always be all that it can be.</p>
<p>When you start marking up and styling the most generic page of a site, the structure, <code>classes</code>, <code>ids</code>, and selectors are very likely to be reusable a number of times throughout the project. They&#8217;re setting the groundwork for all of the detail layers that need to be added with each unique page.</p>
<p>It all comes to a head when you&#8217;re building out the home page, though. You&#8217;ll have the most unique markup and style combination of any page on the site, but the benefit comes with having to do the least amount of thinking and the most amount of specificity to get the job done. You&#8217;ll rarely find yourself backtracking because the foundation you laid will be that much stronger.</p>
<p>This change in thinking wasn&#8217;t all that apparent to me in the beginning. I realized that nothing clicked because there isn&#8217;t a single point in time where you realize the mistake(s) you&#8217;re making. Instead it&#8217;s a viral problem that lasts the entire span of the project and adds bloat or instability bit by bit. You (more often than not) will make a change either by being a bit more specific or using an <code>!important</code> declaration and move on; <strong>you&#8217;re on a budget after all</strong>. At the end, the job may be done, but <em>you could have done it better</em>. The stylesheet could be a percentage of what it is, your <code>classes</code> and <code>ids</code> could be that much more useful (and sparse) and your overall document structure could be more sound.</p>
<h3>From the inside out</h3>
<p>Building websites <strong>is a craft</strong>; it&#8217;s a craft that can be optimized in many ways, with the benefits being amazingly apparent. Do you design/develop from the inside out? Why or why not? Do you find yourself limited creatively when designing a generic copy page first, only arriving at the (more fun) home page last? If so, do the pros outweigh the cons? Have you never felt yourself limited after setting the ball in motion with the home page and having to strip things away to arrive at the lowest common denominator that is a copy-heavy page?</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1296&c=1583965189' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1296&c=1583965189' 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/20101004/improving-your-process-work-from-the-inside-out/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>&#8226; jQuery Enlightenment by Cody Lindley Book Review</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20100201%2Fjquery-enlightenment-book-review%2F&#038;seed_title=%26%238226%3B+jQuery+Enlightenment+by+Cody+Lindley+Book+Review</link>
		<comments>http://mondaybynoon.com/20100201/jquery-enlightenment-book-review/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 15:01:59 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Cody Lindley]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=750</guid>
		<description><![CDATA[jQuery Enlightenment by Cody Lindley reinvigorated my enthusiasm for technical references. If you're at all interested in learning more about jQuery, or you just want an excellent reference on hand, jQuery Enlightenment is it!<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=750&c=1774112996' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=750&c=1774112996' 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[<div id="hreview-Book-review" class="hreview">
<div class="item description">
<p class="img book-cover"><img src="/images/books/jquery-enlightenment.jpg" alt="jQuery Enlightenment Book Cover" /></p>
<p>Occasionally a book will come along and reinvigorate my enthusiasm for the format (over my most common method of education: Web based articles). I&#8217;ve just finished reading <a href="http://jqueryenlightenment.com/"><span class="summary">jQuery Enlightenment</span></a> by <a href="http://codylindley.com/">Cody Lindley</a>, and I must say it&#8217;s done just that. On top of being a &#8216;traditional&#8217; book as far as the structure is concerned, I also read the book in PDF format, a turn off for most people. I must say, though, that there is something about this book that leaves me confident to say that if you (want to) work with jQuery, <strong>you should have it</strong>.</p>
<h2>About the author</h2>
<p>Cody Lindley deserves his own section in this review, not only because he&#8217;s proven himself to be a great author, but because he is a figure head in the community. I&#8217;ve only spoken to Cody here and there, and very briefly, but from what I can tell he&#8217;s a great guy, consistently sharing his knowledge with the community, and doing everything he can to both expand and share the knowledge behind his trade.</p>
<p>If you haven&#8217;t heard of Cody Lindley, I&#8217;m almost certain that you&#8217;ve seen some of his work. Cody authored <a href="http://jquery.com/demo/thickbox/">Thickbox</a>, a modal dialog solution for <a href="http://jquery.com">jQuery</a>. He&#8217;s very well known in the jQuery community, and rightfully so. I aspire to someday achieve the level of knowledge Cody has not only of jQuery, but to JavaScript alone.</p>
<p>To simply be blunt, seeing Cody&#8217;s name on the cover of this book alone convinced me that it&#8217;ll be a good read. I knew for a fact that not only would the information be applicable and up to date, it will be based on best practices as well.</p>
<h3>About jQuery Enlightenment</h3>
<p>I love the aim of this book. If you&#8217;ve had an interest in jQuery you know that there is <strong>a ton</strong> of information out there. I&#8217;d go so far to say that the abundance of information in a way works against what jQuery aims to do in that jQuery is so easy to grasp, many tutorials were written without best practice in mind. The approach in this book is different. As stated in the introduction:</p>
<blockquote><p>jQuery Enlightenment was written to express, in short-order, the concepts essential to intermediate and advanced jQuery development. Its purpose is to instill in you, the reader, practices that jQuery developers take as common knowledge.</p></blockquote>
<p>That&#8217;s only on the eighth page and already I knew I was going to love this book. Instead of jumping right in to code samples, the approach here is to introduce you to the code through the philosophy of jQuery itself. Later on in the introduction, Cody outlines the book at being aimed at three types of readers:</p>
<ol>
<li>Someone looking for the next logical step with jQuery after a brief introduction</li>
<li>JavaScript developers well versed in other libraries, trying to pick up jQuery quickly</li>
<li>A reference book for those already familiar with jQuery</li>
</ol>
<p>I can see that Cody kept his goal in mind throughout the book, as each chapter caters to all three types of readers extremely well. If you fit into any of those categories, <a href="http://jqueryenlightenment.com/">jQuery Enlightenment</a> is for you.</p>
<h3>jQuery Enlightenment Organization</h3>
<p>Another great approach Cody took with this book was aligning it with the <a href="http://docs.jquery.com/">jQuery API</a>, something you&#8217;ll become intimately familiar with as you work with jQuery. As with every API ever written, the documentation can always be improved. That&#8217;s not to say I&#8217;m not appreciative of jQuery&#8217;s API docs, <em>I love them</em>, and I&#8217;ve never had a problem finding a piece of information I needed.</p>
<p>This book though, builds on top of the documentation provided directly by jQuery, and walks you through the points that aren&#8217;t immediately apparent as you read through the official API documentation, especially if you&#8217;re new to JavaScript and/or jQuery.</p>
<p>The other bit I really like about jQuery Enlightenment is the way code samples were included. Cody opted to replicate every snippet on <a href="http://jsbin.com/">JS Bin</a>. While I often opt to rewrite code samples by hand (I find that it helps with information absorption) I think it&#8217;s great that he&#8217;s made that effort, especially when viewing jQuery Enlightenment as more of a reference than learning material.</p>
<h3>The verdict</h3>
<p>I <em>loved</em> reading <a href="http://jqueryenlightenment.com/">jQuery Enlightenment</a> and can&#8217;t recommend it enough if you&#8217;re at all interested in jQuery. Whether you&#8217;re just getting started, or even if you&#8217;ve worked with jQuery for years, I&#8217;m willing to bet you&#8217;ll learn things from this book. I&#8217;ve worked with jQuery for quite some time, and I picked up two solid points that I&#8217;m going to embrace from now forward, and I&#8217;m confident they will improve my usage of jQuery.</p>
<p>I got to this book in my stack of To Read&#8217;s a bit late, and as we all know, jQuery 1.4 (and now jQuery 1.4.1) has been released. What does that mean for jQuery Enlightenment? While I haven&#8217;t spoken directly to Cody, I can only imagine that he&#8217;s in the process of revising the book to include the new greatness 1.4 has to offer. I don&#8217;t think you need to hold off for the update until it&#8217;s released as this book is a completely solid reference to jQuery, and I didn&#8217;t find anything that wasn&#8217;t applicable to the 1.4 release. From what I can gather, the revision of the book is going to have quite a bit more content, and be offered at a discount to current owners. All great news!</p>
<p>Again, I absolutely recommend jQuery Enlightenment for your bookshelf if you&#8217;re interested in jQuery. It&#8217;s one of those books that refreshes my enjoyment of reading technical references and I&#8217;m definitely looking forward to the next release.</p>
<div class="hidden meta">
<p><span class="type">Product</span><br />
reviewed <abbr class="dtreviewed" title="20100201T0800-0500">Feb 1, 2010</abbr><br />
by <span class="reviewer vcard"><span class="fn">Jonathan Christopher</span></span></p>
<p>Rating: <abbr class="rating" title="5">★★★★★</abbr></p>
</div>
</div>
</div>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=750&c=1799564427' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=750&c=1799564427' 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/20100201/jquery-enlightenment-book-review/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&#8226; The Art of zen-coding: Bringing Snippets to a New Level</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20090817%2Fthe-art-of-zen-coding-bringing-snippets-to-a-new-level%2F&#038;seed_title=%26%238226%3B+The+Art+of+zen-coding%3A+Bringing+Snippets+to+a+New+Level</link>
		<comments>http://mondaybynoon.com/20090817/the-art-of-zen-coding-bringing-snippets-to-a-new-level/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 12:32:58 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Favorites]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Aptana]]></category>
		<category><![CDATA[Coda]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Espresso]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[TextMate]]></category>
		<category><![CDATA[zen-coding]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=535</guid>
		<description><![CDATA[zen-coding is a new plugin for Web designers and developers, letting them write their code at high speed.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=535&c=25590307' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=535&c=25590307' 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>If I had to single out one thing that most significantly changed the way I write markup, code, and style, it would without a doubt be snippets. To get even more specific, it would be the snippet implementation of <a href="http://macromates.com/">TextMate</a>. When I first saw the feature at work via screencast, I was literally flabbergasted. I can&#8217;t explain how much it changed the way I thought about writing code, productivity, and overall quality of work. I was currently running Linux at the time, so I spent day and night trying to find replicate functionality in a native editor for myself.</p>
<p>This was before the days of the <a href="http://live.gnome.org/Gedit/Plugins/Snippets">Gedit implementation of snippets</a> so I did my best to <a href="/2007/03/12/using-scite-with-textmate-style-snippets/">replicate TextMate in SciTE</a>. <em>It was <strong>awesome</strong></em>. Incorporating snippets changed the way I worked by orders of magnitude, and the implementation found in TextMate is the bar to which I compare every other editor I&#8217;ve tried.</p>
<p>What&#8217;s great is that snippets seem to have hit the mainstream. Besides OS X specific editors such as <a href="http://panic.com/coda">Panic&#8217;s Coda</a> and <a href="http://macrabbit.com/espresso">MacRabbit&#8217;s Espresso</a>, platform independent editors and <abbr title="Integrated Development Environment">IDE</abbr>s have their own implementations as well. Apart from <a href="http://www.e-texteditor.com/">E TextEditor</a> on Windows, however, I haven&#8217;t seen an editor implement snippets to the full effect of TextMate.</p>
<h2>The big deal about snippets</h2>
<p>The deciding factor for me is the ability to have multiple stops per snippet. This gives you the ability to not only share snippets (through Bundles or otherwise) but also <em>very easily</em> write your own. Every designer/developer has his or her own set of tricks, and a generic bundle isn&#8217;t going to cover you 100%. The great thing about a solid implementation of snippets puts the power in your hand to finish the job and add the final touch of customization you need.</p>
<p>I&#8217;m always on the hunt for a newer, better editor. It&#8217;s a curse I&#8217;ve had for years and one that will never go away. To be brutally honest, snippets are the only thing holding me to TextMate at this point, as there are a number of strong contenders on the market now, targeted specifically toward Web developers. They&#8217;re also gorgeous to boot.</p>
<p>I was to the point where I was simply waiting for the various editors to publish a few dot releases including a solid snippets implementation a la TextMate. That is until I discovered <a href="http://code.google.com/p/zen-coding/">zen-coding</a>. My mind was blown all over again.</p>
<h2>zen-coding takes snippets to a new level</h2>
<p><a href="http://code.google.com/p/zen-coding/">zen-coding</a> touts itself as a &#8220;set of plugins for HTML and CSS hi-speed coding&#8221; and my gosh it lives up to the name. The snippets implementation provided by zen-coding are based on specification drafts, and a heck of a lot has been included by default.</p>
<ul>
<li><a href="http://code.google.com/p/zen-coding/wiki/ZenHTMLElementsEn">HTML elements (based on the HTML5 draft spec)</a></li>
<li><a href="http://code.google.com/p/zen-coding/wiki/ZenHTMLSelectorsEn">HTML selectors</a></li>
<li><a href="http://code.google.com/p/zen-coding/wiki/ZenCSSPropertiesEn">CSS properties (based on the CSS3 draft spec)</a></li>
</ul>
<p>Instead of going over the documentation here, I&#8217;d just like to call a bit of attention to the <a href="http://code.google.com/p/zen-coding/wiki/ZenHTMLSelectorsEn">HTML selectors</a> linked above. This is truly what made my jaw drop.</p>
<p>The biggest calling point for zen-coding for me is its implementation of HTML selectors as snippet triggers. zen-coding includes an entirely new angle to writing markup, and it facilitates the feature by letting you write HTML based on CSS selectors. It&#8217;s so simple it&#8217;s confusing at first. I think it&#8217;s best explained by doing a quick before and after. If you were to type:</p>
<pre class="sh_css"><code>div#name.one.two</code></pre>
<p>and follow that with the zen-coding plugin keystroke (CMD+E in TextMate), the plugin will reformat the line as:</p>
<pre class="sh_html"><code>&lt;div id=&quot;name&quot; class=&quot;one two&quot;&gt;&lt;/div&gt;</code></pre>
<p>Let&#8217;s get a bit more advanced, typing:</p>
<pre class="sh_css"><code>ul#name>li.item</code></pre>
<p>will result in:</p>
<pre class="sh_html"><code>&lt;ul id=&quot;name&quot;&gt;
    &lt;li class=&quot;item&quot;&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p>Last, but not least:</p>
<pre class="sh_css"><code>p.one+p.two</code></pre>
<p>will result in:</p>
<pre class="sh_html"><code>&lt;p class=&quot;one&quot;&gt;&lt;/p&gt;
&lt;p class=&quot;two&quot;&gt;&lt;/p&gt;</code></pre>
<p>It doesn&#8217;t stop there. zen-coding has included an even more elaborate set of possibilities on top of valid CSS selectors.</p>
<h3>Element multiplication and variables</h3>
<p>A really fascinating feature of the CSS selector abilities comes from element multiplication. Perhaps one of the most tedious things to mark up (when not working from existing copy) is a list (or eight). zen-coding does its part to lighten the load, quite a bit:</p>
<pre class="sh_css"><code>ul#name>li.item*3</code></pre>
<p>provides:</p>
<pre class="sh_html"><code>&lt;ul id=&quot;name&quot;&gt;
    &lt;li class=&quot;item&quot;&gt;&lt;/li&gt;
    &lt;li class=&quot;item&quot;&gt;&lt;/li&gt;
    &lt;li class=&quot;item&quot;&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p>By including a multiplication modifier, you can control <strong>how many</strong> child elements are included in the snippet!</p>
<p>The other really interesting implementation deals with variables in snippet output, which is neat:</p>
<pre class="sh_css"><code>select>option#item-$*3</code></pre>
<p>gives you:</p>
<pre class="sh_html"><code>&lt;select&gt;
    &lt;option id=&quot;item-1&quot;&gt;&lt;/option&gt;
    &lt;option id=&quot;item-2&quot;&gt;&lt;/option&gt;
    &lt;option id=&quot;item-3&quot;&gt;&lt;/option&gt;
&lt;/select&gt;</code></pre>
<p>By including the dollar sign, you can include a reference to the index of the element you&#8217;re multiplying. Although really specific, it could (and probably will) come in <em>very</em> handy from time to time.</p>
<p>I mean if you&#8217;re not impressed yet, I just give up!</p>
<h4>See it in action</h4>
<p>There are a few screencasts referenced on the <a href="http://code.google.com/p/zen-coding/">Google Code page for zen-coding</a> which illustrate the above really well:</p>
<ul>
<li><a href="http://pepelsbey.net/pro/2008/08/zen-html/">Zen HTML features, 1.х branch, screencast</a></li>
<li><a href="http://pepelsbey.net/pro/2008/10/zen-css/">Zen CSS features, 1.х branch, screencast</a></li>
<li><a href="http://chikuyonok.ru/2009/04/aptana-zen-coding-v01-beta/">Aptana Zen HTML features, 2.х branch, screencast</a></li>
</ul>
<p>Definitely check them out if my explanation is still a bit foggy, as the screencast really helps display what this plugin is capable of.</p>
<h4>Compatibility</h4>
<p>One of the finer points of zen-coding is the fact that the developer(s) are taking the time and effort to publish this genius for <strong>multiple editors</strong> both for OS X and cross-platform. Currently, according to the Google Code page, the plugin has versions for:</p>
<ul>
<li><a href="http://macromates.com/">TextMate</a></li>
<li><a href="http://www.aptana.com/">Aptana</a></li>
<li><a href="http://panic.com/coda/">Coda</a></li>
<li><a href="http://www.netbeans.org/">NetBeans</a></li>
<li><a href="http://macrabbit.com/espresso/">Espresso</a></li>
</ul>
<p><del>Unfortunately, I didn&#8217;t find a download link to the Espresso Sugar, but I will keep my eyes open for that as well.</del> <ins><strong>Update:</strong> the lead developer, in <a href="/2009/08/17/the-art-of-zen-coding-bringing-snippets-to-a-new-level/#comment-12886">his comment below</a>, let us know that the Sugar is included by default in Espresso releases.</ins> I&#8217;ve checked out the plugin both in TextMate and Coda and I can say that this plugin alone makes Coda a true contender for more advanced developers looking for a better implementation of Clips (until Coda natively supports snippets (fingers crossed for 2.0 bigtime)).</p>
<p><strong>Note:</strong> to fully install in TextMate, you&#8217;ll need to download three bundles. At the time of this writing, the three download links are titled as:</p>
<ul>
<li>Zen.Coding-TextMate.v0.3.zip (implements zen-coding)</li>
<li>TextMate.Zen.HTML.1.3.zip (implements HTML functionality)</li>
<li>TextMate.Zen.CSS.1.3.zip (implements CSS functionality)</li>
</ul>
<p>Be sure to install each bundle you need!</p>
<p>Non OS X users may find a bit of luck in that the plugin is released for both Aptana and NetBeans, two very popular IDEs as of late. Windows users should be able to use the TextMate bundles in E as you&#8217;re accustomed. While there is definitely activity on the Google Code page, I&#8217;m not positive that other editors will be supported in future releases.</p>
<h4>I love Web design.</h4>
<p>This is the line of thinking that really gets me excited about what I do. zen-coding has again completely changed the way I approach writing code, and has raised the bar to a new height. What else is great is that this functionality was provided out of someone else&#8217;s love for the industry as well. Their great idea is now making my life even easier, and that cycle will definitely continue in the Web design community.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=535&c=1432835317' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=535&c=1432835317' 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/20090817/the-art-of-zen-coding-bringing-snippets-to-a-new-level/feed/</wfw:commentRss>
		<slash:comments>66</slash:comments>
		</item>
		<item>
		<title>&#8226; Getting Back to Basics: Effective Use of Images</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20090720%2Fgettingback-to-basics-effective-use-of-images%2F&#038;seed_title=%26%238226%3B+Getting+Back+to+Basics%3A+Effective+Use+of+Images</link>
		<comments>http://mondaybynoon.com/20090720/gettingback-to-basics-effective-use-of-images/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 13:03:02 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Semantics]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[images]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=511</guid>
		<description><![CDATA[Imagery is a very important aspect in Web design. Are you using images properly?<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=511&c=888975117' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=511&c=888975117' 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>As per usual, I spent the past week or so getting back to basics with a single element. Images are a huge part of the Web. Even more-so, images are a huge part of design. Imagery contributes to aesthetics which support design, but on the Web, imagery can be a subject by itself (and it is).</p>
<h2>Two types of images</h2>
<p>As designers, we realize that there are two &#8216;types&#8217; of images. Those which we reference in our style sheets which in turn inject imagery into a document, and those referenced within the markup itself.</p>
<p>Each type of image carries with it a specific purpose and value. At the most basic level, the fundamental difference between the two types of images is meaning. Images referenced in markup should contribute to that document in some meaningful way. Images included via stylesheets, however, should not carry with them any informational value.</p>
<p>I think it&#8217;s sometimes easy to forget that, even as you become a seasoned developer. The biggest issue I&#8217;ve noticed with myself, which in turn sparked my recent focus on the subject, was the arbitrary inclusion of image replacement when it wasn&#8217;t completely necessary.</p>
<h3>Images versus image replacement</h3>
<p>Image replacement is a technique near and dear to the hearts of many. Countless articles have been published on the subject, and it seems to be an applicable conversation to have on a fairly consistent basis. I myself have tried to add some value to the conversation by publishing a few pieces on the subject over the past couple years. Some of which include:</p>
<ul>
<li><a href="/2007/05/28/typography-in-headings-sifr-image-replacement/">Typography in Headings: sIFR? Image Replacement?</a></li>
<li><a href="/2006/10/23/my-latest-take-on-image-replacement/">My Latest Take on Image Replacement</a></li>
</ul>
<p>Looking back on those articles, I realize that I was still a bit overzealous when writing them. I think it&#8217;s part of every developers growing process to take new techniques under his or her wing after it is first learned, and run for the end zone with it. Image replacement is one of those techniques. When we first learn that our style is completely separate from our structure, every image becomes stylistic. We want to remove everything from the document and focus on keeping our markup and lean as possible. It turns out that for many, we optimize to a fault.</p>
<p>As of late, I&#8217;ve been questioning image replacement itself. By definition, when we use image replacement, we&#8217;re effectively injecting a meaningful image into the style layer of a document, all the while using various techniques to ensure the original content provided from markup is hidden from view. Through this process, we make it very difficult for assistive technologies to properly recognize the content as valuable.</p>
<p>Looking at Monday By Noon today, we can see that not only was I overzealous with image replacement, but also itching to use an image sprite as well. I can add those two items to the list of reasons I&#8217;d like to redesign!</p>
<p>Taking a step back and looking at the big picture, we can see that:</p>
<ol>
<li>Our markup is (mostly) solid, as we often need to include a possibly unnecessary <code>class</code>/<code>id</code> to act as a hook for our CSS</li>
<li>We&#8217;re abstracting a meaningful image</li>
<li>We&#8217;re attempting to inject that meaningful image through CSS</li>
<li>We force our original content out of sight by way of properties designed to obscure existing data</li>
</ol>
<p>We do all of this, yet HTML has provided us with an element dedicated to taking care of everything in one fell swoop. I&#8217;ve come to realize that <code>img</code> is an underused, undervalued element by many developers.</p>
<h3>Remembering to use <code>img</code> properly</h3>
<p>HTML provides us with the <code><a href="http://www.w3.org/TR/REC-html40/struct/objects.html#h-13.2">img</a></code> element. Not only can we include our meaningful images (i.e. headings) within the markup as intended, we can provide directly applicable alternate content (<code>alt</code> attribute and <code>longdesc</code> attribute) directly within the original document. It is by far the best way to gracefully degrade for imageless browsing, and abundantly more straightforward than any of the various image replacement techniques available to us.</p>
<p>We can&#8217;t forget the reasons we&#8217;ve tried and tested image replacement techniques, however. Modern Web design is far and beyond more complicated than HTML and CSS can support alone. We&#8217;re using the tools to their fullest potential, and then some. We have to get creative sometimes, and image replacement originated from a need.</p>
<p>My personal focus for the past few projects has been to get back to basics and use images in their original intention, and I must say that documents feel more stable, more structured. I like that I&#8217;m not obscuring information in any way, instead using the gifts HTML gave us to provide a seamless experience.</p>
<p>This approach has really only come into play for me when it comes to headings, more specifically static headings. Dynamic headings are a different subject entirely, something that deserves an entire article. The biggest hurdle with headings, however, is to make sure they blend with the surrounding environment. Make sure you&#8217;re using the Matte when saving a transparent GIF for Web, it will make your life that much easier:</p>
<p><img src="/images/gifmatte.jpg" alt="Screenshot of the Matte option in a Save for Web dialog in Adobe Photoshop CS4" /></p>
<p>Setting the matte on a transparent GIF will help you to match the edges of text to the background over which you&#8217;re laying the image. You&#8217;re probably wondering why we don&#8217;t use PNGs instead. I won&#8217;t get in to details but it starts with an I, ends with a 6, and has an E in there somewhere. Enough said on that topic.</p>
<p>Using images directly within headings can be an effective way to retain document structure for assistive technologies and search engine friendliness. Your heading markup can look something like:</p>
<pre class="sh_html"><code>&lt;h1&gt;&lt;img src=&quot;images/companyname.gif&quot; alt=&quot;Company Name&quot; /&gt;&lt;/h1&gt;</code></pre>
<p>Google should much prefer something like the above as opposed to an obscure image replacement technique. The information is blatantly available, and there is no overlapping meaning when it comes to the separation of structure and style, right?</p>
<h3>In conclusion</h3>
<p>I hope this throwback topic helps you to analyze how you&#8217;ve been using images in your designs as of late. Perhaps you, as I did, needed a quick refresher on the overall document as opposed to overusing a particular technique when it may not be needed.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=511&c=173689373' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=511&c=173689373' 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/20090720/gettingback-to-basics-effective-use-of-images/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>&#8226; Current Events: The Official End to XHTML</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20090706%2Fcurrent-events-the-official-end-to-xhtml%2F&#038;seed_title=%26%238226%3B+Current+Events%3A+The+Official+End+to+XHTML</link>
		<comments>http://mondaybynoon.com/20090706/current-events-the-official-end-to-xhtml/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 11:43:47 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Current Events]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Semantics]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[XHTML 2]]></category>
		<category><![CDATA[XHTML2]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=505</guid>
		<description><![CDATA[XHTML 2 has been officially dropped in favor of HTML 5. Find out what that means to you.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=505&c=676489832' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=505&c=676489832' 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>Late last week, the <a href="http://www.w3.org">W3C</a> released a seemingly &#8220;light on perceived emphasis&#8221; note announcing that the <a href="http://www.w3.org/News/2009#item119">XHTML 2 working group is expected to disband</a> at the end of 2009. The long running debate between XHTML and HTML has finally come to a close, and we&#8217;re all better off for it. Regardless of your opinion on the subject, you&#8217;re better off. Instead of two camps working toward separate goals, our efforts are now combined for the greater good and we&#8217;ll all benefit.</p>
<h2>It&#8217;s been a long time coming</h2>
<p>The debate has raged for quite some time, and many people have taken a stand on the matter, <a href="/2008/06/30/siding-with-html-over-xhtml-my-decision-to-switch/">including myself</a>. From the people I talked to, most had taken a stance on one side of the line, and been comfortable in doing so. Each camp had good reason behind its decision, but HTML 5 is now the official victor.</p>
<p>The response to the announcement has been very&#8230; interesting. There is quite a bit more misinformation out there than I had originally expected. I realize that not every developer writing markup is going to know the defining characteristics of such emerging technologies, but there are some misconceptions out there that just don&#8217;t fit. If you&#8217;re at all confused behind either technology, there is <em>a ton</em> of information out there, and I highly recommend you bookmark a few articles to read at your leisure over the coming weeks.</p>
<ul>
<li><a href="http://www.alistapart.com/articles/previewofhtml5">A List Apart: A Preview of HTML 5</a></li>
<li><a href="http://www.alistapart.com/articles/semanticsinhtml5/">A List Apart: Semantics in HTML 5</a></li>
<li><a href="http://www.optimiced.com/en/2009/05/15/xhtml1-html4-html5/">XHTML 1.0 vs. HTML 4.01 (or HTML 5)?</a></li>
<li><a href="http://xhtml.com/en/future/x-html-5-versus-xhtml-2/">X/HTML 5 Versus XHTML 2</a></li>
<li><a href="http://www.cmswire.com/cms/industry-news/setting-the-standards-html-5-vs-xhtml-2-002032.php">Setting the Standards: HTML 5 vs. XHTML 2</a></li>
</ul>
<p>Reading a few of those articles should really help you to begin to understand the fundamental differences between HTML 5 and XHTML 2. They will also help you to recognize the similarities as well.</p>
<h3>What it means to you</h3>
<p>One of the most interesting pieces of commentary I&#8217;ve come across to date on the subject is the reactions posted to <a href="http://www.zeldman.com">Mr. Zeldman&#8217;s</a> <a href="http://www.zeldman.com/2009/07/02/xhtml-wtf/">XHTML DOA WTF</a>. It&#8217;s obvious from that comment thread alone that there is far too much confusion surrounding this decision that has been made by the W3C. Many people don&#8217;t understand the true effect this has on our future work, and fail to see the benefit of such a decision being made. Also a very interesting read, specifically as a follow-up to Mr. Zeldman&#8217;s comment thread, is <a href="http://stoneship.org/journal/2009/comments-on-comments-on-zeldmans-xhtml-wtf/">Comments on Comments on Zeldman&#8217;s XHTML [DOA] WTF</a>.</p>
<p>A great way to continue the streak of knowledge is to check out a great resource that has bubbled up recently: <a href="http://hsivonen.iki.fi/xhtml2-html5-q-and-a/">An Unnofficial Q&amp;A about the Discontinuation of the XHTML2 WG</a>. Although unofficial, it is by far the most targeted Q&amp;A I&#8217;ve seen so far. A <em>big</em> take home message in the Q&amp;A is this:</p>
<blockquote cite="http://hsivonen.iki.fi/xhtml2-html5-q-and-a/">
<dl>
<dt>Did the W3C kill XHTML2?</dt>
<dd>No, XHTML2 was already dead for all practical purposes due to its failure to be backwards compatible and its failure to deliver compelling new features. The W3C just announced they will take it off life support.</dd>
</dl>
</blockquote>
<p>XHTML2 has indeed been dead for some time, the announcement only makes it as official as it could ever be.</p>
<h3>It&#8217;s a great move for everybody</h3>
<p>I&#8217;m a huge fan of HTML 5, and I was pleasantly surprised to see the announcement from the W3C last week. I&#8217;ll also go on record saying that although it was beyond the scope I had imagined, the reaction of many developers is completely expected. Unfortunately that&#8217;s a result of not enough self-education, and will eventually sort itself out. I will continue to prefer HTML as opposed to XHTML simply because I will continue to enforce the aspects of XHTML I really enjoyed in the HTML I&#8217;ve been writing and will continue writing. Another piece to take home from <a href="http://hsivonen.iki.fi/xhtml2-html5-q-and-a/">An Unnofficial Q&amp;A about the Discontinuation of the XHTML2 WG</a> is:</p>
<blockquote cite="http://hsivonen.iki.fi/xhtml2-html5-q-and-a/">
<dl>
<dt>If I upgrade from XHTML-served-as-text/html to HTML5, do I need to revise all my empty tags?</dt>
<dd>No. HTML5 permits both the XHTML-style syntax (&lt;br/&gt;) and the HTML 4-style syntax (&lt;br&gt;) for void elements (elements that never take any content).</dd>
</dl>
</blockquote>
<p>The syntax rules seem to be the most common denominator when it comes to XHTML fans. You can still write markup in a very strict way, but you&#8217;ll need to enforce it yourself as the rules themselves are more lenient.</p>
<p>Last, but absolutely not least, how can you not like this:</p>
<blockquote cite="http://hsivonen.iki.fi/xhtml2-html5-q-and-a/">
<dl>
<dt>What’s the doctype for HTML5 documents?</dt>
<dd>Simply: &lt;!DOCTYPE html&gt;</dd>
</dl>
</blockquote>
<p>There is quite a bit of great information in <a href="http://hsivonen.iki.fi/xhtml2-html5-q-and-a/">An Unnofficial Q&amp;A about the Discontinuation of the XHTML2 WG</a> and you should assign it to yourself as required reading this week, along with a number of other articles on HTML 5 and what it means to everyone, not just us writing the markup.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=505&c=1957880060' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=505&c=1957880060' 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/20090706/current-events-the-official-end-to-xhtml/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>&#8226; Google&#8217;s &#8220;Let&#8217;s Make the Web Faster&#8221; Movement</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20090629%2Fgoogles-lets-make-the-web-faster-movement%2F&#038;seed_title=%26%238226%3B+Google%26%238217%3Bs+%26%238220%3BLet%26%238217%3Bs+Make+the+Web+Faster%26%238221%3B+Movement</link>
		<comments>http://mondaybynoon.com/20090629/googles-lets-make-the-web-faster-movement/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 12:04:57 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[front end]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[Page Speed]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=496</guid>
		<description><![CDATA[Google's Let's Make the Web Faster and Page Speed Firebug add-on can help you optimize your Web pages.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=496&c=266050146' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=496&c=266050146' 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>I love Google, I really do. The company and all of its work is heavily integrated into everyone&#8217;s lives no matter how hard you may try to escape it. Google not only takes a lot of initiative when it comes to the Web in general, Google has done a lot to facilitate Web development on many levels. From <a href="http://code.google.com/">Google Code</a> to <a href="http://gears.google.com/">Google Gears</a> and many (<strong><em>many</em></strong>) in between, Google&#8217;s latest venture, <a href="http://code.google.com/speed">Let&#8217;s Make the Web Faster</a>, is geared directly at Web developers.</p>
<h2>What you can learn</h2>
<p>By far the largest resource available on Let&#8217;s Make the Web Faster is the <a href="http://code.google.com/speed/articles/">collection of articles</a> available. The articles are put together quite well, involving a good blend of video and supporting imagery. You&#8217;ll be able to quickly learn the background behind some of the jargon used in document optimization.</p>
<p>Articles aren&#8217;t limited to front end development, because there&#8217;s more to writing markup and style if you&#8217;re a Web designer. Google takes the time to discuss other relevant areas such as the <a href="http://code.google.com/speed/articles/optimizing-images.html">optimization of Web graphics</a> for faster download times without losing quality. There are also articles on <a href="http://code.google.com/speed/articles/optimizing-javascript.html">optimizing your JavaScript</a> and even some <a href="http://code.google.com/speed/articles/optimizing-php.html">PHP performance tips</a>. One of the headlines that first caught my attention was <a href="http://code.google.com/speed/articles/usability-latency.html">UI Messaging and Perceived Latency</a> &#8212; what a great topic. Google also includes a number of links to various Tech Talks @ Google, which are always a good watch.</p>
<p>Let&#8217;s Make the Web Faster launched as a very information-rich resource, and I imagine Google will be adding new articles fairly consistently from here on out. What&#8217;s great is that Google has done its part in retaining the community value of Web developers by devoting a section of Let&#8217;s Make the Web Faster to <a href="http://code.google.com/speed/community.html">the community</a>, opening doors for your input.</p>
<h3>As with everything, be wary</h3>
<p>Just because you read it on the Internet, the information you got may not be bulletproof, even if Google wrote it. Articles attempting to <a href="http://www.codexon.com/posts/debunking-googles-internet-optimization-tips">Debunk Google&#8217;s Internet Optimization Tips</a> are beginning to crop up, and I think it&#8217;s great. Google suggests a number of techniques, actively put in practice on many Google products, that I will personally never employ just because it skirts around a rule or two. Saving a few bytes by writing sloppy code just isn&#8217;t something I&#8217;m interested in doing.</p>
<p>Like <strong>every</strong> Web designer, I&#8217;ve worked in PHP. I tend to really like PHP, but I don&#8217;t know PHP on the intimate level that programmers know PHP. I&#8217;m still learning about how the language itself actually works. I&#8217;m specifically interested in what PHP does differently than other languages which causes it to be huffed and puffed upon by so many.</p>
<p>It&#8217;s very interesting to read that some of the <a href="http://code.google.com/speed/articles/optimizing-php.html">PHP optimizations</a> suggested by Google <a href="http://groups.google.com/group/make-the-web-faster/browse_thread/thread/ddfbe82dd80408cc?pli=1">may not be entirely accurate</a>. I always enjoy reading technical pieces written by programmers who will always know more than me about programming. The existence of such a thread shows the nature of the PHP community, and it&#8217;s good to see that even Google might not know everything after all.</p>
<p>The important thing to keep in mind when reading <a href="http://code.google.com/speed">Let&#8217;s Make the Web Faster</a>, as with reading <em>every</em> article on the topic of Web development, is to take everything with a grain of salt, and to not follow the advice blindly.</p>
<h2>Page Speed for Firebug</h2>
<p>Everyone knows about <a href="http://getfirebug.com/">Firebug</a>. It&#8217;s arguable the most widespread, actively used tool by the majority of developers and designers, and for good reason. The tool changed the way many people approach front end development, and it was a true game changer.</p>
<p>Some time ago, Yahoo! released an add-on for Firebug called <a href="http://developer.yahoo.com/yslow/">YSlow</a>. The tool aimed to help developers analyze documents and suggest optimizations not only for speed, but <a href="http://developer.yahoo.com/performance/rules.html">rules for optimization</a>. YSlow proved to be very helpful for many people, and I know I learned a thing or two about some of the techniques I had been using for quite some time.</p>
<p>As part of Google&#8217;s initiative, they have released <a href="http://code.google.com/speed/page-speed/">Page Speed</a>, also a Firebug add-on aimed at page performance analysis. After installing the Page Speed add-on, you&#8217;ll notice a new tab within Firebug:</p>
<p><img src="/images/pagespeed01.png" alt="Screenshot of Google's Page Speed Firebug add-on, default tab"></p>
<p>As with YSlow, you need to invoke the analysis by clicking a button quickly after navigating to the document you&#8217;d like to test. After completion, you&#8217;re provided with a very detailed report containing a breakdown of the criteria against which your document was run:</p>
<p><img src="/images/pagespeed02.png" alt="Screenshot of Google's Page Speed Firebug add-on, after site analysis"></p>
<p>Additionally, Page Speed takes another step forward in offering to apply a number of optimizations to your document immediately. For instance, if deemed necessary, Page Speed will go ahead and minimize your JavaScript on the fly, as the browser downloads the JavaScript, having an optimized version ready at any time:</p>
<p><img src="/images/pagespeed03.png" alt="Screenshot of Google's Page Speed Firebug add-on, offering minified JavaScript"></p>
<p>The last feature within Page Speed I&#8217;d like to tout is the CSS analysis. Beyond suggesting the combination of CSS files to reduce the number of HTTP requests, Page Speed will examine your style sheet on a per-line basis, letting you know what could be written better:	</p>
<p><img src="/images/pagespeed04.png" alt="Screenshot of Google's Page Speed Firebug add-on, CSS analysis"></p>
<p>Page Speed will separate your &#8216;very inefficient&#8217; and &#8216;inefficient&#8217; rules and let you know what makes each less than ideal.</p>
<p>As with YSlow, Page Speed has links throughout the panel directing you to the information backing up the suggestion, found on Google&#8217;s <a href="http://code.google.com/speed">Let&#8217;s Make the Web Faster</a>. I would suggest that everyone have <a href="http://code.google.com/speed/page-speed/">Page Speed</a> at the ready during a testing phase of a Web project. It will make sure your documents are top notch concerning performance, and you&#8217;ll become a better developer because of it.</p>
<p>There is an <a href="http://code.google.com/speed/page-speed/docs/using.html">abundance of information available</a> if you&#8217;d like to read a bit more before installing Page Speed. Even if you&#8217;re not a Firefox user, I absolutely suggest keeping it on hand not only for render tests, but optimization tests using Page Speed as well.</p>
<h3>Overall impression</h3>
<p>There is a lot to learn as far as Web page optimization goes. As new technology appears, you&#8217;ll have to learn even more, but it&#8217;s an important aspect of Web design and a valuable part of the medium. It&#8217;s important for you as a professional to know how to produce work of the highest caliber, and optimizations can do a great deal to make your work feel that much more polished. Google&#8217;s &#8220;<a href="http://code.google.com/speed">Let&#8217;s Make the Web Faster</a>&#8221; is a great platform that should help spread the word very quickly to a large audience.</p>
<p>I hope to see Google continue developing content for the recent project, and I hope to see a decent community response, especially debunking any poor advice Google may be giving by offering detailed responses. While certain practices may achieve the most desirable result, it will be up to the community to ensure that the actions aren&#8217;t welcoming detrimental side effects causing more problems than before.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=496&c=323383246' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=496&c=323383246' 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/20090629/googles-lets-make-the-web-faster-movement/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>&#8226; Improving Your Process: Faster Front End Development</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20090615%2Fimproving-your-process-faster-front-end-development%2F&#038;seed_title=%26%238226%3B+Improving+Your+Process%3A+Faster+Front+End+Development</link>
		<comments>http://mondaybynoon.com/20090615/improving-your-process-faster-front-end-development/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 12:19:59 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Improving Process]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[tricks]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=490</guid>
		<description><![CDATA[Time is very important in Web design. Here are a few tips to keep that time to a minimum, allowing for budgeted experimentation and polish.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=490&c=465881742' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=490&c=465881742' 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>In our business, time is of the essence. Regardless of your billing policies, as a professional designer it is <strong>imperative</strong> that you have the ability to accurately estimate a workload <em>and then follow through, <strong>on schedule</strong></em>. The ability to estimate work comes only with experience. You can read countless articles on design, even specifically on Web design, but until you get at least a year of consistent, professional work under your belt, it just won&#8217;t be there. It&#8217;s absolutely no fault of your own, simply because you haven&#8217;t worked enough.</p>
<p>That said, depending on your billing structure, you&#8217;ll be able to optimize your workflow in such a way that not only reduces your stress level, but will make your clients happy to boot. I mention a dependence on your billing structure simply because sometimes getting a project done well under a time-based budget can result in trouble for you financially. The important thing to realize, however, is that with newfound extra time comes extra polish. If you come in a few hours under budget, you now have the time to try that element you were toying with in design. Does it work now? How about the leading in that area? Would it look better if it were bumped up, just a bit?</p>
<p>Reducing the time you spend on front end development can lead to more experimentation and a better end product should you have extra time to play with late in a project. Personally, I like to keep front end development estimates to a minimum, allowing the budget to focus on design. I work with a team of designers, so the better we plan from the start, the better a project will go.</p>
<h2>Have a plan, start with a static file</h2>
<p>By far the most effective way to cut down on front end development time is to be involved in the design process. You don&#8217;t even have to be the designer, but you should periodically review any design for a basic feasibility assessment. That&#8217;s not to say that you should be prototyping designs to make sure something is going to work, but you should be able to process a design to a level that will let you be comfortable with it.</p>
<p>As you examine a design, try to abstract your brain from admiring the aesthetics of the design. Try to visualize how you will approach the front end for this document. Take a look at a comp for another page, can you determine how much markup and style you&#8217;ll be able to reuse from the first page to this one? Are there any modifications that should be made to the design to establish some consistency on a more technical level? Take a second look at the design, take a third look. Has someone added a gradient or texture that physically can&#8217;t translate to the Web?</p>
<p>Once you&#8217;ve signed off on approval for a design and it comes time to begin work, I can&#8217;t emphasize enough how much it will help you to start with a static HTML document. Stay away from your server side technology, no matter what it is, and instead use a static file that takes advantage of any dynamic resources you&#8217;ve set up.</p>
<p>For example, at my company we&#8217;ve established a site framework that we use to begin each project. In this site framework is your usual array of template-supported, server-side powered files that tie in directly with our <abbr title="Content Mangement System">CMS</abbr>, and the like. Alongside this set of files are two static files: <code>home.html</code> and <code>secondary.html</code>. These are the first two files I&#8217;ll open and work with on a project.</p>
<p>The files are prepped in such a way that the path to the <abbr title="Cascading Style Sheets">CSS</abbr> directory is hard coded, removing the need to copy and paste once our original documents have been written. I&#8217;ll work my way through a secondary page, <strong>then</strong> the home page, and once that&#8217;s done, I&#8217;ll integrate.</p>
<h2>Write your markup first, all of it</h2>
<p>Nearly two years ago, I wrote about <a href="/2007/01/29/my-development-and-design-process/">my development and design process</a>. Much of my strategy remains the same to this day, specifically the first steps I take. The initial markup process ties in heavily with the original review of a site design. From the first time I open a PSD or PNG my mind begins working, breaking down the design into markup and markup alone.</p>
<p>I&#8217;ll break apart the design into sections, until I&#8217;ve found myself at the lowest common denominator, whether it be an <code>h3</code> or an <code>li</code>. Once I&#8217;ve got a general idea of the overall structure, I&#8217;ll write it. All of it, from <code>#header</code> to <code>#footer</code>. I&#8217;ll switch to and from Fireworks (or Photoshop) and my editor, making sure all of my elements are in place.</p>
<p>Writing the initial markup for a document doesn&#8217;t take very long, an hour if you take your time. There really isn&#8217;t that much to it, especially if you&#8217;ve had a look at the design as it was being put together. You already know what to expect, and you can hit the ground running.</p>
<p>The important thing to keep in mind at this step is optimization. Don&#8217;t move on to CSS until every bit of markup is in place to support the design. Sure, you&#8217;re probably going to have to add an element or two as you continue development, but getting the initial structure <em>entirely</em> in place will be super helpful when it comes to the style layer.</p>
<h3>Use a reset stylesheet</h3>
<p>I can&#8217;t stress enough <a href="/2008/04/21/why-i-like-and-use-reset-css/">how helpful a reset stylesheet is</a> when it comes to optimizing your front end development. It doesn&#8217;t have to be Eric Meyer&#8217;s reset stylesheet, but working from a consistent base is extremely helpful when it comes to building out your CSS, even more-so when it comes to <a href="/2009/03/09/improving-your-process-the-browser-gauntlet/">The Browser Gauntlet</a>.</p>
<h3>Write CSS in blocks</h3>
<p>I can remember my first few weeks with CSS; I&#8217;ve never been so excited to refresh a browser, and I never will be again. With each refresh came a new and exciting change that I was struggling to understand. Learning about CSS was very exciting for me, but it forced me to implement designs slower than ever. As with everything, the more you do, the better you get. As your skill with CSS grows, force restraint on yourself when you think you need to refresh the browser.</p>
<p>Chances are, that <code>property:value;</code> you just set is going to work out just fine. Move on to the next, and the next. Finish setting all the properties you want for that selector and <em>then</em> switch over to refresh. Once you&#8217;ve become comfortable with that, style an entire <code>div</code> before refreshing. Once you&#8217;ve become comfortable with that, structure your entire document before refreshing, and the move on to styling each <code>div</code> you just positioned.</p>
<p>The more CSS you can write in a single thought, the better <strong>and faster</strong> you&#8217;ll be. The important thing to keep in mind, though, is not to write too much at once. As you&#8217;re forcing yourself not to refresh, you may make a significant mistake that wreaks havoc on a few dozen lines of later CSS. Push yourself, but don&#8217;t push yourself too far too fast.</p>
<h3>Save JavaScript until last</h3>
<p>Exciting as it may be to implement, make sure you&#8217;re postponing <strong>all</strong> JavaScript development until last. Integrating JavaScript too early is going to destroy the integrity of both your markup and style, and will cause more trouble than it&#8217;s worth.</p>
<p>Instead, take the time to develop the markup and style for any states you may be integrating with JavaScript, and make sure they&#8217;re ready to be toggled (or otherwise) via JavaScript. Abstracting markup and style from JavaScript can help you to focus and optimize as you put together a design.</p>
<h3>Take advantage of helpful tools</h3>
<p>My last tip is something I depend very heavily on; finding the right tools for the job. If there are any applications under consistent development and refinement, it&#8217;s Web development applications and tools. Even browser makers are now giving us gold platters with which to work through built in developer tools.</p>
<p>First, find yourself a great text editor. Who cares what everyone else is using, find something that you enjoy working with, and most important: something stable that saves you time. I can definitively say that <a href="http://macromates.com/">TextMate</a> (Windows users: <a href="http://www.e-texteditor.com/">e text editor</a>) has had significant impact on my development time.</p>
<p>There are plenty of fancy tools out there, but I can&#8217;t stress enough the importance of your editor.</p>
<p>Along with your editor, another integral part of your workflow is your browser of choice. Your browser should support your efforts, providing the tools you need to get the job done. Toolsets for browsers have been talked to death, but a favorite tool of mine has never received much press, and I&#8217;d like to heavily suggest your adoption of it.</p>
<p><a href="http://dmachi.dojotoolkit.org/recss.html">ReCSS</a> is a bookmarklet that comes from <a href="http://dojotoolkit.org/">dojo</a> and it&#8217;s something I use on a very consistent basis with every project. The sole purpose of the bookmarklet is to force a reload of CSS used on the current document. This helps you to avoid reloading the entire page (including server processing and other latency) and instead request only the latest stylesheets. It&#8217;s such a simple idea, but I&#8217;ll use the bookmarklet at least a few dozen times per-project to ensure that I&#8217;m not dealing with any caching issues.</p>
<h4>Let&#8217;s have it</h4>
<p>Do everyone a favor and post your favorite time saving front end development tip or trick.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=490&c=1248516457' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=490&c=1248516457' 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/20090615/improving-your-process-faster-front-end-development/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>&#8226; Building Functional Alt Sites using SWFAddress</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20090518%2Fbuilding-functional-alt-sites-using-swfaddress%2F&#038;seed_title=%26%238226%3B+Building+Functional+Alt+Sites+using+SWFAddress</link>
		<comments>http://mondaybynoon.com/20090518/building-functional-alt-sites-using-swfaddress/#comments</comments>
		<pubDate>Mon, 18 May 2009 15:40:37 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[SWFAddress]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=478</guid>
		<description><![CDATA[When developing a full Flash website, it is very important to provide an effective alternate site for viewing. SWFAddress helps extensively with exactly that.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=478&c=1892309746' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=478&c=1892309746' 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>My position on Flash changes from time to time, but to be brutally honest, I&#8217;m not a big fan. I absolutely see its worth, and understand that using Flash can enhance the experience of a website in a wide variety of ways. To me, though, Flash is not the Web at its greatest. The Web, to me, is information. It&#8217;s a living, ever expanding library of data available for our interpretation and digestion. That&#8217;s not to say that the Web can&#8217;t be used as an entertainment platform, however. The Web is becoming more adaptive to the entertainment industry than it has ever before, and all for good reason.</p>
<p>When it comes to websites though, seeing a website built in Flash is a near guaranteed turn off personally. To me, a website built in Flash forks away from the inherent purpose of a website, and turns into a novelty. From the most generic standpoint, my opinion doesn&#8217;t even generate from the accessibility and performance concerns that come from a website built in Flash. It&#8217;s the usability of the website, the fact that it&#8217;s just, different.</p>
<p>However, many clients are attracted to websites built entirely in Flash. To me that comes from an interest rooted in everyone: motion. Things that move are, by default, more interesting to look at. I think I&#8217;ve discovered that my distaste for such things comes from a personal appreciation that has evolved as a Web designer. To me, a website with a solid design, solid information architecture, is extensively more pleasing than something that glows and animates left to right simply for the sake of visual stimulus. Information architecture, to me, is that visual stimulus, and making it move around completely detracts from my experience.</p>
<p>I don&#8217;t mean to say that a Flash site, by default, lacks anything from an information architecture point of view. In fact I&#8217;ve seen many Flash based websites that were designed terrifically, I simply would have preferred to view it as markup and style. I have the upmost respect for Flash designers &amp; developers, as some of the work is simply stunning. I&#8217;m speaking from an abstract personal preference here, full of my own bias. I don&#8217;t mean to offend and I hope this isn&#8217;t coming off with any sort of attitude.</p>
<h2>Working with Flash as a front end developer</h2>
<p>I think my opinion of Flash based sites comes from my position as a Web designer. Specifically I&#8217;m a Web designer with a focus on front end architecture, quite different from a Flash designer. I&#8217;m a big believer in great teams working very well together, and my company has some terrifically talented Flash developers that I work with every day to create stunning pieces that please our clients. I need to put my opinions aside and make sure that the client gets what he wants, all the while making sure the website has an equally effective and useful alternate site to use. That involves a revised design to accommodate the variation in medium, as well as the development and deployment of that website for use.</p>
<p>One of the greatest things to ever happen to Flash, in my opinion, is <a href="http://www.asual.com/swfaddress/">SWFAddress</a> by <a href="http://www.asual.com/">Asual</a>. SWFAddress is:</p>
<blockquote cite="http://www.asual.com/swfaddress/">
<p>SWFAddress is a small, but powerful library that provides <a href="http://en.wikipedia.org/wiki/Deep_linking">deep linking</a> for Flash and Ajax. It&#8217;s a developer tool, allowing creation of unique virtual URLs that can point to a website section or an application state. SWFAddress enables a number of important capabilities which are missing in today&#8217;s rich web technologies including:</p>
<ul>
<li>Bookmarking in a browser or social website</li>
<li>Sending links via email or instant messenger</li>
<li>Finding specific content with the major search engines</li>
<li>Utilizing browser history and reload buttons</li>
</ul>
</blockquote>
<p>Basically, what SWFAddress does is give Flash the ability to behave that much more like a regular website by enabling the built in functionality of the browser within the Flash movie itself.</p>
<p>Using SWFAddress is necessary when working with a Flash website, not only for the inherent functionality improvements, but also to the benefits of your alternate site. The Asual team has included many examples of SWFAddress as well as documentation for each, the one to focus on is the <a href="http://www.asual.com/swfaddress/samples/seo/">SEO Example</a>. This sample demonstrates what SWFAddress can do to integrate your Flash site with your alternate site seamlessly, allowing for effective search engine indexing, as well as equivalent access to your <abbr title="alternate">alt</abbr> site.</p>
<p>The demo provided gives you access to a bit of PHP that handles quite a bit of redirection when it comes to processing a URL request. The script will help to determine if the visitor does indeed have Flash/JavaScript and in turn provide the proper &#8220;enhanced&#8221; URL, while passing site content to a user without the ability to view the Flash site. Clean URLs are retained and it&#8217;s actually a very effective solution.</p>
<h2>Making an effective alt site</h2>
<p>Building a Flash site is quite a bit of work, not only on the Flash side of things, but the development and maintenance of the alternate site as well. SWFAddress will route your traffic effectively, but you&#8217;ll need to manually distinguish which pages should serve which content and make sure equivalent content is represented in both websites.</p>
<p>With a content management system, you&#8217;ll be able to pull the same data per page via XML or otherwise, allowing both the Flash version of the site as well as the alt site, to pull from the same data source which will remove any discrepancy when it comes to content.</p>
<p>The inclusion of SWFAddress helps to tackle many of the baggage of Flash, and allows Web designers to create a very effective alt site both for the sake of search engine saturation, but even more importantly the benefit of accessibility.</p>
<h3>What do you think?</h3>
<p>What&#8217;s your opinion on Flash? Has that boat sailed when it comes to full websites? Will we see Flash only used when really necessary, for rich site widgets, video (until HTML5 becomes available), or other implementations limited to Flash? Does it bother you when you find yourself at a website built entirely in Flash? Does SWFAddress help with any issues you&#8217;ve got with Flash? With the advancements in front end technologies such as CSS3, <a href="/2009/05/04/covering-the-implication-and-basics-of-css-animation/">CSS animations</a>, canvas support, and <a href="http://code.google.com/apis/o3d/">O3D</a>, do you think Flash is steadily taking a back seat for things to come? I&#8217;m just not sure if I&#8217;m alone here, and would love to hear some other opinions.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=478&c=305422058' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=478&c=305422058' 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/20090518/building-functional-alt-sites-using-swfaddress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&#8226; Covering the Implication and Basics of CSS Animation</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20090504%2Fcovering-the-implication-and-basics-of-css-animation%2F&#038;seed_title=%26%238226%3B+Covering+the+Implication+and+Basics+of+CSS+Animation</link>
		<comments>http://mondaybynoon.com/20090504/covering-the-implication-and-basics-of-css-animation/#comments</comments>
		<pubDate>Mon, 04 May 2009 12:45:53 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=470</guid>
		<description><![CDATA[Allowing CSS to control the animation of various aspects of your document can have some very interesting implications. Should CSS or JavaScript control animation?<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=470&c=1354126278' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=470&c=1354126278' 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 embracing <a href="http://en.wikipedia.org/wiki/Progressive_enhancement">progressive enhancement</a> on a new(er) level. I&#8217;ve been using <a href="http://www.css3.info/">CSS3</a> to make my life easier, leaving other browsers in the dust with the extra touches. I&#8217;ve lost all interest in making sure a design looks equally sophisticated in substandard browsers, and instead opted to <a href="/2009/04/20/taking-advantage-of-what-tables-have-to-offer/">leave that last column in my table left aligned</a> instead of making the table a bit easier to read with right justification.</p>
<p>Of course I still support <acronym title="Internet Explorer">IE</acronym>, and I don&#8217;t want to bring that up for debate at this time. That poor horse has been long gone for quite a while, so we can all put our sticks down for a bit. I have, however, taken a more aggressive personal stance in my lack of attention to detail when it comes to that browser family.</p>
<p>A <a href="http://twitter.com/zeldman/status/1642292742">tweet by Jeffrey Zeldman</a> really got me hooked to the prospect of further adoption of CSS3:</p>
<blockquote cite="http://twitter.com/zeldman/status/1642292742">
<p>When all browsers except IE support CSS3, it will test the limits of progressive enhancement as a design philosophy.</p>
</blockquote>
<p>With my further embrace of and focus on CSS3 came an increased interest in other bleeding edge techniques in Web design, primarily CSS animation.</p>
<h2>Does CSS animation belong?</h2>
<p>One of the ways in which I&#8217;ve been trying to raise the overall comprehensiveness of my projects is incorporating CSS animation where it may enhance the experience of a particular design. Animation in CSS has, from time to time, been a hot topic in Web design. Does animation belong in CSS? Does it constitute behavioral modification to the document, and therefore find its proper place through JavaScript? Is animation technically behavior?</p>
<p>Trying to classify the true placement of animation has proven to be a personal challenge to me. I can see both sides of the argument. I agree that animation can be correctly implemented through JavaScript, as has been done for some time. On the other side of my personal coin, I see that animation is more of a visual stimulus as opposed to direct behavioral change (e.g. updating the <acronym title="Document Object Model">DOM</acronym> with data received via <acronym title="Asynchronous JavaScript and XML">AJAX</acronym>).</p>
<h2>The basics of CSS animation</h2>
<p>As with all new technologies, you should take a minute to familiarize yourself with implementation as well as implication to make a more educated (and therefore accurate) decision to (not) use it.</p>
<p>The WebKit team provided a <a href="http://webkit.org/blog/138/css-animation/">very nice write up</a> upon the release of a nightly build that supports CSS animation. In the post, an overview of animation with CSS is provided, as well as a bit of documentation and example.</p>
<p>The WebKit implementation of CSS animation has a bit of a learning curve, but once you decipher how it works, it&#8217;s quite elegant (in my opinion). Applying a CSS animation comes in two steps. You&#8217;ll first designate your style as you would normally, defining any properties you&#8217;d like, with the addition of something new: <code>-webkit-transition</code>.</p>
<p><code>-webkit-transition</code> is actually shorthand for three transition properties:</p>
<ul>
<li><code>transition-property</code>: The property to which the animation will be applied</li>
<li><code>transition-duration</code>: The length of time the transition will last</li>
<li><code>transition-timing-function</code>: Possibly better explained as the <a href="http://www.robertpenner.com/easing/">easing method</a> you&#8217;d like to use</li>
</ul>
<p>With these three properties, you&#8217;re provided a set of tools that can directly affect the richness of your designs, bringing the level of interaction up a notch or two. To make things even more elaborate, the WebKit team has also included support for comma delimited transition declarations, allowing you to animate multiple values using a single property declaration.</p>
<p>A finished implementation of WebKit CSS animation may look something like this:</p>
<pre class="sh_css"><code>div.message a.dismiss {
  opacity:0.2;
  -webkit-transition:opacity 0.3s ease-in-out;
}

div.message a.dismiss:hover {
  opacity:1;
}</code></pre>
<p>If you&#8217;re using a recent build of WebKit that supports CSS animation, check out <a href="/examples/css-animation.html">the example</a>.</p>
<p>CSS animation can have dramatic affect on your designs, especially in Web application enahcements. Jonathan Snook recently published a screencast <a href="http://snook.ca/archives/other/screencast-webkit-in-titanium">outlining his use of CSS animations</a> while playing with <a href="http://titaniumapp.com/">Titanium</a>, a platform I&#8217;m actively researching as well.</p>
<p>Jonathan&#8217;s use of CSS animation in his screencast really brings its potential to the surface. With animations such as the combination of scale and opacity to achieve stellar effects really helps to make CSS animations shine.</p>
<h3>What should control animation?</h3>
<p>Truly classifying CSS animation has been a personal challenge for me as a designer; what are <em>your</em> thoughts? Do you feel that animation belongs in the realm of style or behavior? Do you feel animation is something else entirely? Now that an option beyond JavaScript has surfaced, did that change your opinion? Do you see animation in CSS being continually adopted on a more consistent level when it comes to adding &#8216;that little something extra&#8217; for those using an applicable browser?</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=470&c=921111873' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=470&c=921111873' 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/20090504/covering-the-implication-and-basics-of-css-animation/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Database Caching 1/120 queries in 0.124 seconds using apc
Object Caching 1792/1997 objects using apc

Served from: www.mondaybynoon.com @ 2012-02-11 09:38:18 -->
