<?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>scriptNode &#187; philosophy</title>
	<atom:link href="http://scriptnode.com/tag/philosophy/feed/" rel="self" type="application/rss+xml" />
	<link>http://scriptnode.com</link>
	<description>Tips and tricks for web developers.</description>
	<lastBuildDate>Tue, 01 Sep 2009 18:46:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How Webdevs View Webpages</title>
		<link>http://scriptnode.com/article/how-webdevs-view-webpages/</link>
		<comments>http://scriptnode.com/article/how-webdevs-view-webpages/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 20:25:39 +0000</pubDate>
		<dc:creator>Matt Hackett</dc:creator>
				<category><![CDATA[Novice]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[philosophy]]></category>

		<guid isPermaLink="false">http://scriptnode.com/?p=194</guid>
		<description><![CDATA[
Web developers don&#8217;t usually browse the net like your average surfers. We will often view pages with a critical eye, tear them apart and see how they tick. I know I do. Sure, I&#8217;ve got periods when I&#8217;m lazy and just feel like surfing around or watching videos. But usually the engineer in me will [...]]]></description>
			<content:encoded><![CDATA[<p>
Web developers don&#8217;t usually browse the net like your average surfers. We will often view pages with a critical eye, tear them apart and see how they tick. I know I do. Sure, I&#8217;ve got periods when I&#8217;m lazy and just feel like surfing around or <a href="http://www.youtube.com/view_play_list?p=053E355639559255">watching videos</a>. But usually the engineer in me will take over and criticize a page when I first see it. Here&#8217;s what us webdevs do when we first see a webpage.
</p>
<ol>
<li><a href="#disable-styles">Disable Styles</a></li>
<li><a href="#view-source">View Source</a></li>
<li><a href="#favicon">Check the favicon</a></li>
<li><a href="#validate">Validate</a></li>
<li><a href="#firebug">Check Firebug</a></li>
<li><a href="#disable-javascript">Disable JavaScript</a></li>
<li><a href="#yslow">Run YSlow</a></li>
</ol>
<p>
<em><strong>Note:</strong> This article focuses on browsing with <a href="http://www.mozilla.com/en-US/firefox/">Firefox</a>, the browser &#8220;real&#8221; web developers use!</em>
</p>
<ol>
<li id="disable-styles">
<h3><a href="#disable-styles">Disable Styles</a></h3>
<p>
<img alt="CSS Zen Garden" class="after" src="/assets/img/css_zen_garden.gif"/><br />
The first thing I do when viewing a new webpage is hit <code><strong>ctrl</strong>+<strong>shift</strong>+<strong>s</strong></code> to disable styles and see a page in its design-free, <a href="http://naked.dustindiaz.com/">naked state</a>. What you <strong>should</strong> see after doing this is a really basic page with headers, text, and maybe some images. The Internet in its easiest-to-consume form, really. If nothing or very little changes, you know the page was <a href="http://delicious.com/richtaur/barf">developed incorrectly</a>.
</p>
<p>
Firefox added a keyboard shortcut (I believe in <a href="http://blog.mozilla.com/blog/2008/09/29/firefox-303-now-available-for-download/">version 3</a>) to map <code><strong>ctrl</strong>+<strong>shift</strong>+<strong>s</strong></code> to toggle the sidebar. I&#8217;m used to this shortcut disabling styles instead because I&#8217;ve been using the <a href="https://addons.mozilla.org/en-US/firefox/addon/60">Web Developer Toolbar</a> for a few years now. Thankfully, there&#8217;s the <a href="http://forums.mozillazine.org/viewtopic.php?t=72994">keyconfig add-on</a> to allow users to alter keyboard shortcuts to their liking.
</p>
</li>
<li id="view-source">
<h3><a href="#view-source">View Source</a></h3>
<p>
This one&#8217;s a given and can be <strong>very</strong> revealing. Hit <code><strong>ctrl</strong>+<strong>u</strong></code> to view source and open up a world of <a href="http://homestarrunner.com/">shame</a> or <a href="http://www.csszengarden.com/">glory</a>.
</p>
<p>
Viewing a page&#8217;s source reveals many things about the developer(s) responsible. It&#8217;s one thing to disable styles to see how well <a href="/tag/css/">separation of design and content</a> was practiced, and quite another to see how <a href="http://en.wikipedia.org/wiki/Semantic_Web">semantic</a> the page&#8217;s markup is (typical things to look for include headers in <code>&lt;h*&gt;</code> tags, paragraphs in <code>&lt;p&gt;</code> tags, and lists in their proper ordered or unordered tags).
</p>
<p>
It&#8217;s also pretty revealing when a developer tries his or her damnedest to get spacing and/or tabbing consistent in the markup. It takes a lot of effort and shows a real discipline for cleanliness and organization.
</p>
</li>
<li id="favicon">
<h3><a href="#favicon">Check the favicon</a></h3>
<p>
Having a <a href="http://en.wikipedia.org/wiki/Favicon">favicon</a> can be a pretty good indication of whether a site is <a href="http://encyclopediadramatica.com/index.php/The_Internet_Is_Serious_Business">serious business</a> or not. Web developers that are devoted to <a href="http://developer.yahoo.com/performance/rules.html#favicon">high performance</a> would shudder at the thought of pushing a site live without a favicon.
</p>
<p>
Other than the technical reasons, favicons have high visibility by showing up in your browser&#8217;s tabs, can have <a href="http://foohack.com/2008/06/hacking-the-google-favicon/">considerable branding benefits (or consequences)</a>, are <a href="http://gimp.org/">easy to make</a> and can be <a href="/article/weekly-round-up-week-of-71308/">really fun</a> or <a href="http://gaygeeks.org/">just adorable</a>. Why the hell not have one?
</p>
<p>
&#8230; Then again, even web standards evangelists like Yahoo! have some properties lacking favicons (<a href="http://profiles.yahoo.com/richtaur">Yahoo! Profiles</a> is guilty as of this writing; I have filed a bug), so not having one only says so much.
</p>
</li>
<li id="validate">
<h3><a href="#validate">Validate</a></h3>
<p>
This is one of my favorites. The <a href="http://validator.w3.org/">W3C Validator</a> is one of the most useful development tools I&#8217;ve ever had access to. Now, there has been much debate about whether making a page 100% valid has any value at all. The usual consensus is to remove obvious or easily fixed errors (like malformed tags), but not to put too many resources into validation just to be valid.
</p>
<p>
But it&#8217;s a pretty good indication of careless development when a page has hundreds of errors, especially when most of them are easily fixed. Honestly, I&#8217;d say a large majority of pages have errors, and that&#8217;s fine, but when a page is 100% valid, it shows that the developer(s) went that extra mile.
</p>
</li>
<li id="firebug">
<h3><a href="#firebug">Check Firebug</a></h3>
<p>
<img alt="Firebug" class="after" src="/assets/img/firebug.jpg"/><br />
Oh, <a href="http://getfirebug.com/">Firebug</a>, where were we without you? Typically I will glance at Firebug to see if there are any JavaScript errors and to see what <acronym title="XML HTTP Request">XHR</acronym> calls are getting sent off (mostly just out of curiosity). The JS errors can be pretty revealing, but overall Firebug is just a great development tool that really lets you look inside of a page.
</p>
<p>
As of Firebug 1.2, you <a href="http://code.google.com/p/fbug/source/browse/branches/firebug1.2/docs/ReleaseNotes_1.2.txt?r=1146">now have to add a site to its whitelist to enable it</a>, so I do this much less often than I used to. Oh well.
</p>
</li>
<li id="disable-javascript">
<h3><a href="#disable-javascript">Disable JavaScript</a></h3>
<p>
I only do this when I&#8217;m feeling overly critical or just hardcore. Maybe I simply love JavaScript too much, who knows? I don&#8217;t have a quick shortcut for this; instead, up in my toolbar I click <strong>Disable</strong> &gt; <strong>Disable JavaScript</strong> &gt; <strong>All JavaScript</strong>, and then releod the page. Often, this tells me nothing. But sometimes it tells me that the page isn&#8217;t as <a href="http://www.w3.org/WAI/">accessible</a> as it should be.
</p>
<p>
A good example is the current <a href="http://developer.yahoo.com/">Yahoo! Developer Network homepage</a>, which as of this writing doesn&#8217;t properly display its footer when JS disabled (see it <a href="/assets/img/ydn_js.jpg">with JS</a> and with <a href="/assets/img/ydn_no_js.jpg">JS disabled</a>). For shame!
</p>
</li>
<li id="yslow">
<h3><a href="#yslow">Run YSlow</a></h3>
<p>
<a href="http://developer.yahoo.com/yslow/">YSlow</a> is a fantastic tool that gives a letter grade to a page based on how well it follows <a href="http://developer.yahoo.com/performance/index.html#rules">Yahoo!&#8217;s high performance recommendations</a>. Again, this is only if I&#8217;m particularly bored or curious, and Firebug must be enabled so I very rarely do this. Getting a <strong>B</strong> or higher <a href="http://blog.dirtybeta.com/new-yslow-grade-a-93/">can be challenging</a>, so it&#8217;s a terrific indicator of developers that really care about a snappy user experience.
</p>
</li>
</ol>
<p>
These habits are pretty common among webdevs. Hopefully they come across as endearing instead of obsessive compulsive. Either way, they come in especially handy when looking for a <a href="http://www.idolhands.com/personal/obama-is-restful/">reason to praise</a> a site, or when wanting to <a href="/article/interview-questions-part-1-php/">scrutinize an applicant&#8217;s resume</a> sites.</p>
]]></content:encoded>
			<wfw:commentRss>http://scriptnode.com/article/how-webdevs-view-webpages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
