<?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>A Collection of Thoughts &#187; Web Development</title>
	<atom:link href="http://blog.ericfilson.com/category/web_development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ericfilson.com</link>
	<description>The Ramblings of Eric Filson</description>
	<lastBuildDate>Wed, 20 Jan 2010 14:29:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Alexa, Compete, and Other Educated Guesses</title>
		<link>http://blog.ericfilson.com/2009/12/alexa-compete-and-other-educated-guesses/</link>
		<comments>http://blog.ericfilson.com/2009/12/alexa-compete-and-other-educated-guesses/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 22:23:20 +0000</pubDate>
		<dc:creator>efilson</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[alexa]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rank]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://blog.ericfilson.com/?p=75</guid>
		<description><![CDATA[Hey you!  Yeah you, the one obsessing over your Alexa rank&#8230; you CEO, you &#8220;webmaster&#8221;, you marketing guy, you whomever you are&#8230;
STOP
Seriously&#8230; you people are driving me crazy with your Alexa rank whoring.  It&#8217;s the same few things over and over and over again that I hear:

WTF my traffic went up like eight fold and [...]]]></description>
			<content:encoded><![CDATA[<p>Hey you!  Yeah you, the one obsessing over your Alexa rank&#8230; you CEO, you &#8220;webmaster&#8221;, you marketing guy, you whomever you are&#8230;</p>
<p><strong style="font-size: 36px;">STOP</strong></p>
<p>Seriously&#8230; you people are driving me crazy with your Alexa rank whoring.  It&#8217;s the same few things over and over and over again that I hear:</p>
<ul>
<li>WTF my traffic went up like <em>eight fold</em> and my Alexa ranking hasn&#8217;t changed!</li>
<li>OMG my Alexa ranking dropped <em>like four million places</em> but my traffic is still the same!</li>
</ul>
<p>And I always answer with the same reply&#8230; <em>Who fucking cares?! </em></p>
<p>First off you need to understand that the Alexa number has no bearing on your business in the slightest. It is a reflection of your business&#8230; and a cloudy one at that.  I know people that I swear would take a loss in traffic if it meant a gain on Alexa.  Where are your priorities?!</p>
<p>Second you need to understand that It&#8217;s an educated guess as to how your site may or may not being doing based on a very very very very small sample size of the entire Internet.  Do you even know a single person who has the Alexa Toolbar installed?</p>
<p>The last time I even HEARD of someone having the Alexa Toolbar installed I about punched them in the face for browsing my admin area (you know who you are) and having it <em>prefollow</em> all the delete links&#8230; luckily we did nightly backups.</p>
<p>Compete is even worse.  I have a property that was closed down in 2007 and they show I peaked my traffic in January of 2009&#8230; need I say more?</p>
<h2>What about Hitwise vs comScore vs Nielsen?</h2>
<p>Save your fucking cash&#8230; These giants will bend you over backwards, upside down, and rail you un-lubed till you&#8217;re broken and bleeding.  Ok that was a little strong but seriously&#8230; There are very few companies that should be subscribing to any of these services.  Unless you&#8217;re in the SEO market (and I mean providing SEO to clients), online marketing, or another broad sweeping / far reaching online company, you DON&#8217;T NEED IT.</p>
<p>You would do better to focus on improving your business rather than comparing yourself against your competitors&#8230; the real kicker is you&#8217;re comparing educated guesses against other educated guesses about numbers that really don&#8217;t matter!  If your competitor did 50% more sales than you are you going to know <em>why</em> from those numbers? No, you&#8217;re going to spend 200 hours looking at the numbers over and over again.</p>
<h2>Nothing Else Matters</h2>
<p>Instead, why not try looking at your competitors from the end user / customer&#8217;s point of view.  What do they offer that I don&#8217;t? How easy is it for me to checkout / purchase on their site compared to mine?  Then take an analytical top level approach to comparing your business. Where do they advertise?  Where does their traffic come from? Do they have an affiliate program?  One step further on the technical side you start asking&#8230; What is their page load time compared to mine? Where do they host? Do they use a CDN?</p>
<p>These are questions whose answers matter&#8230;</p>
<p>Don&#8217;t pay $30k &#8211; $50k a year for a service when you&#8217;re only interested in one market&#8230; hire someone full time to do nothing but run numbers for you.  It would be the same cost in the end except you&#8217;d employ more people and if you <em>really</em> wanted you could have them install the Alexa tool bar to bump up your fucking rank&#8230; <em>groan</em></p>
<p>/endrant</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ericfilson.com/2009/12/alexa-compete-and-other-educated-guesses/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Smarty Templates&#8230; Get That Shit Out of My House</title>
		<link>http://blog.ericfilson.com/2009/12/smarty-templates-get-that-shit-out-of-my-house/</link>
		<comments>http://blog.ericfilson.com/2009/12/smarty-templates-get-that-shit-out-of-my-house/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 18:10:51 +0000</pubDate>
		<dc:creator>efilson</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[smarty]]></category>

		<guid isPermaLink="false">http://blog.ericfilson.com/?p=64</guid>
		<description><![CDATA[If the title wasn&#8217;t strong enough for you, allow me to rephrase.  Anyone that thinks Smarty is a good idea to implement should be shot in the face (or at least immediately removed from all developer responsibilities) because I&#8217;m tired of it junking up the tubes&#8230;
First of all there is absolutely NO reason anyone should [...]]]></description>
			<content:encoded><![CDATA[<p>If the title wasn&#8217;t strong enough for you, allow me to rephrase.  Anyone that thinks Smarty is a good idea to implement should be shot in the face (or at least immediately removed from all developer responsibilities) because I&#8217;m tired of it junking up the tubes&#8230;</p>
<p>First of all there is absolutely <em><strong>NO </strong></em>reason anyone should use Smarty.  The &#8220;Why Use It&#8221; page at Smarty says, &#8220;One of Smartys primary design goals is to facilitate the separation of  application code from presentation.&#8221;  That&#8217;s complete bullshit&#8230; there is no separation of application code from presentation with Smarty. In fact, in every implementation I&#8217;ve seen there is more logic mixed in with the templates than any other method&#8230;  Including one template in a loop inside of another template is complete fail right off the bat and that&#8217;s the entire premise of Smarty.</p>
<p>Let&#8217;s break it down by their bullet points:</p>
<blockquote><p><em>Designers can&#8217;t break application code. They can mess with the templates all  they want, but the code stays intact. The code will be tighter, more secure and  easier to maintain.</em></p></blockquote>
<p>Look I&#8217;ve been doing this for 10 fucking years and I&#8217;ve never worked with designers that even break up their own designs (I know they exist) let alone dick around in templates&#8230; <strong>LET ALONE WHO KNOW TEMPLATING ENGINE LIKE SMARTY!</strong></p>
<blockquote><p><em>Errors in the templates are confined to the Smartys error handling routines, making them as simple and intuitive as possible for the designer.</em></p></blockquote>
<p>OMG really? I can has ANOTHER error system to feed me where the problems supposedly are? Except this time it&#8217;ll be less robust and more cryptic?! And what happens when a developer removes an &#8220;assign&#8221; from the logic end? They get to yell at the designer to fix it?  Who knows how to fix it anyway? The developer that doesn&#8217;t have to touch the template or the designer that doesn&#8217;t have to touch the logic?  Some mythical breed of designer who not only knows Smarty but also knows PHP?!</p>
<blockquote><p><em>With presentation on its own layer, designers can modify or completely  redesign it from scratch, all without intervention from the programmer.</em></p></blockquote>
<p>Oh you mean like designers do with regular XHTML/CSS in every other system?  You know&#8230; by separating out your controllers from your view using&#8230; OMG&#8230; PHP?!</p>
<blockquote><p><em>Programmers aren&#8217;t messing with templates. They can go about maintaining the  application code, changing the way content is acquired, making new business  rules, etc. without disturbing the presentation layer.</em></p></blockquote>
<p>See the part above where this is accomplished by&#8230; PHP!</p>
<blockquote><p><em>Templates are a close representation of what the final output will be, which is an intuitive approach. Designers don&#8217;t care <em>how</em> the content got to the template. If you have extraneous data in the template such as an SQL statement, this opens the risk of breaking application code by accidental deletion or alteration by the designer.</em></p></blockquote>
<p>Here we see why Smarty is so fail&#8230; They put SQL statements in their templates before they created Smarty?! Way to be MVC guys!  Which, I&#8217;m guessing, is what they&#8217;re trying to be with the Smary system itself?  So essentially we had some people that didn&#8217;t know the first thing about the MVC design pattern up and decide to design a templating engine for PHP that would be more MVC like&#8230; awesome.</p>
<blockquote><p><em>You are not opening your server to the execution of arbitrary PHP code. Smarty has many security features built in so designers won&#8217;t breach security, whether intentional or accidental. They can only do what they are confined to in the templates.</em></p></blockquote>
<p>LOL, what?! Your designers don&#8217;t have access to all the files in the dev environment? and you don&#8217;t version control your source? and all your designers know how to code as well?!  Look if your company / team falls into the three categories above there is no way a templating engine for PHP is going to solve your problems&#8230; it&#8217;ll just complicate things.</p>
<h2>What have you accomplished?</h2>
<p>So essentially what you accomplished by using Smarty is to do something which you already could have done using only PHP and that is inherently done in good MVC code.  Except this time you get to load an entire templating engine&#8230; and here&#8217;s my favorite part.  You get to load every single template into memory and then parse through all of it to look for special tags!  And then when you find the special tags you need to perform their actions whether it&#8217;s printing a value, running some pseudo-PHP code contained in the template, or my personal favorite&#8230; loading another fucking template!!!</p>
<p>The first time I see a conditional to determine what additional template should be used (if any, ugh) inside a Smarty template I want to smash the developer that  wrote it IN THE FACE!</p>
<h2>Summary</h2>
<p>Here&#8217;s the short version&#8230; By using Smarty you incur massive amounts of overhead by having to read every template into memory and parse through them all looking for special tags.  You also introduce an additional pseudo language requiring developers <em>and</em> designers to know this additional language while making your code base less readable by anyone other than who wrote it.  You increase development time for all projects because you now have to use extra methods, variables, etc&#8230; and you are completely dependent on another system for your code base to work&#8230;</p>
<p>For all of these negative aspects what do you get?!  A code base which is less scalable and less readable&#8230; congratulations, you built a better mousetrap.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ericfilson.com/2009/12/smarty-templates-get-that-shit-out-of-my-house/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Google Chrome for Mac</title>
		<link>http://blog.ericfilson.com/2009/12/google-chrome-for-mac/</link>
		<comments>http://blog.ericfilson.com/2009/12/google-chrome-for-mac/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 17:42:17 +0000</pubDate>
		<dc:creator>efilson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[web browser]]></category>

		<guid isPermaLink="false">http://blog.ericfilson.com/?p=45</guid>
		<description><![CDATA[A short post this time around&#8230; I just wanted to make sure people landing here (for whatever obscure reason) know that there is, at long last, an OS X build of Chrome.  While it&#8217;s not a full release I&#8217;ll take a Google beta over an alpha any day:
http://www.google.com/chrome
Get it while it&#8217;s hot!
]]></description>
			<content:encoded><![CDATA[<p>A short post this time around&#8230; I just wanted to make sure people landing here (for whatever obscure reason) know that there is, at long last, an OS X build of Chrome.  While it&#8217;s not a full release I&#8217;ll take a Google beta over an alpha any day:</p>
<p><a href="http://www.google.com/chrome" target="_blank">http://www.google.com/chrome</a></p>
<p>Get it while it&#8217;s hot!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ericfilson.com/2009/12/google-chrome-for-mac/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Internet Explorer &#8211; Holding Back the Internet&#8230; Again&#8230;</title>
		<link>http://blog.ericfilson.com/2009/12/internet-explorer-holding-back-the-internet-again/</link>
		<comments>http://blog.ericfilson.com/2009/12/internet-explorer-holding-back-the-internet-again/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 16:09:26 +0000</pubDate>
		<dc:creator>efilson</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://blog.ericfilson.com/?p=37</guid>
		<description><![CDATA[The Microsoft Internet Explorer Team needs to pull their collective head out of their ass and get with the fucking program.  IE6 has long been the bane of many a web developer and designer and it looks like IE8 is going to be the same way.  First, let&#8217;s take a look at CSS3 selector support: [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-40" title="Internet Explorer" src="http://blog.ericfilson.com/wp-content/uploads/2009/12/internet-explorer-logo-with-pins2.jpg" alt="Internet Explorer" width="262" height="198" />The Microsoft Internet Explorer Team needs to pull their collective head out of their ass and get with the fucking program.  IE6 has long been the bane of many a web developer and designer and it looks like IE8 is going to be the same way.  First, let&#8217;s take a look at CSS3 selector support: <a href="http://www.css3.info/modules/selector-compat/" target="_blank">No Surprises Here!</a> You could also take a look at this page: <a href="http://www.quirksmode.org/css/contents.html">CSS Browser Compatibility</a> and see just how many red <strong style="color: #F00;">NO</strong>s there are in the Internet Explorer column&#8230;</p>
<p>It&#8217;s sad that Internet Explorer is the only browser to come preinstalled on so many computers and even sadder still that it&#8217;s so widely used.  I would love for someone to calculate the amount of time wasted on IE6 compatibility over the years by developers and designers around the globe.  What I&#8217;m really after is the dollar value that can be assigned to all those lost hours.  I&#8217;m sure Microsoft has cost this industry $Billions in lost hours when it would only take them $Thousands to do something about it.  Any company that stands idly by while that happens and has the resources to do something about deserves a public beat down.  I hope they get one.</p>
<p>So who&#8217;s doing it best?  Apple&#8217;s <a href="http://en.wikipedia.org/wiki/WebKit" target="_blank">WebKit</a> is holding it down at the number one spot in my book and thankfully it&#8217;s garnering a large amount of industry support rather quickly.  Currently Apple, KDE Project, Google, Nokia, Torch Moble, and more are actively contributing to Apple&#8217;s WebKit.  WebKit has a GNU style license with a few parts having a BSD style license and thankfully my personal favorite browser for PC (<a href="http://www.google.com/chrome" target="_blank">Google Chrome</a>) uses WebKit.</p>
<p>So here&#8217;s my advice to you Microsoft, if you&#8217;re not interested in keeping your browser up to date with the latest open standards support then adopt WebKit.  Every web developer and designer in the world would rejoice if we could have one standard library rendering everything on the web.  Tens of thousands of development hours would be saved every year, progress wouldn&#8217;t be halted due to one major browser falling behind, and you can still keep your own branded browser to deliver to the masses&#8230; every day you stand idly by I lose respect for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ericfilson.com/2009/12/internet-explorer-holding-back-the-internet-again/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
