<?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>Chris Burbridge</title>
	<atom:link href="http://chrisburbridge.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://chrisburbridge.com</link>
	<description>WordPress Specialist.</description>
	<lastBuildDate>Fri, 30 Dec 2011 18:38:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Web Design Process: Design in the Browser?</title>
		<link>http://chrisburbridge.com/web-design-process-design-in-browser/</link>
		<comments>http://chrisburbridge.com/web-design-process-design-in-browser/#comments</comments>
		<pubDate>Wed, 25 May 2011 18:43:55 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[For Designers]]></category>

		<guid isPermaLink="false">http://chrisburbridge.com/?p=536</guid>
		<description><![CDATA[Chris BurbridgeChris Burbridge&#8220;Designing in the Browser&#8221; My previous post about web design for print designers, got me thinking more about what the<a href="http://chrisburbridge.com/web-design-process-design-in-browser/" class="read-more">Continue Reading</a><p>This article is copyright &copy; 2012&nbsp;</p>]]></description>
			<content:encoded><![CDATA[Chris Burbridge<p><strong>&#8220;Designing in the Browser&#8221;</strong></p>
<p>My previous post about <a href="/web-design-for-print-designers-pt-1">web design for print designers</a>, got me thinking more about what the &#8220;best&#8221; process, the best workflow, for designing and creating websites is.</p>
<p>Andy Clarke, a very influential British web designer gave a <a href="http://stuffandnonsense.co.uk/blog/about/walls_come_tumbling_down_presentation_slides_and_transcript">very influential</a> talk about this a few years ago,  being a proponent of &#8220;designing in the browser&#8221;—that is, leaving Photoshop behind, and working straight in the medium that your client&#8217;s site will actually be living in—HTML, CSS, Javascript.</p>
<p>Here&#8217;s a sloppy summary of why:</p>
<ul>
<li>The way Photoshop treats type is totally different from the way browser treat it</li>
<li>It creates a whole other step in the process, that can slow things down</li>
<li>PS does not have any way of mocking up dynamic elements, such as hover-over behaviors</li>
<li>You have to translate what Photoshop can do, into what a browser can do—why not start in the browser itself?</li>
</ul>
<p><a href="http://24ways.org/2009/make-your-mockup-in-markup">Meagan Fisher</a> did another great article about this on 24 Ways. She goes into more depth about the process she uses to design in the browser—using HTML and CSS. (See the comments on this article for an in-depth discussion, by real designers, of the pros and cons of this method.)</p>
<p>A small company called <a href="http://handcraft.com/">Handcraft</a> has even started to create a little web app to help you do this, <a href="http://danlewisjames.com/resources/designing-in-the-browser/">Dan Lewis James</a> wrote a post about his process, and 37 Signals wrote a characteristically great and opinionated piece about it, <a href="http://37signals.com/svn/posts/1061-why-we-skip-photoshop">Why we Skip Photoshop</a>.</p>
<p><strong>Why it Matters</strong></p>
<p>My previous post got me thinking a lot about the problems of using Photoshop—or Illustrator, or really, Fireworks.</p>
<ul>
<li>It encourages the client, and the designer, to continue thinking about the work as a static piece of paper, that only gets &#8220;converted&#8221; into a web page at the end</li>
<li>It relegates any work on the dynamic elements to the end, if at all (if the designer doesn&#8217;t pay attention to them, and the developer doesn&#8217;t feel it&#8217;s his duty to worry about it, and the client doesn&#8217;t even know that it&#8217;s possible—where the heck is it supposed to come up?)</li>
</ul>
<p><strong>Drawbacks</strong></p>
<p>There are a number of drawbacks of the &#8220;designing in the browser&#8221; approach:</p>
<ul>
<li>Many designers don&#8217;t know CSS and HTML, and don&#8217;t want to</li>
<li>Working in the browser might make you think more &#8220;left-brained,&#8221; and limit your creativity (if you&#8217;re like that)</li>
<li>It might make you think in &#8220;boxy&#8221; terms, because it&#8217;s so easy to make boxes in HTML and CSS; Photoshop lets you break out of the &#8220;box&#8221; and create things that people may not have seen before—then, you can go back and figure out how to code it</li>
</ul>
<p><strong>Moving Forward—Solution?</strong></p>
<p>I don&#8217;t think there&#8217;s one solution here. Here&#8217;s what I think:</p>
<ul>
<li>It&#8217;s not just a question about tools; it&#8217;s a question about process—the process tends to drive decisions. For example, if the designer is the de facto driver of a project, and the designer uses a process of &#8220;I show the Photoshop comps to the client, and he signs off on them,&#8221; this will <em>inevitably</em> tend to downplay dynamic elements, and relegate them to the back burner. They may never get addressed at all.</li>
<li>We probably need to think about a process that includes people working <em>concurrently</em>—let&#8217;s have a copywriter developing some lead copy, as the designer uses whatever creative tool they like to work with to open up their minds, and meanwhile, let&#8217;s have a &#8220;web expert&#8221; point out great examples of subtle dynamic behavior, or trends in web design, that could positively impact the design.</li>
</ul>
<p>Let me summarize even more:</p>
<ul>
<li>I think we need a process that co-evolves with an <strong>expert writer</strong>, a <strong>web expert</strong>, a <strong>coder</strong>, a <strong>designer</strong>, and a <strong>marketing person</strong>, and an <strong>information architect</strong>, all co-creating the work simultaneously, so that the project ends up placing correct emphasis on everything, and design considers.. marketing. Design considers&#8230; the actual content. Design considers&#8230; the organization of the site.</li>
</ul>
<p>Of course, you could have more than one person wearing some of these hats. But bottom line, I don&#8217;t think anymore that you can have just one person who understands the big picture well enough to create a work in isolation. I think you should use the tools that work for you, but you should incorporate any important considerations in the process. It&#8217;s unrealistic to make one person responsible for all of this—it&#8217;s just equally unreasonable to ignore the different factors.</p>
<p>&nbsp;</p>
<p><strong>What do you think?</strong></p>
<p>What is your web design process like, and how does it work for you?</p>
<p>&nbsp;</p>
<p>&nbsp;
<p>This article is copyright &copy; 2012&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrisburbridge.com/web-design-process-design-in-browser/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Web Design for Print Designers, pt. 3</title>
		<link>http://chrisburbridge.com/web-design-for-print-designers-pt-3/</link>
		<comments>http://chrisburbridge.com/web-design-for-print-designers-pt-3/#comments</comments>
		<pubDate>Sun, 22 May 2011 19:30:25 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[For Designers]]></category>

		<guid isPermaLink="false">http://chrisburbridge.com/?p=460</guid>
		<description><![CDATA[Chris BurbridgeChris Burbridge[This is part 3 of a 3-part series] Part 1 &#124; Part 2 &#124; Part 3 This was originally a video (included<a href="http://chrisburbridge.com/web-design-for-print-designers-pt-3/" class="read-more">Continue Reading</a><p>This article is copyright &copy; 2012&nbsp;</p>]]></description>
			<content:encoded><![CDATA[Chris Burbridge<p><a rel="attachment wp-att-500" href="http://chrisburbridge.com/web-design-for-print-designers-pt-3/picture-8/"><img class="alignnone size-full wp-image-500" title="Radiolab" src="http://chrisburbridge.com/wp-content/uploads/2011/05/Picture-8-e1306020582810.png" alt="" width="400" height="260" /></a></p>
<p>[This is part 3 of a 3-part series]</p>
<p><strong><a href="/web-design-for-print-designers-pt-1">Part 1</a> | <a href="/web-design-for-print-designers-pt-2">Part 2</a> | Part 3</strong></p>
<p>This was originally a video (included below), and these words suplement and distill what I say in the video.</p>
<p class='pretty-block'><a href="http://chrisburbridge.com/web-design-for-print-designers-videos"><img class="size-full wp-image-543 alignleft" title="Video" src="http://chrisburbridge.com/wp-content/uploads/2011/05/Picture-9-e1306092228504.png" alt="" width="139" height="85" /></a> This series was originally inspired by a video, which you can see here:<br />
<a href="http://chrisburbridge.com/web-design-for-print-designers-videos">Web Design for Print Designers — Videos</a>.<br />
<span style="color: white;">.</span></p>
<p style="clear: both;"><strong>Design Process</strong></p>
<p>There’s a common web design process whereby a designer goes into her or his private place, works in Photoshop, and comes up with a series of comps. Then, s(he) gives these over to a developer or someone, who codes them into CSS/HTML/WordPress, etc.</p>
<p>This process probably parallels a designer producing work to give to a printer. But it leaves out a lot of magic that is possible in the web, or turns it into an afterthought.</p>
<p>My experience tells me that unless the web designer can integrate these things into her process, this will continue. By the time she’s turned her work over to be “coded,” it’s too late, unless we think of things differently.</p>
<p>The truth is, there are probably ways in which Photoshop is still a good design tool just <em>because</em> it doesn’t limit you to what’s “easy” on a web page; but then, it’s very limiting, because it puts off the specification of dynamic elements for way too long.</p>
<p>Furthermore, specifying type in Photoshop makes no sense at all—you need to do this using CSS and real browsers.</p>
<p>Also, in my experience, things like fine rules (see <a href="http://www.good.is/">www.good.is</a> again), are a bitch to render in Photoshop, and even in other tools, they’re not really going to look the same as they do in a web page. Note the use here of dotted rules (a CSS option), for example. Why take forever in Photoshop (or Illustrator) trying to make it look like it’s going to look in the browser?</p>
<p>The alternative—I think—is going to have to be a process where you do  part of your work in a tool like Photoshop, and part of your work in HTML and CSS. (If you don’t know how to use these tools, maybe you should learn, or work with someone who does.)</p>
<p>Furthermore, web designers—who are generally very <em>visual</em>—should generally work with someone else, playing the <em>information architect</em> role, whose job it is to think about the arrangement of the verbal information, and the navigation. (In conjunction with the designer, of course.)</p>
<p>Furthermore—this is something outside the scope of this article, but I have to say it—because many clients come straight to a designer as the point person to produce their website, and many designers don’t really know about marketing, the designer should really work in conjunction with a marketing person,<em>always</em>. (Unless, perhaps the client really and truly does not desire to get traffic from the site, or already has a marketing department and plan—in which case the designer should be working with that department.)</p>
<p><strong>What do you think?</strong></p>
<p>What is your experience as a designer? As a developer? What do you think? Tell me below:
<p>This article is copyright &copy; 2012&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrisburbridge.com/web-design-for-print-designers-pt-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Web Design for Print Designers, pt. 2</title>
		<link>http://chrisburbridge.com/web-design-for-print-designers-pt-2/</link>
		<comments>http://chrisburbridge.com/web-design-for-print-designers-pt-2/#comments</comments>
		<pubDate>Sun, 22 May 2011 19:30:06 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[For Designers]]></category>

		<guid isPermaLink="false">http://chrisburbridge.com/?p=459</guid>
		<description><![CDATA[Chris BurbridgeChris Burbridge[This is part 2 of a 3-part series] Part 1 &#124; Part 2 &#124; Part 3 This was originally a video (included<a href="http://chrisburbridge.com/web-design-for-print-designers-pt-2/" class="read-more">Continue Reading</a><p>This article is copyright &copy; 2012&nbsp;</p>]]></description>
			<content:encoded><![CDATA[Chris Burbridge<p><a rel="attachment wp-att-495" href="http://chrisburbridge.com/web-design-for-print-designers-pt-2/picture-7/"><img class="size-full wp-image-495 alignnone" title="Second and Park" src="http://chrisburbridge.com/wp-content/uploads/2011/05/Picture-7-e1306020335923.png" alt="" width="400" height="240" /></a></p>
<p><small><a title="Nesster" href="http://www.flickr.com/photos/80682954@N00/5742012859/" target="_blank"></a></small>[This is part 2 of a 3-part series]</p>
<p><strong><a href="/web-design-for-print-designers-pt-1">Part 1</a> | Part 2 | <a href="//web-design-for-print-designers-pt-3">Part 3</a></strong></p>
<p>This was originally a video (included below), and these words suplement and distill what I say in the video.</p>
<p class='pretty-block'><a href="http://chrisburbridge.com/web-design-for-print-designers-videos"><img class="size-full wp-image-543 alignleft" title="Video" src="http://chrisburbridge.com/wp-content/uploads/2011/05/Picture-9-e1306092228504.png" alt="" width="139" height="85" /></a> This series was originally inspired by a video, which you can see here:<br />
<a href="http://chrisburbridge.com/web-design-for-print-designers-videos">Web Design for Print Designers — Videos</a>.<br />
<span style="color: white;">.</span></p>
<p style="clear: both;"><strong>Principles (continued)</strong></p>
<p><strong><em>Delight</em></strong></p>
<p>I could call this something different, but what I mean is things that do a little something when you hover over them, or somehow change occasionally.</p>
<p>Examples:</p>
<p>* The little hearts in Made by <a href="http://Water.com" class="autohyperlink" title="http://Water.com" target="_blank">Water.com</a></p>
<p>* The way the Feedback tab in Get <a href="http://Satisfaction.com" class="autohyperlink" title="http://Satisfaction.com" target="_blank">Satisfaction.com</a> moves slightly when you hover over it</p>
<p>* The way links change color when you hover over them</p>
<p>I suppose I could include in delight, simply the way that small details are rendered, delicately, to create a gentle sense that things were covered; the i’s were dotted, and the t’s were crossed.</p>
<p><strong><em>Neatness, Alignment, and Air Allow Deliery of Lots of Information without Overwhelm</em></strong></p>
<p>I think another thing I’ve noticed with print designers is a desire to pare things down and eliminate unnecessary information—they don’t like a clutter of lines, words, etc.</p>
<p>I don’t either; but I think that here’s a way where a printed report and a web page vary greatly. When you’re holding a printed report (or magazine, or book, or brochure) in your hands, your most natural instinct is to <em>turn the pages</em> when you want to explore more.</p>
<p>While web pages <em>do</em> have an equivalent to “turning the pages,” they’re still not the same. In a web page, you can make things that are very faint (demanding not-too-much attention), that then darken (or gain color) when you hover over them, essentially coming into focus when you need them.</p>
<p>I think things like fine rules (lines), nice alignment (whether officially on a grid or not), and flexible color schemes make a site like Good.is (<a href="http://www.good.is/">www.good.is</a>) very easy to look at. There’s a ton of stuff going on here, and it’s good.</p>
<p><strong><em>Information Architecture Matters</em></strong></p>
<p>In all the examples I site, someone took a lot of time to think out how to organize that information. It means, considering how well the words on the page help you find what you want; how well it’s structured to make sense to your visitor—not to you.</p>
<p>I think all the examples have a good feel in part because of design, and in part because someone thought a lot about this.</p>
<p>Although note, as well, that most of the sites have a lot of different ways to find stuff—besides having nicely delineated categories, and featuring the most important things the most. For example, “active” footers give you a lot more space to lay out what’s on offer.</p>
<p>(See <a href="http://www.webmonkey.com/2010/02/information_architecture_tutorial/">www.webmonkey.com/2010/02/information_architecture_tutorial/</a> for more.)</p>
<p><strong><a href="/web-design-for-print-designers-pt-3">➡ Continue to Part 3</a></strong>
<p>This article is copyright &copy; 2012&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrisburbridge.com/web-design-for-print-designers-pt-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Design for Print Designers, pt. 1</title>
		<link>http://chrisburbridge.com/web-design-for-print-designers-pt-1/</link>
		<comments>http://chrisburbridge.com/web-design-for-print-designers-pt-1/#comments</comments>
		<pubDate>Sun, 22 May 2011 19:29:23 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[For Designers]]></category>

		<guid isPermaLink="false">http://chrisburbridge.com/?p=457</guid>
		<description><![CDATA[Chris BurbridgeChris Burbridge[This is part 1 of a 3-part series] Part 1 &#124; Part 2 &#124; Part 3 My Experience from Working<a href="http://chrisburbridge.com/web-design-for-print-designers-pt-1/" class="read-more">Continue Reading</a><p>This article is copyright &copy; 2012&nbsp;</p>]]></description>
			<content:encoded><![CDATA[Chris Burbridge<p><a rel="attachment wp-att-492" href="http://chrisburbridge.com/web-design-for-print-designers-pt-1/picture-6-3/"><img class="size-full wp-image-492 alignnone" title="good.is" src="http://chrisburbridge.com/wp-content/uploads/2011/05/Picture-61-e1306020140801.png" alt="" width="400" height="204" /></a></p>
<p>[This is part 1 of a 3-part series]</p>
<p><strong>Part 1 | <a href="/web-design-for-print-designers-pt-2">Part 2</a> | <a href="//web-design-for-print-designers-pt-3">Part 3</a></strong></p>
<p class='pretty-block'><a href="http://chrisburbridge.com/web-design-for-print-designers-videos"><img class="size-full wp-image-543 alignleft" title="Video" src="http://chrisburbridge.com/wp-content/uploads/2011/05/Picture-9-e1306092228504.png" alt="" width="139" height="85" /></a> This series was originally inspired by a video, which you can see here:<br />
<a href="http://chrisburbridge.com/web-design-for-print-designers-videos">Web Design for Print Designers — Videos</a>.<br />
<span style="color: white;">.</span></p>
<p style="clear: both;"><strong>My Experience from Working with Designers</strong></p>
<p>I work with a lot of designers, and I know that a lot of you came from the print world, and have gradualy made the transition into web design (or want to). Here are some things I have observed that will be helpful to think about.</p>
<p>Really good web designers understand the medium, and how it is different from print. They work out their design <em>process</em> so that it works in the way a web page acts, and the way it feels to interact with a web page.</p>
<p><strong>Principles</strong></p>
<p><strong><em>Design for the Whole Page, Not “Above the Fold”</em></strong></p>
<p>An old usability study from the 90’s convinced a lot of designers to design for “above the fold” (the area of the page you see when you first open a web page), concluding that visitors did not know to scroll.</p>
<p>Well, this is no longer the case, and probably a big differentiator of good web design is understanding that a visitor <em>interacts</em> with a web page, and happily scrolls down to the bottom.</p>
<p>Many designers design a comp that focuses on the first experience of a web page (“the top of the fold”), and do not even design a footer. They may not insert even dummy text to see what the page will look like once it’s a real page, with height in it, with content.</p>
<p>(Incidentally, it would be wonderful if designers would spec out the typography for the whole thing—H1’s (Heading 1’s), H2’s, H3’s, bulleted lists, numbered lists, quote blocks, etc. There are good templates to do this. But Photoshop is probably <em>not</em> the place to do it. The place to do it is in a browser, using CSS.)</p>
<p>In the video, I say “you don’t just have to design for above the fold.” But what I really should have said is, <em>don’t</em> design for above the fold.</p>
<p>Notice, in the examples in the video, how there’s a progression of meaning that is created through scrolling—at the top, you have the <em>first big idea</em> for the site; then, you have granular information, such as posts, messaging, etc.; and at the end, you have a footer that serves a number of purposes.</p>
<p>When your visitor has gotten down to the bottom of that trail, he feels that the whole experience was considered—not just the first impression when the page loads.</p>
<p><strong><a href="/web-design-for-print-designers-pt-2">➡ Continue to Part 2</a></strong>
<p>This article is copyright &copy; 2012&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrisburbridge.com/web-design-for-print-designers-pt-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Favorite WordPress Plugins</title>
		<link>http://chrisburbridge.com/favorite-wordpress-plugins/</link>
		<comments>http://chrisburbridge.com/favorite-wordpress-plugins/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 01:30:50 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[End User Info]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://chrisburbridge.com/?p=441</guid>
		<description><![CDATA[Chris BurbridgeChris Burbridgephoto credit: Wyscan At the WordPress Meetup &#8230; Our topic this evening is, your favorite WordPress plugins. Here&#8217;s my picks<a href="http://chrisburbridge.com/favorite-wordpress-plugins/" class="read-more">Continue Reading</a><p>This article is copyright &copy; 2012&nbsp;</p>]]></description>
			<content:encoded><![CDATA[Chris Burbridge<p><small><a title="Attribution License" href="http://creativecommons.org/licenses/by/2.0/" target="_blank"><a title="Gotcha.  Wait, what?" href="http://www.flickr.com/photos/65844741@N00/5632279309/" target="_blank"><img src="http://farm6.static.flickr.com/5183/5632279309_71a7c004eb_m.jpg" border="0" alt="Gotcha.  Wait, what?" /></a><br />
<small><a title="Attribution License" href="http://creativecommons.org/licenses/by/2.0/" target="_blank"><img src="http://chrisburbridge.com/wp-content/plugins/photo-dropper/images/cc.png" border="0" alt="Creative Commons License" width="16" height="16" align="absmiddle" /></a> <a href="http://www.photodropper.com/photos/" target="_blank">photo</a> credit: <a title="Wyscan" href="http://www.flickr.com/photos/65844741@N00/5632279309/" target="_blank">Wyscan</a></small><br />
</a><a title="Wyscan" href="http://www.flickr.com/photos/65844741@N00/5632279309/" target="_blank"></a></small></p>
<p>At the WordPress Meetup &#8230; Our topic this evening is, your favorite WordPress plugins. Here&#8217;s my picks (somewhat randomly)&#8230;</p>
<p>[Click the headings to go to the respective plugins' sites]</p>
<p><strong><a href="http://yoast.com/wordpress/seo/">Yoast SEO Plugin</a></strong></p>
<p>Yoast has been doing SEO for WordPress for many years &#8230; but recently, he&#8217;s consolidated a lot of work into this one, very cool plugin.</p>
<p><strong><a href="http://www.photodropper.com/wordpress-plugin/">Photo Dropper</a></strong></p>
<p>Photo Dropper is a magical plugin that searches for you to find legally-usable (Creative Commons-licensed) photos for your blog posts.</p>
<p><strong><a href="http://www.gravityforms.com/">Gravity Forms</a></strong></p>
<p>Gravity Forms is a paid plugin, but it&#8217;s well, well worth it, if you need to have forms more complicated than a simple email contact form.</p>
<p><strong><a href="http://kb.mailchimp.com/connect/wordpress-analytics-plugin?pid=wordpress&amp;source=website">Analytics360</a></strong></p>
<p>Analytics 360 pulls in your stats from Google Analytics, and also MailChimp, if you use that, and lets you see it all from within the WordPress dashboard, without having to leave WordPress.</p>
<p><strong><a href="http://shopplugin.net/">Shopp</a> and <a href="http://www.phpurchase.com/">PHPurchase</a></strong></p>
<p>Shopp and PHPurchase are two very highly-recommended WordPress plugins for e-commerce. Shopp is a little less powerful, but more usable out of the box. PHPurchase offers you a lot of control, but is also a little more work to set up.
<p>This article is copyright &copy; 2012&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrisburbridge.com/favorite-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New developments in web app frameworks-Node.js</title>
		<link>http://chrisburbridge.com/developments-web-app-frameworksnodejs/</link>
		<comments>http://chrisburbridge.com/developments-web-app-frameworksnodejs/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 16:10:33 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Code & Tech]]></category>

		<guid isPermaLink="false">http://chrisburbridge.com/?p=434</guid>
		<description><![CDATA[Chris BurbridgeChris BurbridgeTold to me by the same clever man at NextSpace, whose name I did not get, Node.js is a server-side<a href="http://chrisburbridge.com/developments-web-app-frameworksnodejs/" class="read-more">Continue Reading</a><p>This article is copyright &copy; 2012&nbsp;</p>]]></description>
			<content:encoded><![CDATA[Chris Burbridge<p>Told to me by the same clever man at NextSpace, whose name I did not get, <a href="http://nodejs.org/">Node.js</a> is a server-side web application framework written in Javascript, that has been getting a lot of attention.</p>
<p>Even though it is written in JavaScript, you can actually write it in <a href="http://jashkenas.github.com/coffee-script/">CoffeeScript</a>, a simple Ruby-like language that is compiled into Javascript, so the distance between it and the horrible old, incompatible Javascript experiences of the past become farther and farther away.</p>
<p>It looks wonderful, but I don&#8217;t know how to install it on my MediaTemple virtual host account, so I don&#8217;t care about it right now. I am too lazy.</p>
<p>On the other hand, maybe it would be good, <em>because</em> I am so lazy, to install it. It is loved.
<p>This article is copyright &copy; 2012&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrisburbridge.com/developments-web-app-frameworksnodejs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New developments in web app frameworks-Backbone.js</title>
		<link>http://chrisburbridge.com/developments-web-app-frameworksbackbonejs/</link>
		<comments>http://chrisburbridge.com/developments-web-app-frameworksbackbonejs/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 15:36:02 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Code & Tech]]></category>

		<guid isPermaLink="false">http://chrisburbridge.com/?p=432</guid>
		<description><![CDATA[Chris BurbridgeChris BurbridgeOkay, this is just a summary of a few things I&#8217;ve been made aware of recently that seem cool and<a href="http://chrisburbridge.com/developments-web-app-frameworksbackbonejs/" class="read-more">Continue Reading</a><p>This article is copyright &copy; 2012&nbsp;</p>]]></description>
			<content:encoded><![CDATA[Chris Burbridge<p>Okay, this is just a summary of a few things I&#8217;ve been made aware of recently that seem cool and useful. It&#8217;s wonderful to see how people are sorting out the most useful things these days, and, often, making them popular. Clearly presented, well-documented, well-designed things, that take off because of that. How nice.</p>
<p><strong>Backbone.js</strong></p>
<p>Backbone is a web app framework for the Javascript (server-) side of your application. Let&#8217;s say you use an MVC framework for your server side&#8211;something in PHP, or Ruby, or Python. Well, what do you do on the client side?</p>
<p>There&#8217;s jQuery, which is beautiful, but it&#8217;s more a system for accessing the DOM, but is not inherently designed to talk with the server side, or manage data. This was one of the things I kept running up against a few months ago&#8211;for any variety of reasons, I need the server side (PHP in that case) to talk to the client side (jQuery). How, exactly, should I do this? It felt sloppy and home-grown.</p>
<p>Furthermore, it felt somehow inelegant to relate the data I wanted to store, directly with a series of selectors in the HTML. Yes, it did seem that that was how people did it; but it seemed counter-intuitive to my training.</p>
<p>This would be very useful if you want control over your code, but you want to do things elegantly. Or, because you&#8217;re trying to do a lot on the client side, like for example, GMail.</p>
<p>Here&#8217;s a great article about it: <a href="http://andyet.net/blog/2010/oct/29/building-a-single-page-app-with-backbonejs-undersc/">Building a single page app with Backbone.js, underscore.js and jQuery</a>, by Henrik Joreteg.</p>
<p>He also mentions a Javascript, client-side templating engine, for use with jQuery, called <a href="http://icanhazjs.com/">ICanHasJS</a>. This goes beyond what I&#8217;d thought about all this, but it&#8217;s pretty cool. Let&#8217;s say you have a client-side app, and you know you want to populate it with a bunch of data&#8211;but not as you build the page (server-side), but later&#8211;why not use placeholders to populate it, like you would with a server-side thing, such as Smarty? Smart.</p>
<p>Backbone also provides a RESTful API to allow a standardized way for your server and client sides to talk. That makes a lot more sense.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;
<p>This article is copyright &copy; 2012&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrisburbridge.com/developments-web-app-frameworksbackbonejs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery.fixture for prototyping Ajax Development</title>
		<link>http://chrisburbridge.com/jqueryfixture-prototyping-ajax-development/</link>
		<comments>http://chrisburbridge.com/jqueryfixture-prototyping-ajax-development/#comments</comments>
		<pubDate>Sat, 25 Dec 2010 19:05:51 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Code & Tech]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[webdevelopment]]></category>

		<guid isPermaLink="false">http://chrisburbridge.com/?p=421</guid>
		<description><![CDATA[Chris BurbridgeChris BurbridgeThis is a neat thing if you are developing a RESTful application, but you do not have the REST server<a href="http://chrisburbridge.com/jqueryfixture-prototyping-ajax-development/" class="read-more">Continue Reading</a><p>This article is copyright &copy; 2012&nbsp;</p>]]></description>
			<content:encoded><![CDATA[Chris Burbridge<p>This is a neat thing if you are developing a RESTful application, but you do not have the REST server at the other end, or you are waiting for someone else to develop it. <a href="http://v3.javascriptmvc.com/index.html#&amp;who=jQuery.fixture">[Link]</a></p>
<p>If I had known about this a little while ago, I might not have had to build my own test RESTful server, but then, I would not have had a chance to learn about REST, so I might not have learned some very important things. The server I built was a test server, and it really only returns test data. But this jQuery plugin is a level of ease beyond that, because you only <em>pretend</em> to $.post, etc., and it pretends to send back data.
<p>This article is copyright &copy; 2012&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrisburbridge.com/jqueryfixture-prototyping-ajax-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remove unwanted meta boxes from \WordPress Write Panels</title>
		<link>http://chrisburbridge.com/317/</link>
		<comments>http://chrisburbridge.com/317/#comments</comments>
		<pubDate>Sat, 11 Sep 2010 19:05:58 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Code & Tech]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://chrisburbridge.com/?p=317</guid>
		<description><![CDATA[Chris BurbridgeChris BurbridgeHere is the code. Comment out the ones you don&#8217;t want to remove. This article is copyright &#169; 2012&#160;<p>This article is copyright &copy; 2012&nbsp;</p>]]></description>
			<content:encoded><![CDATA[Chris Burbridge<p>Here is the code.</p>
<p>Comment out the ones you don&#8217;t want to remove.</p>
<pre class="brush: php; title: ; notranslate">
function cbqc_remove_boxes() {
	// Remove boxes I don't like

	// *** For posts *** //
	// Custom Fields
	remove_meta_box( 'postcustom' , 'post' , 'normal' );
	// Excerpt
	remove_meta_box( 'postexcerpt' , 'post' , 'normal' );
	// Trackbacks
	remove_meta_box( 'trackbacksdiv' , 'post' , 'normal' );
	// Discussion
	remove_meta_box( 'commentstatusdiv' , 'post' , 'normal' );
	// Revisions
	remove_meta_box( 'revisionsdiv' , 'post' , 'normal' );
	// Author
	remove_meta_box( 'authordiv' , 'post' , 'normal' );
	// Categories
	remove_meta_box( 'categorydiv' , 'post' , 'normal' );
	// Tags
	remove_meta_box( 'tagsdiv-post_tag' , 'post' , 'normal' );
	// Publish
	remove_meta_box( 'submitdiv' , 'post' , 'normal' );

	// *** For pages *** //
	// Custom Fields
	remove_meta_box( 'postcustom' , 'page' , 'normal' );
	// Discussion
	remove_meta_box( 'commentsdiv' , 'page' , 'normal' );
	// Comments
	remove_meta_box( 'commentstatusdiv' , 'page' , 'normal' );
	// Revisions
	remove_meta_box( 'revisionsdiv' , 'page' , 'normal' );
	// Author
	remove_meta_box( 'authordiv' , 'page' , 'normal' );
	// Page Attributes
	remove_meta_box( 'pageparentdiv' , 'page' , 'normal' );
	// Publish
	remove_meta_box( 'submitdiv' , 'page' , 'normal' );
}
add_action('admin_init', 'cbqc_remove_boxes');
</pre>
<p>This article is copyright &copy; 2012&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrisburbridge.com/317/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Plugins for Custom Client Functions</title>
		<link>http://chrisburbridge.com/using-plugins-for-custom-client-functions/</link>
		<comments>http://chrisburbridge.com/using-plugins-for-custom-client-functions/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 22:35:30 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Code & Tech]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://chrisburbridge.com/?p=305</guid>
		<description><![CDATA[Chris BurbridgeChris Burbridgephoto credit: romana klee This just never occurred to me: That you might want to use plugins when developing custom<a href="http://chrisburbridge.com/using-plugins-for-custom-client-functions/" class="read-more">Continue Reading</a><p>This article is copyright &copy; 2012&nbsp;</p>]]></description>
			<content:encoded><![CDATA[Chris Burbridge<p><a title="#12" href="http://www.flickr.com/photos/28581290@N08/4906331869/" target="_blank"><img src="http://farm5.static.flickr.com/4140/4906331869_d88981e7ca_m.jpg" border="0" alt="#12" /><br />
</a><small><a href="http://www.photodropper.com/photos/" target="_blank"><span style="font-size: xx-small;">photo</span></a><span style="font-size: xx-small;"> credit: </span><a title="romana klee" href="http://www.flickr.com/photos/28581290@N08/4906331869/" target="_blank"><span style="font-size: xx-small;">romana klee</span></a></small></p>
<p><small><a title="romana klee" href="http://www.flickr.com/photos/28581290@N08/4906331869/" target="_blank"></a></small>This just never occurred to me: That you might want to use plugins when developing custom features for a client, rather than simply include the code in the functions.php file (or an extension of same).</p>
<p>Now, because the plugin was not necessarily for general consumption, there could still be an awful lot <em>less</em> labor, in the form of testing, compatibility QA, etc. Probably still more than if you were including in functions.php, but maybe not.</p>
<p><strong>Reasons why you might want to include features for a client&#8217;s site as custom plugins:</strong></p>
<ol>
<li>Including as plugins forces you to carefully encapsulate the code, into more clear, discrete units, based on function, which inevitably improves re-use.</li>
<li>.. It also inevitably encourages better maintenance.</li>
<li>It takes advantage of the plugin architecture, not as a means by which people all over the world could re-use very generic code functions, but more as a means by which a company (or independent developer) can re-use its own code and functions. The same cool, modular design that lends itself so well to contributions by the open source community, could also lend itself to flexibility within a company.</li>
<li>It could encourage the company to distribute said code to the world, with numerous benefits.</li>
<li>As the client requested more features, it could encourage me to add those features as the discrete, &#8220;pluggable&#8221; items that they are, rather than adding them as a sort of &#8220;spaghetti&#8221; of stuff to the functions.php file. An example is some custom post type code that a client has requested, and provides a very discrete new set of behavior to the site.</li>
<li>You might be able to include this new, discrete functionality, without interfering with the existing theme files. If the code for the new feature, and the existing theme files, are really two separate things, it could be very nice to keep them quite separate.</li>
<li>You can easily turn a particular function on or off. I am not sure exactly how that will benefit, but it might well.</li>
<li>You could provide access—for yourself, or for a client—to whatever particular configuration settings or what not that you might want to be able to easily change. —Perhaps while you were developing a site, or say, from one project to another.</li>
<li>If you do want to re-use code from one project for another, I think it will definitely be easier to see exactly what code you want to pull out and use, if it&#8217;s so well modularized as to be in its own plugin.</li>
<li><strong>[9/13/10]</strong> If you were trying to utilize a development methodology, such as Agile, that took advantage of modularity, and possibly with a more junior, you could use plugins as a way to enforce modularity, much like using object-oriented methods do. You could clearly specify inputs and outputs, and even embed test cases into the &#8220;stub&#8221; code for that plugin. You could actually provide a stub complete with a framework of coding standards, test case, etc. Ooh&#8230; that could be <em>beauty-full</em>&#8230;</li>
</ol>
<p>When you are developing a plugin for a general audience, you have to spend a lot of time managing the <em>interface</em> to the plugin—making appropriately user-friendly, pretty interfaces, that are fairly easy for the general user to understand, can take up a lot of extra time.</p>
<p>On the other hand, if I were developing plugins for internal use, I could make them less user-friendly, focusing on the specific user audience, and specific functions I needed to expose. For example, I might have a simple drop-down menu of options for the back-end (client&#8217;s) interface, and a series of configuration options within the code, that would be easy for a developer to change, and adapt to a specific project.</p>
<p>In fact, I could even have plugins that had <em>no</em> visible interface.</p>
<p><strong>Disadvantages could include:</strong></p>
<ol>
<li>Having theme files and other aspects of the site&#8217;s behavior in different areas. This is definitely a pro/con balance situation. If you have all the code with within the theme directory, it&#8217;s nicely self-contained (and I use this a lot when managing project code with git). On the other hand, if it&#8217;s in a plugin, then it&#8217;s nicely kept separate. (And of course, it&#8217;s not as though I don&#8217;t already have a client&#8217;s site set up with any number of other plugins that I have included).</li>
<li>Even though I can keep the interface to my plugins simpler, there might still be a little more code required to manage a series of plugins, than just code stuck somewhere in a functions.php file.</li>
<li>You might easily end up in a situation where you still do need to modify the theme file code. Now, you have had to manage modifications in two separate areas of code, just to get the feature to work.</li>
</ol>
<p><strong>&#8212; Update, September 13, 2010 &#8212;</strong></p>
<p>I know maybe nobody is reading this, but if only for my own edification or remembrance, I will note some more things down.</p>
<p>This weekend, I began trying an extension of this experiment.</p>
<p>I started a <a href="http://generic.local" class="autohyperlink" title="http://generic.local" target="_blank">generic.local</a> install of WordPress, with the barest of themes, a very generic installation. Then, I started adding plugins to accomplish various functions that I might want to do for a variety of projects—custom post types, custom &#8220;fields&#8221; (e.g., meta data for various write panels), etc.</p>
<p>I then stored this entire plugin directory as its own git repository. I developed the custom post type and fields plugins in the generic install, until everything worked pretty well, in a generic way.</p>
<p>Then, I went to the <em>actual</em> site I was working on, and cloned the same repo, becoming the plugins directory for that actual site.</p>
<p>Now, I created a site-specific git branch, and started working in there, making modifications to the various plugins, as needed, for the particular project.</p>
<p>Also, I would add any publicly-available plugins as needed, and yes—they become part of that branch of the repo. Therefore, this branch of the repo becomes a snapshot of the entire plugin installation I need for this particular project.</p>
<p>The idea here, is that (a) there could be a lot in common between projects; (b) starting off from a common &#8220;root&#8221; branch of code, could encourage the re-use of said code in an organized way.</p>
<p>I may start to include all the standard plugins I might use in the &#8220;root&#8221; branch, so then it becomes a kind of library of commonly-used public plugins.</p>
<p>Unlike having to release a plugin publicly, I am still able to tweak and modify the code by hand, commenting out options or features I don&#8217;t need, etc., all within the code. So, it&#8217;s sort of a best-of-both-worlds situation. It allows me to know a lot more intimately what a particular function does—say, register_post_type(), for example—without having to re-write it all by hand every time.</p>
<p>The disadvantage I can think of, so far, is that for each project, I&#8217;ll have two stores of code—one, the project-specific branch of the plugins directory, and two, the theme directory repo.</p>
<p>But I think it is very interesting how this encourages me to <em>think</em> in terms of re-used, and modularized, code. But thanks to the power of git, re-purposing this core library of code is very easy, because I can so quickly switch between branches.</p>
<p><strong>&#8212;- Update, September 14, 2010 &#8212;-</strong></p>
<p>Realizing that a real danger here, is that you end up getting confused about where which files are, for which project. There is a beautiful simplicity in having <em>everything</em> for one project, in one place.</p>
<p>There are always tradeoffs between re-use and simplicity.</p>
<p>Somehow, I need to come up with the way to have both. For example, still have one repo per project, but have it point to both the plugins directory, and the theme directory. Perhaps create a directory that contains symlinks to both places, thereby making the repo contain both, while having WordPress work the same way it always does.</p>
<p>This solution would be beautiful, <em>except</em> that it squashes the idea of maintaining all of the plugins for my projects as a sort of shared core of code. Need to think about this some more.
<p>This article is copyright &copy; 2012&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrisburbridge.com/using-plugins-for-custom-client-functions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

