<?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>The Blog of Clint Andrew Hall</title>
	<atom:link href="http://www.clintandrewhall.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.clintandrewhall.com/blog</link>
	<description>Welcome to my corner of the web, where I post my ponderings, pictures and pontifications.</description>
	<lastBuildDate>Thu, 22 Oct 2009 22:07:36 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Contact Form Experiment</title>
		<link>http://www.clintandrewhall.com/blog/2009/10/contact-form-experiment/</link>
		<comments>http://www.clintandrewhall.com/blog/2009/10/contact-form-experiment/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 21:43:15 +0000</pubDate>
		<dc:creator>Clint</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://www.clintandrewhall.com/blog/?p=95</guid>
		<description><![CDATA[Yesterday, I saw this tweet from Smashing Magazine:
I took a look at the form, and I must say I was impressed too.  Unfortunately, I was using TweetDeck on my iPhone&#8230; as a result, I didn&#8217;t see the contact form at all because the background image didn&#8217;t load very fast.  That prompted me to post this [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I saw this tweet from Smashing Magazine:</p>
<div id="attachment_97" class="wp-caption alignnone" style="width: 614px"><img class="size-full wp-image-97" title="Tweet from Smashing Magazine" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2009/10/Screen-shot-2009-10-22-at-3.46.46-PM1.jpg" alt="Tweet from Smashing Magazine" width="604" height="97" /><p class="wp-caption-text">Tweet from Smashing Magazine</p></div>
<p>I took a look at the form, and I must say I was impressed too.  Unfortunately, I was using TweetDeck on my iPhone&#8230; as a result, I didn&#8217;t see the contact form at all because the background image didn&#8217;t load very fast.  That prompted me to post this reply:</p>
<div id="attachment_98" class="wp-caption alignnone" style="width: 614px"><img class="size-full wp-image-98" title="My Reply" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2009/10/Screen-shot-2009-10-22-at-3.52.34-PM.jpg" alt="My reply on Twitter" width="604" height="112" /><p class="wp-caption-text">My reply on Twitter</p></div>
<p>Being a social media junkie, this tweet was then cross-posted to my Facebook, prompting this reply from a web developer friend of mine:</p>
<div id="attachment_99" class="wp-caption alignnone" style="width: 499px"><img class="size-full wp-image-99" title="Resulting Facebook Conversation" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2009/10/facebook-convo.jpg" alt="...the resulting Facebook conversation." width="489" height="409" /><p class="wp-caption-text">...the resulting Facebook conversation.</p></div>
<p>As you can well imagine, I could not let this stand.  So I decided I would refactor the form to prove that, with a few tweaks to the CSS and markup, this form could avoid the problems I pointed out.</p>
<p><span id="more-95"></span>First, let me preface by saying that I am not saying the code is bad&#8230; on the contrary, I really like the concept.  I just want to:</p>
<ol>
<li>Dispel my friend&#8217;s poor logic, and</li>
<li>Raise awareness about accessibility.</li>
</ol>
<p>That said, I tried to minimize my changes to the original code as much as possible; there are certainly improvements that can be made to the CSS and to the markup, but that was not my goal.</p>
<p>For reference, here are the <a title="Before" href="http://www.clintandrewhall.com/demos/contact-form/before.html" target="_blank">before</a> and the <a title="After" href="http://www.clintandrewhall.com/demos/contact-form/after.html" target="_blank">after</a> demo pages.  I&#8217;d load them in separate tabs; you&#8217;ll see they are identical, almost to the pixel.  I&#8217;ve also added a scripted link to allow you to hide the background image.</p>
<h3>The Accessibility Problem</h3>
<p>First, let&#8217;s define the problem. In the existing CSS, the labels are completely hidden and the background is applied to the form.  As a result, here are screen shots of the contact form, with and without its background image, (notice the dotted lines for each form field):</p>
<div id="attachment_100" class="wp-caption alignleft" style="width: 393px"><img class="size-full wp-image-100   " title="Contact Form with Images On" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2009/10/Screen-shot-2009-10-22-at-3.40.53-PM.jpg" alt="The contact form with images on and fully loaded" width="383" height="400" /><p class="wp-caption-text">The contact form with images on and fully loaded</p></div>
<div id="attachment_101" class="wp-caption alignleft" style="width: 338px"><img class="size-full wp-image-101 " title="Contact Form with No Image" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2009/10/Screen-shot-2009-10-22-at-3.41.08-PM.jpg" alt="The contact form without the image loaded" width="328" height="400" /><p class="wp-caption-text">The contact form without the image loaded</p></div>
<p style="clear:both">
<p style="clear:both">Without the image, the form becomes unusable.  So how can we edit the HTML and style the form to avoid this?</p>
<h3>The Approach</h3>
<p>In short, we need to add labels to each field and have the image hide them if present.  This can be accomplished with z-indexing:</p>
<div id="attachment_103" class="wp-caption alignnone" style="width: 810px"><img class="size-full wp-image-103  " title="Approach Diagram" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2009/10/diagram.jpg" alt="A diagram of the layout" width="800" height="340" /><p class="wp-caption-text">A diagram of the layout</p></div>
<h3>The Solution</h3>
<p>First, I refactored the original form into something a bit more manageable, such as adding a fieldset element to the phone number, adding a header element and consolidating the label and input fields, (and thus removing the pesky &#8220;for&#8221; attribute):</p>
<pre><code>...
&lt;h3&gt;&lt;span&gt;Contact Form&lt;/span&gt;&lt;/h3&gt;
...
&lt;fieldset id="phone-el"&gt;
    &lt;legend&gt;&lt;span&gt;Phone&lt;/span&gt;&lt;/legend&gt;
    &lt;p id="phone-ac-el"&gt;
        &lt;label&gt;
            &lt;span&gt;Area Code&lt;/span&gt;
            &lt;input id="phone-ac" class="text" maxlength="3"
                name="phone-ac" size="3" type="text" /&gt;
        &lt;/label&gt;
    &lt;/p&gt;
...
</code></pre>
<p>Since the legend for the phone fieldset wasn&#8217;t being displayed, I decided I would forgo the addition of any empty element and just use it for the contact form.  A bit of positioning based on existing CSS and some negative text-indent and we were in business:</p>
<pre>body#contact #form legend span {
    background: url(res/contact-content.png) center top no-repeat;
    position: absolute;
    top: -199px;
    left: -180px;
    width: 750px;
    height: 786px;
    display: block;
    text-align: left;
    text-indent: -1000px;
    overflow: hidden;
    z-index: 50;
}</pre>
<h3>The Result</h3>
<p>Now, when the page loads and no images are present, the form looks like this:</p>
<div id="attachment_102" class="wp-caption alignnone" style="width: 314px"><img class="size-full wp-image-102 " title="My Refactor of the Contact Form" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2009/10/Screen-shot-2009-10-22-at-3.41.23-PM.jpg" alt="My refactor of the contact form without the image" width="304" height="400" /><p class="wp-caption-text">My refactor of the contact form without the image</p></div>
<p>With a few simple changes, the form is completely usable&#8230; bulletproof&#8230; regardless of the user&#8217;s situation.</p>
<h3>A Few Closing Remarks</h3>
<p>I hate the oft-uttered mantra of, &#8220;those folks aren&#8217;t in my demographic.&#8221;  That is a dangerous and amateur view of an audience for your website.  You should always be looking to make your forms as simple but as accessible as possible, because, frankly&#8230; your demographic is anyone with a web browser.  Discounting any percentage is not only a disadvantage for your business, but a disservice to all users.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clintandrewhall.com/blog/2009/10/contact-form-experiment/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New Window, No In-source Event</title>
		<link>http://www.clintandrewhall.com/blog/2009/10/new-window-no-in-source-event/</link>
		<comments>http://www.clintandrewhall.com/blog/2009/10/new-window-no-in-source-event/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 17:31:24 +0000</pubDate>
		<dc:creator>Clint</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Idea]]></category>

		<guid isPermaLink="false">http://www.clintandrewhall.com/blog/?p=88</guid>
		<description><![CDATA[I was prompted by this Twitter post to cross-post an old blog entry of mine.
Having JavaScript events in-source binds you to whatever JavaScript method (and it&#8217;s signature) you&#8217;ve specified, not to mention breaking the tenets of Progressive Enhancement.  When wishing to launch an anchor&#8217;s href into a new window while using a STRICT doctype, [...]]]></description>
			<content:encoded><![CDATA[<p><em>I was prompted by <a href="http://twitter.com/scriptandstyle/statuses/4605668102">this</a> Twitter post to cross-post an old blog entry of mine.</em></p>
<p>Having JavaScript events in-source binds you to whatever JavaScript method (and it&#8217;s signature) you&#8217;ve specified, not to mention breaking the tenets of Progressive Enhancement.  When wishing to launch an anchor&#8217;s <code>href</code> into a new window while using a <code>STRICT</code> doctype, using <code>window.popup</code> is the only real option, (as the <code>target</code> attribute is invalid in this case).  Looking at the <a title="W3C specification for Anchor Tags" href="http://www.w3.org/TR/html401/struct/links.html#h-12.2">W3C specification for anchors</a>, the following could be a solution.<br />
<span id="more-88"></span></p>
<h3>Problem Statement</h3>
<p>Recently, a navigation header in one of our solutions had a requirement that all links within its boundary needed to launch their content into a new window, thereby not disturbing any the current page.  Since the <code>target</code> attribute is not an option, this can be accomplished by the <code>window.popup</code> method, a fairly standard method within browsers.  This meant either the call itself would have to be embedded into the anchor, or a surrogate method.  In either case, JavaScript events would have to appear in source:<br />
<code><br />
&lt;a href="http://www.google.com" onclick="window.popup(this.href); return false;"&gt;Link 1&lt;/a&gt;<br />
&lt;a href="http://www.google.com" onclick="return MyNamespace.popup(this);"&gt;Link 2&lt;/a&gt;<br />
</code></p>
<h4>Problem: Obligations Introduced</h4>
<p>The trouble is that whenever script is included in source, it means that you are thereby <em>contractually bound</em> to offer the same method, with the same signature&#8230; regardless of circumstance.  To give a stronger example, suppose I have the following code:</p>
<pre><code>    &lt;div id="navigation"&gt;
        Some content
    &lt;/div&gt;
    &lt;script type="text/javascript"&gt;
        var myAccordion = new Accordion("navigation")
    &lt;/script&gt;
</code></pre>
<p>I am now bound by two things:</p>
<ol>
<li>I must include an <code>Accordion</code> object, even if I don&#8217;t need it or if I want to use a different object based on platform (e.g. iPhone).</li>
<li>I must provide the same API as the <code>Accordion</code> object, because there is a global var called <code>myAccordion</code>, which could be referenced elsewhere.</li>
</ol>
<p>I can still swap out the JavaScript files, but those files <em>must</em> have an object that meet these requirements.</p>
<h4>Solution: Progressive Enhancement through Abstraction</h4>
<p>It would be far easier if the same markup <em>externalized</em> these specifics and applied event handlers through script:</p>
<pre><code>    &lt;div id="navigation"&gt;
        Some content
    &lt;/div&gt;
    &lt;script type="text/javascript"&gt;
        MyNamespace.setup({
            navigation : "navigation"
        });
    &lt;/script&gt;
</code></pre>
<p>In this case, an API is defined within a generic namespace object called <code>MyNamepsace</code>.  The script block invokes <code>setup</code>, which takes (in this case, which may be overkill) a JSON structure defining the objects or parameters to be used in setup.</p>
<p>This kind of generic abstraction allows us to swap out not only the CSS but also the JavaScript depending on capability or browser.</p>
<h3>Proposed Solution: Using the <code>rel</code> Attribute</h3>
<p>In the spec, the <a href="http://www.w3.org/TR/html401/struct/links.html#adef-rel">rel</a> attribute is described as:</p>
<blockquote><p>This attribute describes the relationship from the current document to the anchor specified by the <a class="noxref" href="http://www.w3.org/TR/html401/struct/links.html#adef-href"><samp class="ainst">href</samp></a> attribute. The value of this attribute is a space-separated list of link types.</p></blockquote>
<p>The spec also says that the value of the <code>rel</code> attribute should be one or more of a set of <code>link-types</code>, but this portion of the spec states:</p>
<blockquote><p>Authors may wish to define <span class="index-inst" title="link  type::profiles for new"><a name="idx-link_type-2">additional link types</a></span> not described in this specification. If they do so, they should use a <a href="http://www.w3.org/TR/html401/struct/global.html#profiles">profile</a> to cite the conventions used to define the link types. Please see the <a class="noxref" href="http://www.w3.org/TR/html401/struct/global.html#adef-profile"><samp class="ainst"> profile</samp></a> attribute of the <a class="noxref" href="http://www.w3.org/TR/html401/struct/global.html#edef-HEAD"><samp class="einst">HEAD</samp></a> element for more details.</p></blockquote>
<h3>The Proposal</h3>
<p>Since the goal is to use JavaScript to &#8220;pop&#8221; the new window, we need to identify which anchors &#8220;pop&#8221; their content to a new window, leaving the current document intact.  By creating a <code>rel</code> attribute that specifies this, along with the necessary profile, JavaScript methods could distinguish those anchors from other anchors, thus allowing the popup event handlers to be applied.</p>
<h4>Creating a new profile</h4>
<p>In order to create a new link type, we need<sup>[<a href="#ref1">1</a>]</sup> to create<sup>[<a href="#ref2">2</a>]</sup> a profile.</p>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
&lt;head&gt;
    &lt;title&gt;Cerner XHTML Profile&lt;/title&gt;
    &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;dl class="profile"&gt;
    &lt;dt id="rel"&gt;rel&lt;/dt&gt;
    &lt;dd&gt;
        &lt;dl&gt;
            &lt;dt id="forked"&gt;forked&lt;/dt&gt;
            &lt;dd&gt;
                Refers to a location that should be, if possible, launched
                into a new window or process without disturbing the
                current page or content.
            &lt;/dd&gt;
        &lt;/dl&gt;
    &lt;/dd&gt;
&lt;/dl&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<h4>Using the Profile</h4>
<p>Then, we would use the new link-type defined in the profile for any anchor we&#8217;d want &#8220;popped&#8221; into a new window, (or, indeed, whatever other action we choose, based on platform).</p>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
&lt;head profile="http://deploymentserver/contextroot/profile.html"&gt;
.
.
.
&lt;ul id="links"&gt;
    &lt;li&gt;&lt;a href="http://www.cerner.com/" rel="forked"&gt;Launch Cerner.com&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.google.com/"&gt;Go to Google.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
.
.
.
&lt;script type="text/javascript"&gt;
    // Example script; should be namespaced, etc.
    var list = document.getElementById("links"), list.getElementsByTagName("A"),
        event = function() {
            // Process the event for the link, (e.g. popup, alert, redirect, etc).
            alert("Forked page.");
        };

    for(var i = 0; i &lt; links.length; i++) {
        var link = links[i], rel = link.rel;

        if(rel.length &lt;= 0) {
            continue;
        }

        var rels = rel.split(" ");

        for(var a = 0; a &lt; rels.length; a++) {
            var l = rels[a];

            if(l == "forked")) {
                link.onclick = function() {
                    return false;
                };
                // Use my established attachEvent method; it has an EventCache
                // to avoid memory leaks, etc, but is beyond the scope of this post.
                Util.attachEvent(link, "click", event);
                continue;
            };
        }
    }
&lt;/script&gt;</pre>
<h3>References</h3>
<ol>
<li>W3C, <a href="http://www.w3.org/TR/html401/types.html#type-links"><code>link-type</code> Specification</a></li>
<li>Tantek Çelik, <a href="http://gmpg.org/xmdp/">XHTML Meta Data Profiles</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.clintandrewhall.com/blog/2009/10/new-window-no-in-source-event/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Elements in JavaScript, (any good?)</title>
		<link>http://www.clintandrewhall.com/blog/2009/03/creating-elements-in-javascript-any-good/</link>
		<comments>http://www.clintandrewhall.com/blog/2009/03/creating-elements-in-javascript-any-good/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 21:50:05 +0000</pubDate>
		<dc:creator>Clint</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Idea]]></category>

		<guid isPermaLink="false">http://www.clintandrewhall.com/blog/?p=76</guid>
		<description><![CDATA[I&#8217;ve been playing around with a couple of ideas for JavaScript methods, thought I&#8217;d get some feedback.
The following link is a code snippet in PasteBin that shows the methods and a quick test:
http://pastebin.com/f7b68ab19
Basically, the two I wrote and that I&#8217;m evaluating are:

Create Element
This method caches a created element instance in an array.  In some [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around with a couple of ideas for JavaScript methods, thought I&#8217;d get some feedback.</p>
<p>The following link is a code snippet in PasteBin that shows the methods and a quick test:</p>
<p><a title="PasteBin Code Snippet" href="http://pastebin.com/f7b68ab19">http://pastebin.com/f7b68ab19</a></p>
<p>Basically, the two I wrote and that I&#8217;m evaluating are:</p>
<dl>
<dt>Create Element</dt>
<dd>This method caches a created element instance in an array.  In some browsers, like Firefox, this method is marginally faster; I&#8217;m thinking the array access is hindering it from being even faster.</dd>
<dt>Create Element with Properties</dt>
<dd>This method basically allows you to set attributes using a JSON object. Nothing fancy, but the developers like it. I&#8217;m concerned about the speed of the loop, and developers have been asking about how to set the runtime style.  Since <code>element.style</code> is, of course, not settable, I&#8217;d have to either expose a second parameter, or allow a more complex object and write more logic, (assuming I decide to support it).
</dd>
</dl>
<p>I&#8217;d love some advice&#8230; here&#8217;s what I don&#8217;t want:</p>
<blockquote><p>Just use jQuery / Prototype / my framework!</p></blockquote>
<p>That kind of defeats the purpose of this exercise! <img src='http://www.clintandrewhall.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.clintandrewhall.com/blog/2009/03/creating-elements-in-javascript-any-good/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Run Safari 3 and Safari 4 beta on the same Mac</title>
		<link>http://www.clintandrewhall.com/blog/2009/03/run-safari-3-and-safari-4-beta-on-the-same-mac/</link>
		<comments>http://www.clintandrewhall.com/blog/2009/03/run-safari-3-and-safari-4-beta-on-the-same-mac/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 08:21:25 +0000</pubDate>
		<dc:creator>Clint</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://www.clintandrewhall.com/blog/?p=63</guid>
		<description><![CDATA[I couldn&#8217;t find a blog post or comprehensive tutorial anywhere, but after a great deal of trial and error, I&#8217;ve managed to get Safari 3 and Safari 4 beta to run on my Macbook Pro at the same time. Most insisted you have to download WebKit&#8230; but you don&#8217;t.
It&#8217;s much easier than that, once you figure [...]]]></description>
			<content:encoded><![CDATA[<p>I couldn&#8217;t find a blog post or comprehensive tutorial anywhere, but after a great deal of trial and error, I&#8217;ve managed to get Safari 3 and Safari 4 beta to run on my Macbook Pro at the same time. Most insisted you have to download WebKit&#8230; but you don&#8217;t.</p>
<p>It&#8217;s much easier than that, once you figure it all out&#8230; here&#8217;s how to do it!</p>
<p><a href="http://twitpic.com/1slq9"><img class="alignnone size-medium wp-image-66" title="Screenshot: Safari 3 and Safari 4 beta, side-by-side" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2009/03/picture-2-300x173.jpg" alt="Screenshot: Safari 3 and Safari 4 beta, side-by-side" width="300" height="173" /></a></p>
<p><span id="more-63"></span></p>
<p>I scoured the Internet, searching for a way to do this&#8230; I ended up referring to more websites than I can remember, mostly from the Safari 3 beta period.  A couple of approaches out there required downloading a copy of WebKit, but I couldn&#8217;t get this to work effectively.  I took a lot from <a href="http://michelf.com/">Michel Fortin</a> and <a href="http://michelf.com/weblog/2005/multi-safari/">his post</a> of the subject. Although his solution didn&#8217;t get me all the way there, a lot of Google searching and web board posts did.</p>
<p>Basically, the trouble is that Apple stores the common WebKit framework for the entire Mac.  Even if you copy Safari 3 somewhere to your machine, it will still use the newer WebKit layout engine.  The trick, then, is to provide the older framework to the older Safari instance.  What&#8217;s nice about this approach is you&#8217;re just &#8220;restoring&#8221; Safari 3 and giving it the older versions of the Frameworks it relied on&#8230; no extra WebKit stuff to worry about.</p>
<p>Here&#8217;s how to do it:</p>
<ol>
<li>Install the Safari 4 beta.  Don&#8217;t worry; Safari 4 saves a copy of your Safari 3 install to an archive.</li>
<li>Go to <code>/Library/Application Support/Apple</code></li>
<li>Extract <code>.Safari4PreviewArchive.tar.gz</code> somewhere, like your Desktop.</li>
<li>The <code>Applications</code> directory contains your Safari application; the <code>System</code> directory contains the older frameworks, like WebKit.</li>
<li>Right-click the Safari application and select Show Contents.</li>
<li>Copy the <code>Frameworks</code>, <code>LaunchAgents</code> and <code>PrivateFrameworks</code> directories from the <code>System/Library</code> directory of the expanded archive to the <code>Contents</code> directory of the Safari application.</li>
<li>Edit <code>Info.plist</code> from the <code>Contents</code> directory in a simple text editor.</li>
<li>Add the following XML snippet beneath the parent &lt;dict&gt; element:</li>
</ol>
<p><code class="block">&lt;key&gt;LSEnvironment&lt;/key&gt;<br />
&lt;dict&gt;<br />
&lt;key&gt;DYLD_FRAMEWORK_PATH&lt;/key&gt;<br />
&lt;string&gt;Contents/Frameworks:Contents/PrivateFrameworks:Contents/Frameworks/WebKit.framework/Versions/A/Frameworks&lt;/string&gt;<br />
&lt;key&gt;WEBKIT_UNSET_DYLD_FRAMEWORK_PATH&lt;/key&gt;<br />
&lt;string&gt;YES&lt;/string&gt;<br />
&lt;/dict&gt;</code></p>
<p>That should do it!  You should now be able to run Safari 3 side-by-side with Safari 4.  If anyone knows a good file share site, I&#8217;ll be happy to post a ZIP of my version.  Hope this helps!</p>
<p>UPDATE: I&#8217;ve uploaded my Safari 3 standalone <a href="http://www.4shared.com/file/94783783/d1a5a4ed/Safari_3_-_Standalone_-_Mac.html">here</a>.</p>
<p>Disclaimer: This is the result of obvious tinkering. I may have torn the fabric of space-time somewhere, and you could make it worse. Considering this possibility, I can&#8217;t imagine being held responsible if something merely goes wrong with your computer&#8230; use at your own risk. <img src='http://www.clintandrewhall.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.clintandrewhall.com/blog/2009/03/run-safari-3-and-safari-4-beta-on-the-same-mac/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>It&#8217;s BACK!</title>
		<link>http://www.clintandrewhall.com/blog/2009/01/its-back/</link>
		<comments>http://www.clintandrewhall.com/blog/2009/01/its-back/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 21:27:39 +0000</pubDate>
		<dc:creator>Clint</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://www.clintandrewhall.com/blog/?p=49</guid>
		<description><![CDATA[After a great deal of effort, blog is back&#8230; I&#8217;ve lost a number of posts, though, as well as my custom WordPress skin.  I&#8217;ve also lost all of my non-database-stored work, (e.g. post images, whitepapers, etc).  I&#8217;ll keep you posted as to when I&#8217;m back in business.
What a pain in the ass.
]]></description>
			<content:encoded><![CDATA[<p>After a great deal of effort, blog is back&#8230; I&#8217;ve lost a number of posts, though, as well as my custom WordPress skin.  I&#8217;ve also lost all of my non-database-stored work, (e.g. post images, whitepapers, etc).  I&#8217;ll keep you posted as to when I&#8217;m back in business.</p>
<p>What a pain in the ass.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clintandrewhall.com/blog/2009/01/its-back/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>They let ANYONE drive these days&#8230;</title>
		<link>http://www.clintandrewhall.com/blog/2008/01/they-let-anyone-drive-these-days/</link>
		<comments>http://www.clintandrewhall.com/blog/2008/01/they-let-anyone-drive-these-days/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 06:02:45 +0000</pubDate>
		<dc:creator>Clint</dc:creator>
				<category><![CDATA[Art & Photography]]></category>

		<guid isPermaLink="false">http://www.clintandrewhall.com/blog/2008/01/they-let-anyone-drive-these-days/</guid>
		<description><![CDATA[This&#8230; guy&#8230; gave me a double-take as he was waiting at the Winstead&#8217;s on the Plaza.&#160; Thankfully I had my camera and could stop laughing long enough to take several pictures:
 

 







]]></description>
			<content:encoded><![CDATA[<p>This&#8230; guy&#8230; gave me a double-take as he was waiting at the Winstead&#8217;s on the Plaza.&#160; Thankfully I had my camera and could stop laughing long enough to take several pictures:</p>
<p style="text-align: center"><a href="http://www.clintandrewhall.com/blog/wp-content/uploads/2008/01/IMG_1961.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="286" alt="IMG_1961" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2008/01/IMG_1961_thumb.jpg" width="420" border="0" /></a> </p>
<p><span id="more-45"></span></p>
<p style="text-align: center"><a href="http://www.clintandrewhall.com/blog/wp-content/uploads/2008/01/IMG_1958.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="285" alt="IMG_1958" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2008/01/IMG_1958_thumb.jpg" width="420" border="0" /></a> </p>
<p style="text-align: center"><a href="http://www.clintandrewhall.com/blog/wp-content/uploads/2008/01/IMG_1962.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="285" alt="IMG_1962" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2008/01/IMG_1962_thumb.jpg" width="420" border="0" /></a></p>
<p><!--1da825a36d9a3f1e9ab4d8ceb678375f-->
<p><!--27a613125316e9fc09e601dd78ea0448-->
<p>
<p><!--2183b983c4feba36472e178576112388-->
</p>
<p><!--f6529140193ac726574cf8eeff9a0d61--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.clintandrewhall.com/blog/2008/01/they-let-anyone-drive-these-days/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Open Letter to a Car Thief</title>
		<link>http://www.clintandrewhall.com/blog/2008/01/an-open-letter-to-a-car-thief/</link>
		<comments>http://www.clintandrewhall.com/blog/2008/01/an-open-letter-to-a-car-thief/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 12:46:06 +0000</pubDate>
		<dc:creator>Clint</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.clintandrewhall.com/blog/2008/01/an-open-letter-to-a-car-thief/</guid>
		<description><![CDATA[Someone broke into my car... a really ignorant person, who stole things you can't even pawn.]]></description>
			<content:encoded><![CDATA[</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 15px 0px 0px; border-right-width: 0px" height="170" alt="CIMG0851" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2008/01/CIMG0851.jpg" width="220" align="left" border="0" /> Dear Ignorant Ass,</p>
<p>So last night you scaled a six foot fence and broke into my car.&#160; I suppose I could congratulate you on the extent of the bounty resulting from your daring raid, but the problem is&#8230; you probably don&#8217;t know how to use half the stuff you carted off.</p>
<p><span id="more-44"></span></p>
<p>I&#8217;m not really sure how you decided that there was a car worth breaking into on the other side of my fence; we all get lucky.&#160; But let me see if I have this right:&#160; You&#8230;</p>
<ol>
<li>Roamed the city, in the rain, looking for loot to plunder;</li>
<li>Climbed a six foot fence between an old woman&#8217;s house and my building; </li>
<li>Landed in a muddy patch behind a rolling dumpster; </li>
<li>Ran, (perhaps, <em>skulked?</em>) across my lit parking lot; </li>
<li>Inserted a screwdriver into the channel of my window; </li>
<li>Lifted forcibly, thus shattering it into a jillion pieces without setting off the alarm; </li>
<li>Traipsed mud across my seat as you clambered in; </li>
<li>Began to toss my belongings around like tissue paper. </li>
</ol>
<p>In all, you stole:</p>
<ul>
<li>Two leather jackets</li>
<li>$30 cash (my emergency gas money)</li>
<li>24 port Ethernet switch</li>
<li>Charging cables for my phone (which wasn&#8217;t there)</li>
<li>Bluetooth speaker phone</li>
<li>A Cerner-specific device (which I really needed you <em>not</em> to steal)</li>
</ul>
<p>Forgive my foolishness; I thought my car would be safe from people like you behind a fence.&#160; I know better now.&#160; But, I must ask: do you have any idea how to use even half of the items you stole?&#160; The Cerner device is locked, the Bluetooth speakerphone has a pairing code, the charging cables are worthless without the devices, and&#8230; do you even know what a 24 port Ethernet switch DOES?!?</p>
<p>You ignorant waste of my time and space.&#160; Next time, knock on my door&#8230; I&#8217;ll give you the $200 it costs me to replace my window.</p>
<p><!--abf8609d6a37fb7910f5a4c9fb5002dc-->
</p>
<p><!--ff798f115a340943a01ac8d100c0a2f0--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.clintandrewhall.com/blog/2008/01/an-open-letter-to-a-car-thief/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introducing Shandy</title>
		<link>http://www.clintandrewhall.com/blog/2008/01/shandy/</link>
		<comments>http://www.clintandrewhall.com/blog/2008/01/shandy/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 18:19:59 +0000</pubDate>
		<dc:creator>Clint</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.clintandrewhall.com/blog/2008/01/heeeeeres-shandy/</guid>
		<description><![CDATA[I&#8217;m a sucker.
I was driving to work Friday morning, when I stopped to take a left turn at Gillham and Rockhill. A black puppy was romping around a the top of the hill near the park, and as I came to stop, she ran up to, and then beneath, my car.
To make sure I didn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p><strong>I&#8217;m a sucker.</strong></p>
<p>I was driving to work Friday morning, when I stopped to take a left turn at Gillham and Rockhill. A black puppy was romping around a the top of the hill near the park, and as I came to stop, she ran up to, and then beneath, my car.</p>
<p>To make sure I didn&#8217;t run her over as I pulled away, I opened my car door to look underneath&#8230;</p>
<p>&#8230; and she jumped in.</p>
<p>She was very dirty, smelled terrible and was shaking from head to toe. So there I was: driving a manual car with a confused, scared puppy, trying to determine what to do. I couldn&#8217;t just toss her out of my car; it was freezing out. At the same time, I couldn&#8217;t just take her home&#8230; she was a stray. So, I did what first occurred to me:</p>
<p><strong>I called 411 for the nearest vet&#8217;s office.</strong></p>
<p>Turned out she had been out for a couple of days, by the vet&#8217;s estimation. They gave her a bath, trimmed her nails and wormed her. She&#8217;s delightful, and takes well to discipline.  The name that has stuck is &#8220;Shandy,&#8221; one of my favorite Guinness drinks.</p>
<p><a title="Gillham and Rockhill" href="http://maps.google.com/maps/ms?ie=UTF8&#038;msa=0&#038;msid=107230864923022938793.000443b2744dc33b2d429&#038;ll=39.046877,-94.578847&#038;spn=0.001958,0.003728&#038;t=h&#038;z=18&#038;om=1&#038;mid=1200333919" target="_blank">This</a> is where I found her, and <a title="Pictures of Shandy" href="http://picasaweb.google.com/clintandrewhall/Shandy" target="_blank">here</a> are some fun pictures:</p>
<table width="194">
<tr>
<td style="background: url('http://picasaweb.google.com/f/img/transparent_album_background.gif'); height: 194px" align="center"><a href="http://picasaweb.google.com/clintandrewhall/Shandy"><img style="margin: 1px 0px 0px 4px" height="160" src="http://lh5.google.com/clintandrewhall/R4ucKsjkp7E/AAAAAAAAERI/PkMI9QffB-Y/s160-c/Shandy.jpg" width="160" /></a></td>
</tr>
<tr>
<td style="font-size: 11px; font-family: arial,sans-serif; text-align: center"><a style="font-weight: bold; color: #4d4d4d; text-decoration: none" href="http://picasaweb.google.com/clintandrewhall/Shandy">Shandy</a></td>
</tr>
</table>
<p>Yet, no matter how adorable she is, and how much I may want to keep her, I&#8217;m posting flyers later today around the area&#8230; if she does have a home that misses her, I&#8217;m going to be returning a happy, healthy puppy to them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clintandrewhall.com/blog/2008/01/shandy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PSD2HTML: Terrible Pricing for Web Development</title>
		<link>http://www.clintandrewhall.com/blog/2008/01/a-terrible-pricing-model-for-web-development/</link>
		<comments>http://www.clintandrewhall.com/blog/2008/01/a-terrible-pricing-model-for-web-development/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 06:07:35 +0000</pubDate>
		<dc:creator>Clint</dc:creator>
				<category><![CDATA[Art & Photography]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Follow-up]]></category>
		<category><![CDATA[Industry]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Site News]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.clintandrewhall.com/blog/2008/01/insane-stupid-pricing-model-for-web-development/</guid>
		<description><![CDATA[I was absolutely disgusted by the pricing strategy at PSD2Web.  Here are a few examples, and an explanation as to why the practice feels shady.]]></description>
			<content:encoded><![CDATA[<p>Ok, <a title="psd2html - Order Now! (I pity you)" href="http://www.psd2html.com/order-now.html" target="_blank">this</a> <em>really</em> bothered me.</p>
<p>I was directed to a <a title="CSS Zen Garden" href="http://www.csszengarden.com" target="_blank">CSSZenGarden</a> <a title="CSS Zen Garden design by Outline2Design" href="http://www.outline2design.com/-images/css/1-1.jpg" target="_blank">design</a> created by <a title="Outline2Design Home" href="http://www.outline2design.com/" target="_blank">Outline2Design</a> that is rather beautiful&#8230; I was really impressed, so I looked at their homepage.</p>
<p>Their designs are extremely artistic, and valid XHTML, so I was even more impressed; I wanted to know more about their work and where they manage an office, (mostly to determine if they were a small shop, a front for a larger shop or just &#8220;a person.&#8221;)  I noticed a copyright link to <a title="Zertle.com" href="http://www.zertle.com/" target="_blank">Zertle, LLC</a>.  Clicking <em>that</em>, I saw that Zertle owns two shop fronts, Outline2Design and <a title="PSD2HTML" href="http://www.psd2html.com/" target="_blank">PSD2HTML</a>.</p>
<p>That&#8217;s when I was absolutely disgusted by the pricing strategy at PSD2HTML.</p>
<p><span id="more-42"></span></p>
<h4>Deciding How to Charge is Hard</h4>
<p>I realize it&#8217;s difficult to decide how to price web work; I&#8217;ve had that problem before. You kind of have to divide the effort into the creative and the technical &#8211; creating HTML, (at least, in <em>my </em>opinion) is the easiest of the two. Creating a brand identity and graphical assets are far more subjective tasks, therefore requiring much more work.</p>
<p>Converting a design to HTML, however, is much easier. You can almost feel how the document flows. Sure, there are elegant and thought-provoking approaches to noodle through, and reusability and accessibility concerns&#8230; but the process goes <em>very</em> quickly. Oftentimes, you use tools from your toolbox, like <a title="Microformats" href="http://www.microformats.org/" target="_blank">Microformats</a> or common libraries.</p>
<p>At Cerner, when I&#8217;m handed a design, it takes me roughly two hours per layout to complete, less if the following location follows a cohesive style, (and they do). So this company promises an 8 hour turnaround time, which I think is respectful, if not aggressive if they have a large workload.</p>
<p>What I find appalling is their package rates and &#8220;options.&#8221;</p>
<h4>You Want to Charge Me For WHAT?!?</h4>
<p>Here are a few examples, and an explanation as to why they are shady&#8230; I mean, &#8220;Used-car Salesman&#8221; shady. Throughout the following examples, I&#8217;m going to draw an analogy to <strong>someone coming to paint your house</strong>: you know what color you want, and how you want textures to look, but you don&#8217;t really have the time, nor the expertise, to paint it yourself.</p>
<h4>How Good a Job are You Willing to Pay For?</h4>
<p>Ok, we&#8217;re all set to start. Pick a package and price range for them to convert your image into a web page.</p>
<div class="figure"><img class="alignnone size-full wp-image-57" title="So... do you want your page done professionally or not?" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2008/01/psd2html1.jpg" alt="PSD2HTML - Screenshot 1" width="525" height="173" /></p>
<p class="credit">Screenshot from <a title="Order Now at PSD2HTML.com" href="http://www.psd2html.com/order-now.html" target="_blank">PSD2HTML.com</a></p>
<p class="caption"><em class="title">Figure 1</em> &#8211; So&#8230; do you want your page done <em>professionally</em> or <em>not</em>?</p>
</div>
<p>Asking someone to quantify exactly how professional they want their page is like asking if they&#8217;re willing to pay <em>more</em> to get things that a professional should already <em>do</em>. You&#8217;re telling me you <em>won&#8217;t</em> &#8220;pay special attention to Load Speed&#8221; if I <em>don&#8217;t</em> shell out the extra hundred?</p>
<p>The trouble is, someone who doesn&#8217;t really understand the web may not understand what they&#8217;re paying for&#8230; besides, the developer should do this <em>anyway</em>.</p>
<blockquote><p>The painters show up with the crew, the paint and the brushes. They&#8217;re ready to paint your house, but before they start, they ask:</p>
<p>&#8220;Do you want us to tape off non-painted surfaces?  Then you&#8217;ll want our <em>Professional Painter&#8217;s Package</em>. Do you want us to avoid getting paint splatters on your concrete and bushes?  In that case, you&#8217;ll need to upgrade to our <em>Hi-End Painter&#8217;s Package</em>. You see, it&#8217;s all about what you&#8217;re willing to spend.&#8221;</p></blockquote>
<p>These aren&#8217;t options: they&#8217;re the <strong>mark of a professional job</strong>.  Cross-browser compatibility, Search Engine Optimization, semantic code, prez-layer separation&#8230; these are professional, industry standards. You could get away with asking for more time, but more money?!? C&#8217;mon&#8230;</p>
<h4>Flex Your CSS Muscles</h4>
<p>This one, I kind of understand.</p>
<div class="figure">
<p><img class="size-full wp-image-58 alignnone" title="To Flex... or not to Flex.  Well, that's gonna cost ya." src="http://www.clintandrewhall.com/blog/wp-content/uploads/2008/01/psd2html2.jpg" alt="To Flex... or not to Flex? That's gonna cost ya." width="521" height="169" /></p>
<p class="credit">Screenshot from <a title="Order Now at PSD2HTML.com" href="http://www.psd2html.com/order-now.html" target="_blank">PSD2HTML.com</a></p>
<p class="caption"><em class="title">Figure 2</em> &#8211; To Flex&#8230; or <em>not</em> to Flex.  Well, that&#8217;s gonna cost ya.</p>
</div>
<p>Flexible, or &#8220;fluid&#8221; layouts can be difficult, depending on the style.  You have to decide the widths of each column, how text wraps, and even when items start to drop.  Again, asking for more time is one thing, almost expected&#8230; charging more, I could almost condone.</p>
<p>But isn&#8217;t this on a case-by-case basis?  Don&#8217;t you have to ask some directed, consultative questions about intent and purpose?  And how did you arrive at $29?  It just seems nonsensical to me.</p>
<blockquote><p>After shelling out more cash, your painting crew has another question:</p>
<p>&#8220;Would you like us to hand-paint your house, or can we go ahead and use our sprayers for the larger walls?  You see, when we got your address, we weren&#8217;t sure about the texture or composition of your walls, so we can&#8217;t tell you right now without looking which would be <em>better</em>, per-se&#8230; but we&#8217;ll knock $20 off if you let us spray.&#8221;</p></blockquote>
<p>Maybe they&#8217;re encouraging a fixed width by offering a $29 discount?  At any rate, it&#8217;s a client call, and I just don&#8217;t think it can be programmatically determined.</p>
<p>Moving on&#8230; because the next one is <em>my favorite</em>.</p>
<h4>Nickels and Dimes Add Up to Big Bucks</h4>
<p>I&#8217;m curious about <em>Advanced Markup Options</em>.</p>
<div class="figure">
<p><img class="size-full wp-image-59 alignnone" title="Opera and Safari need advanced markup... duh!" src="http://www.clintandrewhall.com/blog/wp-content/uploads/2008/01/psd2html3.jpg" alt="Opera and Safari need advanced markup... duh!" width="518" height="351" /></p>
<p class="credit">Screenshot from <a title="Order Noew at PSD2HTML.com" href="http://www.psd2html.com/order-now.html" target="_blank">PSD2HTML.com</a></p>
<p class="caption"><em class="title">Figure 3</em> &#8211; Opera and Safari qualify as &#8220;advanced markup?&#8221;</p>
</div>
<p>&#8220;This option gives you the guarantee&#8230;&#8221;  Are you <strong>kidding me</strong>?</p>
<p>You know, in my office, hack-less cross-browser compatibility is a point of pride.  Sometimes, when we do a demo, we like to give the people in the room the choice of which browser we use to demo&#8230; no-holds-barred.  We also give the option of a JavaScript-disabled or CSS-disabled configuration.  It&#8217;s cool to be challenged, to be able to show our stakeholders that no mainstream browser was ignored, no detail was overlooked.</p>
<blockquote><p>&#8220;I&#8217;m sorry, but which side of your house faces the most people?  I mean, people who live <em>next door to the east </em>can&#8217;t really <em>see</em> the house wall&#8230; their window on that side is pretty tiny.  And most people don&#8217;t drive east on the street, so most wouldn&#8217;t see the east side.&#8221;</p>
<p>&#8220;Oh&#8230; and should we avoid painting the exterior window fixtures?&#8221;</p></blockquote>
<p>To ask a client to pay <em>more</em> for cross-browser compatibility, or to offer a discount to let it slide, encourages the very attitudes web professionals hate: <strong>that only the majority matters</strong>&#8230; that it&#8217;s too hard to code (and test) for 99.9%.  That attitude is what allows Microsoft to continue including proprietary features, (and oftentimes, <em>tolerating omissions</em>): they&#8217;re the majority, make your site work in their browser.  It&#8217;s unacceptable for a professional web shop to <em>not</em> work in these browsers out-of-the-box.</p>
<p>And, I&#8217;m sorry&#8230; but $4 for rollovers?!?  Are CSS hover implementations been deemed hard enough that the code to create them is worth $4?  Are you telling me I have to pay you the equivalent of your morning <a title="Do you realize how many calories that is?" href="http://www.starbucks.com/retail/nutrition_beverage_detail.asp?selProducts=%7B4FD49A71%2DA5C8%2D4580%2D8F6E%2D3C81697B3172%7D&amp;strAction=GETDEFAULT" target="_blank">Starbucks Latte</a> for the effort?</p>
<p>The following, though&#8230; is unacceptable.  That&#8217;s all I&#8217;ll say:</p>
<div class="figure">
<p><img class="size-full wp-image-60 alignnone" title="I said it's unacceptable." src="http://www.clintandrewhall.com/blog/wp-content/uploads/2008/01/psd2html4.jpg" alt="I said it's unacceptable." width="511" height="435" /></p>
<p class="credit">Screenshot from <a title="Order Noew at PSD2HTML.com" href="http://www.psd2html.com/order-now.html" target="_blank">PSD2HTML.com</a></p>
<p class="caption"><em class="title">Figure 4</em> &#8211; <em>Unacceptable</em></p>
</div>
<p>What else can I say?</p>
<h4>Damn, I&#8217;m Sorry, but&#8230;</h4>
<p>I don&#8217;t mean to pick on these guys; I don&#8217;t know them from Adam.  They&#8217;ve obviously put some thought into how they&#8217;re to be paid for their work.  But the strategy is flawed: <strong>what they&#8217;re charging <em>more</em> for should just be <em>included</em>.</strong> They should just state the job will cost between $150 and $300, depending.  As I&#8217;ve pointed out, they have more questions to ask once they get the design anyway.</p>
<p>Will they change their pricing &#8220;menu&#8221; because of this post: <strong><span style="text-decoration: line-through;">probably</span> of course not</strong>. But then again, I don&#8217;t know how much of a market there is here.  Most web professionals like to be in control of the design.</p>
<p>For someone like me, I&#8217;d love it if the client provided me the visual they want; I suck at drawing.  But even if they did, I would still consult with them and provide them with a quality product that another web professional would be able to edit&#8230;</p>
<p>&#8230; but more importantly, <strong>respect</strong>.</p>
<p><!--729ef4f8275bd7c62c1b347278bba2c6--></p>
<p><!--34e1df0dcf8d027c2b9cfbf74350fb0c--></p>
<p><!--45bf942dd64a2725aebd12a05f3553e8--></p>
<p><!--7e898bf61633999ad079d07eb6915fb7--></p>
<p><!--da46bf9bb05bcc566205db76eabe8e37--></p>
<p><!--734a06c91b356004f0b6317d297e527e--></p>
<p><!--363cfb5d24b17c2e90cb02664f51e96a--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.clintandrewhall.com/blog/2008/01/a-terrible-pricing-model-for-web-development/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>[PIC] iPhone Launch Security in Kansas City (funny)</title>
		<link>http://www.clintandrewhall.com/blog/2007/06/pic-iphone-launch-security-in-kansas-city-funny/</link>
		<comments>http://www.clintandrewhall.com/blog/2007/06/pic-iphone-launch-security-in-kansas-city-funny/#comments</comments>
		<pubDate>Fri, 29 Jun 2007 14:55:40 +0000</pubDate>
		<dc:creator>Clint</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.clintandrewhall.com/blog/2007/06/pic-iphone-launch-security-in-kansas-city-funny/</guid>
		<description><![CDATA[Here&#8217;s a story I posted on Digg today&#8230; This was funny stuff.
As I was driving home around 12:30 AM, I passed our one Apple store to see who was waiting for &#8220;the big day.&#8221; When I saw the security guard protecting the precious stock from a videographer, a mother and half a dozen dedicated Mac [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a story I posted on Digg today&#8230; This was funny stuff.</p>
<p>As I was driving home around 12:30 AM, I passed our one Apple store to see who was waiting for &#8220;the big day.&#8221; When I saw the security guard protecting the precious stock from a videographer, a mother and half a dozen dedicated Mac geeks, I just *had* to stop and take a few shots. At least they let the poor guy listen to an iPod&#8230; <img src='http://www.clintandrewhall.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href="http://picasaweb.google.com/clintandrewhall/TheLineForTheKansasCityIPhoneLaunch/photo#5081493594767383826">read more</a> | <a href="http://digg.com/apple/PIC_iPhone_Launch_Security_in_Kansas_City_funny">digg story</a>
<p><!--e6ab15eff48303c6aa18329b8d7a11cb-->
<p><!--32de99a1033c22db6e05c96b56c05432-->
<p>
<p><!--cd5abbaaa3c4cf38a40efa7b42b07c8e-->
</p>
<p><!--2119df015919c497dd20fd7bdb4439db--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.clintandrewhall.com/blog/2007/06/pic-iphone-launch-security-in-kansas-city-funny/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
