<?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>Everything In Between &#187; Web Site Optimization</title>
	<atom:link href="http://maymay.net/blog/category/web-design/web-site-optimization/feed/" rel="self" type="application/rss+xml" />
	<link>http://maymay.net/blog</link>
	<description>The brutally honest, first-person account of Meitar Moscovitz&#039;s life.</description>
	<lastBuildDate>Thu, 19 Jan 2012 08:54:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The Importance of Naming Conventions in Collaborative Web Production</title>
		<link>http://maymay.net/blog/2007/05/03/the-importance-of-naming-conventions-in-collaborative-web-production/</link>
		<comments>http://maymay.net/blog/2007/05/03/the-importance-of-naming-conventions-in-collaborative-web-production/#comments</comments>
		<pubDate>Fri, 04 May 2007 03:02:13 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Information & Communication]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Site Optimization]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/archives/2007/05/03/the-importance-of-naming-conventions-in-collaborative-web-production/</guid>
		<description><![CDATA[It strikes me as very, very interesting how, especially in the world of technology where everything is thought to be so regimented and precise, where a single typo can be the difference between compilation and error, that there is so much versatility in every step of the creative process. This is, of course, a result [...]]]></description>
			<content:encoded><![CDATA[<p>It strikes me as very, very interesting how, especially in the world of technology where everything is thought to be so regimented and precise, where a single typo can be the difference between compilation and error, that there is so much versatility in every step of the creative process. This is, of course, a result of the nature of the industry, that being a knowlege-based economy, but the observation still holds strength.</p>
<p>I&#8217;m beginning a new project at work where, for the first time, I&#8217;m working with a large team of developers, and not just integration developers but front-end developers like myself. Since I&#8217;m the new guy, I&#8217;m finding myself required to learn the teams established vocabulary and this is making me realize just how much of my own vocabulary I have developed myself without even realizing how large it&#8217;s grown.</p>
<p>It all comes down to how we organize our code and that, of course, depends very much on how we are used to thinking about things. On a team of people working together for a common goal, such implementation-specific details are much more central to the success of the project than when working alone, such as in a freelance situation.</p>
<p>It&#8217;s interesting to me to see how many of the the established coding standards and naming conventions are obviously built off of the same kinds of ideas that I&#8217;ve already had and have been using for quite some time, and yet how different they are in implementation. This extends beyond the obvious case of using dash-separated class and ID names instead of camel case lettering or vice versa. It goes so far as to project management and workflow considerations, file name conventions, and semantics.</p>
<p>In some cases, optimizations are actually sacrificed on a team in favor of clarity, but this is actually a good thing. In my freelance work, I typically squeeze every last ounce of optimization into a project by using shorter names, more optimized files, and extremely dense code to ensure the best possible result. In a project with other developers however, the success of the project is far more dependant on everyone&#8217;s collective understanding of the code, so clarity is and should be prioritized above optimizations.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2007/05/03/the-importance-of-naming-conventions-in-collaborative-web-production/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why Web Pages Need Not Be Compressed</title>
		<link>http://maymay.net/blog/2005/03/27/why-web-pages-need-not-be-compressed/</link>
		<comments>http://maymay.net/blog/2005/03/27/why-web-pages-need-not-be-compressed/#comments</comments>
		<pubDate>Sun, 27 Mar 2005 08:51:22 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Site Optimization]]></category>

		<guid isPermaLink="false">/?p=216</guid>
		<description><![CDATA[If your CSS is so large you think you need to compress it to increase your web site's speed, then quite frankly, you're not using CSS properly.]]></description>
			<content:encoded><![CDATA[<p>There has long been <a href="http://www.fiftyfoureleven.com/sandbox/weblog/2004/jun/the-definitive-css-gzip-method/" title="One method for compressing style sheets.">some talk</a> about compressing <acronym title="Cascading Style Sheets">CSS</acronym> files to make them smaller and thus use less bandwidth. While compressing files transffered over <acronym title="HyperText Transfer Protocol">HTTP</acronym> is all well and good, some people have taken the ability to do this as a license to create badly-designed, bloated style sheets that inevitably turn into nightmares. What these people don&#8217;t realize is that optimized <em>web pages shouldn&#8217;t need to be compressed</em>.</p>
<p><ins datetime="2005-03-28T00:50:00+0500">
<p>(It should be noted that the folks over at FiftyFourEleven are not folks whom I believe are using <acronym title="Cascading Style Sheets">CSS</acronym> improperly. The referenced article merely provides additional information for compression techniques.)</p>
<p></ins></p>
<p>When <a href="/maymaymedia/services/web-site-optimization/" title="I perform speed optimizations on web sites as a service offered by Maymay Media.">I optimize web sites</a>, utilizing <acronym title="HyperText Transfer Protocol">HTTP</acronym> compression techniques (especially with <acronym title="PHP Hypertext Preprocessor; an HTML-embedded scripting language">PHP</acronym>) is one of the <em>last</em> steps I take and sometimes it isn&#8217;t even necessary at all. <strong>If your <acronym title="Cascading Style Sheets">CSS</acronym> is so large you think you need to compress it, then quite frankly, you&#8217;re not using <acronym title="Cascading Style Sheets">CSS</acronym> properly.</strong></p>
<p>It&#8217;s very, very rare that even large web sites&#8217; <acronym title="Cascading Style Sheets">CSS</acronym> files will ever get so big that they need compression if they are written properly the first time. (I&#8217;m talking like 25 kilobytes and up here, and even that&#8217;s not considered &ldquo;huge.&rdquo;) Why is this? Because good <acronym title="Cascading Style Sheets">CSS</acronym> should include a couple of distinct characteristics which cuts down on their size <em>dramatically</em>:</p>
<ul>
<li>High-level <acronym title="Document Object Model">DOM</acronym> selectors should be used to take advtange of <acronym title="Cascading Style Sheets">CSS</acronym> inheritance.</li>
<li>Duplicated and default-declaration rules should be omitted and grouped (as should selectors).</li>
<li>Shorthand properties and value replication should be utilized as often as possible.</li>
<li>Use the cascade to supply global rules for alternative styles and medias (screen, print, etc.).</li>
</ul>
<p>Finally, <strong><acronym title="Cascading Style Sheets">CSS</acronym> is cached</strong> (or should be). That means it&#8217;s only sent down the pipe on the first request for it, and using modularized <acronym title="Cascading Style Sheets">CSS</acronym> by following the above guidelines means you can re-use these cached files over and over again in many different ways <em>without using a touch more bandwidth</em>.</p>
<p>Thus, it is always a bad idea to rely on compression rather than to do things right the first time. (Band-aids don&#8217;t actually correct technological problems.) Thinking that it doesn&#8217;t matter how much code you write because you&#8217;re going to compress it anyway is foolish (though frighteningly common), and can cause serious problems later on in the course of maintaining and updating or redesigning a web site.</p>
<p>Furthermore, some of the main reasons some sites take so long to show up on a user&#8217;s display has very little to do with bandwidth. For instance:</p>
<ul>
<li>Complex tables will tax a user&#8217;s CPU by forcing the browser to perform many calculations to configure the table&#8217;s display area, slowing rendering speed.</li>
<li>To make matters worse, in many cases browsers can&#8217;t display any part of a table until the whole table has been processed. If your entire page is contained within one big table, then you&#8217;re going to make people wait for <em>the entire page</em> to finish being processed. (Ouch.)</li>
<li>On the same note, really long pages can quickly turn into usability nightmares for other reasons, as <a href="/maymaymedia/blog/archives/2005/03/11/css-target-relevance/" title="What you can do to help maintain a smooth browsing experience on your site.">users easily lose their initial context and relevance</a>, so it is advised to limit the vertical length of most web pages for usability as well as optimization reasons.</li>
<li>Page load time increases exponentially for each distinct object (like images, multi-media, even JavaScripts and style sheets) that you place on a page. Reducing the number of <acronym title="HyperText Transfer Protocol">HTTP</acronym> requests is far more important than compressing the content of <acronym title="HyperText Transfer Protocol">HTTP</acronym> transactions because a delay caused by network latency is indefinite.</li>
</ul>
<p>So what have we learned? If you&#8217;re <em>really</em> that concerned with the bandwidth your <acronym title="Cascading Style Sheets">CSS</acronym> (or <acronym title="HyperText Markup Language">HTML</acronym>) is eating up, I&#8217;m not going to tell you not to compress it, but I am going to tell you that you should probably be dealing with other, more pressing concerns. Let&#8217;s talk image optimization, for instance! That, however, is a discussion for another time.</p>
<p>The bottom line is that <acronym title="Cascading Style Sheets">CSS</acronym> was designed with bandwidth in mind. Using <acronym title="Cascading Style Sheets">CSS</acronym> intelligently drastically cuts your bandwidth use which saves you money and headaches because it reduces code bloat for both style sheets and <acronym title="HyperText Markup Language">HTML</acronym> files. <acronym title="HyperText Transfer Protocol">HTTP</acronym> compression is great and useful, but not as a band-aid to fix a problem it can&#8217;t solve.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2005/03/27/why-web-pages-need-not-be-compressed/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

