<?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>Design &#38; Development Blog &#124; Jared Lunde &#187; Web Development</title>
	<atom:link href="http://www.jaredlunde.com/blog/topic/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jaredlunde.com/blog</link>
	<description>A logo design blog and web development blog by designer and developer Jared Lunde.</description>
	<lastBuildDate>Sat, 04 Sep 2010 02:53: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>DISQY &#8211; the web&#8217;s most viral videos</title>
		<link>http://www.jaredlunde.com/blog/viral-videos-disqy/</link>
		<comments>http://www.jaredlunde.com/blog/viral-videos-disqy/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 02:52:18 +0000</pubDate>
		<dc:creator>Jared Lunde</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jaredlunde.com/blog/?p=210</guid>
		<description><![CDATA[Recently I had the pleasure of working on a project called DISQY.  DISQY is a video aggregator that searches the Internet for the most mentioned videos each day.  It then applies an algorithm to what it finds and decides which videos are the most influential and which are spreading the fastest. The most <a href="http://disqy.com/" title="Viral Videos">viral videos</a> are then ordered and placed on the homepage with the most viral video that day getting embedded right at the top.  Videos can also be sorted by the most viral each day, week and month.  There is also an "upcoming" page which displays videos that aren't viral yet but are spreading more quickly than the other videos on the site and may soon make the jump to being viral.]]></description>
			<content:encoded><![CDATA[<p>Recently I had the pleasure of working on a project called DISQY.  DISQY is a video aggregator that searches the Internet for the most mentioned videos each day.  It then applies an algorithm to what it finds and decides which videos are the most influential and which are spreading the fastest. The most <a href="http://disqy.com/" title="Viral Videos">viral videos</a> are then ordered and placed on the homepage with the most viral video that day getting embedded right at the top.  Videos can also be sorted by the most viral each day, week and month.  There is also an &#8220;upcoming&#8221; page which displays videos that aren&#8217;t viral yet but are spreading more quickly than the other videos on the site and may soon make the jump to being viral.</p>
<p>The video pages themselves offer up cool charts that are updated each hour and show how and where videos are trending.  Users on the site can then react to each video with comments and preselected phrases such as:</p>
<blockquote><p>This video made me&#8230; cry</p></blockquote>
<blockquote><p>This video made me&#8230; OMG</p></blockquote>
<p>Users can also submit videos to the site themselves from a choice of around 10 of the largest video sites on the Internet. This gives them the ability to gain clout on the community by finding material before other people and before the site itself finds it.  Another cool feature that members of the site are given is the ability to create playlists featuring their favorite videos.</p>
<p>Overall DISQY is a fun site for the casual visitor or the hardcore user.</p>
<p><a href="http://disqy.com/" title="DISQY videos">Check out DISQY</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredlunde.com/blog/viral-videos-disqy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make A Dare &#8211; A daring new social network</title>
		<link>http://www.jaredlunde.com/blog/make-a-dare-daring-new-social-network/</link>
		<comments>http://www.jaredlunde.com/blog/make-a-dare-daring-new-social-network/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 01:09:17 +0000</pubDate>
		<dc:creator>Jared Lunde</dc:creator>
				<category><![CDATA[Graphic Design]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jaredlunde.com/blog/?p=197</guid>
		<description><![CDATA[
When I was designing Make A Dare,  I really wanted to highlight the major features and let the new user know what they were in for right away on the landing page.  On its homepage, I put in a big banner the general concept of the site.
Watch &#8211; Check out the crazy things [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left; margin:0 10px 10px 0;"><object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="375" height="300"><param name="movie" value="http://www.makeadare.com/v2/t5m0" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" id="player2" name="player2" src="http://www.makeadare.com/v2/t5m0" width="375" height="300" allowscriptaccess="always" allowfullscreen="true" /></object></div>
<p>When I was designing <a href="http://www.makeadare.com/" title="dares, dare"><strong>Make A Dare</strong></a>,  I really wanted to highlight the major features and let the new user know what they were in for right away on the landing page.  On its homepage, I put in a big banner the general concept of the site.</p>
<blockquote><p><em>Watch &#8211; Check out the crazy things our members are doing everyday!</em></p></blockquote>
<blockquote><p><em>Join &#8211; Why just sit there when you can be a part of Make A Dare?</em></p></blockquote>
<blockquote><p><em>Dare &#8211;  Got something you want to see? Dare someone to do it!</em></p></blockquote>
<blockquote><p><em>Vote &#8211;  Like what you see? Hype it! Think it’s lame? Diss it!</em></p></blockquote>
<blockquote><p><em>Compete &#8211;  Earn streetcred by completing dares and impressing your friends and fans.</em></p></blockquote>
<p>Beneath the banner I placed a large featured video section to give a general sense of the type of <a href="http://www.makeadare.com/dares" title="Dares, dare videos, pictures, dare you"><strong>dares</strong></a> one could expect to see/complete on Make A Dare. This is followed by a featured user and the most popular dares on the site.  Upon seeing all of this, I believe it is immediately recognizable just what kind of a fun, addicting site this can be.</p>
<p>The second likely landing page was the individual dare video page.  On this page we see clearly in the title what the dare is, how much streetcred has been earned so far and who completed the dare. We also have social sharing buttons in the title section.  On the right side we put a section for &#8220;more about the dare&#8221; which explains the dare more in depth in case it wasn&#8217;t clear from the title, as well as a section for what the user had to say about the dare and which other people had completed the dare previously.  There is also a related media section at the bottom of the page which encourages deeper site navigation for a new user and fuels addiction to the site.</p>
<p>Although typically referred to as &#8220;Jackass meets YouTube,&#8221; we really wanted to emphasize in both the design and concept that this was not just a site to show how much pain you could withstand, but was also a site about how much fun you can have out in public or in your own bedroom.  In reality, the dares range from the funny, humiliating, gross, off-the-wall, to painful.  Because of this, the design really stays away from being really crazy and all over the place and really sticks to clean and fun.</p>
<p>Sign up at Make A Dare and find out for yourself just how fun and addicting this new social network is.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredlunde.com/blog/make-a-dare-daring-new-social-network/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Make A Gif &#8211; Animados Gif &#8211; Reanimated</title>
		<link>http://www.jaredlunde.com/blog/make-a-gif-animated/</link>
		<comments>http://www.jaredlunde.com/blog/make-a-gif-animated/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 22:49:59 +0000</pubDate>
		<dc:creator>Jared Lunde</dc:creator>
				<category><![CDATA[Graphic Design]]></category>
		<category><![CDATA[Logo Design]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Animated Gifs]]></category>
		<category><![CDATA[Create A Gif]]></category>
		<category><![CDATA[How to Make A Gif]]></category>

		<guid isPermaLink="false">http://www.jaredlunde.com/blog/?p=184</guid>
		<description><![CDATA[Last weekend I had a really interesting project.  I redesigned and developed an existing site called MakeAGif.com to make it more user friendly and to give it a nice boost in traffic. MakeAGif is a clever site that was started by my favorite partner in crime, Troy Osinoff, that lets users create an animated .gif online out of still images they have on their computer in just 3 easy steps. The main problems with the old version were that it was hard to figure <a href="http://www.makeagif.com" title="How to Make a Gif">how to make a gif</a> and once you had made it you were redirected to a page that was only temporary.  Check out the old site by clicking the picture to the left.]]></description>
			<content:encoded><![CDATA[<p><a title="Old Make A Gif" href="http://www.jaredlunde.com/blog/wp-content/uploads/oldmakeagif.png" style="float:left;margin:15px 15px 10px 0;"><img class="alignleft size-medium wp-image-185" title="Make A Gif 2007-2009" src="http://www.jaredlunde.com/blog/wp-content/uploads/oldmakeagif-244x300.png" alt="Make A Gif 2007-2009" width="244" height="300" /></a></p>
<p>Last weekend I had a really interesting project.  I redesigned and developed an existing site called MakeAGif.com to make it more user friendly and to give it a nice boost in traffic. MakeAGif is a clever site that was started by my favorite partner in crime, Troy Osinoff, that lets users create an animated .gif online out of still images they have on their computer in just 3 easy steps. The main problems with the old version were that it was hard to figure <a href="http://www.makeagif.com" title="How to Make a Gif">how to make a gif</a> and once you had made it you were redirected to a page that was only temporary.  Check out the old site by clicking the picture to the left.</p>
<p>With the new redesign, there are clear steps laid out to animating your gif and the form options are much easier to use.  The script used to create the gif is a lot more fast and efficient now, as well.  Once your gif is uploaded, instead of being redirected to a temporary page, you are redirected to a &#8220;Share Page&#8221; where you can link your gif to your blog, website, facebook and twitter pages.</p>
<p>Along with improving the UI and speed, I was able to implement some new features to the site.  The most notable is the <strong><a title="Online Photo Booth" href="http://www.makeagif.com/photo-booth">photo booth</a></strong> which allows you to take pictures directly from your webcam on the website and create a gif from from them instantly.  I also had the site translated into Spanish and created a sister site called <a href="http://www.animadosgif.com" title="Gifs Animados">Animados Gif</a> to be more user friendly to our Spanish-speaking traffic.</p>
<p>Since implementing the share pages and other features, traffic on the site has almost doubled in less than 3 days, with more people sharing and hosting their gifs right on Make A Gif, rather than uploading them elsewhere and sharing.  Be sure to check out the redesign and to use the photo booth.  Trust me, it&#8217;s addicting.</p>
<p><img src="http://www.jaredlunde.com/blog/wp-content/uploads/newmakeagif.png" alt="Make A Gif Redesign" title="Make A Gif Redesign" style="width:625px;" class="aligncenter size-full wp-image-186" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredlunde.com/blog/make-a-gif-animated/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Smart Layouts with PHP and HTML in Web Design</title>
		<link>http://www.jaredlunde.com/blog/smart-layouts-with-php-html/</link>
		<comments>http://www.jaredlunde.com/blog/smart-layouts-with-php-html/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 00:13:25 +0000</pubDate>
		<dc:creator>Jared Lunde</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html layouts]]></category>
		<category><![CDATA[html markup]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php includes]]></category>

		<guid isPermaLink="false">http://www.jaredlunde.com/blog/?p=140</guid>
		<description><![CDATA[Anyone with knowledge of HTML can do this and trust me it will save you loads of time in the long run.  The main idea behind this structure is that anything that is going to be on more than one page in your website is going to be called through a php include.  The reasoning behind it is that if you ever plan on updating the design or structure of your site, you'll be able to do so much quicker through this method because instead of updating each page individually, you'll only have to update one file.  It is also a wonderful solution because of how clean your markup will look.]]></description>
			<content:encoded><![CDATA[<p>Difficulty level: <strong>Novice</strong></p>
<p>Honestly anyone with knowledge of HTML can do this and trust me it will save you loads of time in the long run.  The main idea behind this structure is that anything that is going to be on more than one page in your website is going to be called through a php include.  The reasoning behind it is that if you ever plan on updating the design or structure of your site, you&#8217;ll be able to do so much quicker through this method because instead of updating each page individually, you&#8217;ll only have to update one file.  It is also a wonderful solution because of how clean your markup will look.</p>
<p>The first thing we want to do is map out the areas that we are going to be using on every page on our site.  Let&#8217;s start with the information between our &lt;head&gt; tags.</p>
<p><strong>&lt;head&gt; &#8211; include name: &#8220;head-constants.php&#8221;</strong><br />
Likely culprits in this section include your content type, favicon, stylesheets, javascript and possibly RSS feeds:<br />
<code>&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;</code><br />
<code>&lt;link rel="stylesheet" href="/global.css" /&gt;</code><br />
<code>&lt;script type="text/javascript" src="/js/global.js"&gt;</script></code><br />
<code>&lt;link rel="shortcut icon" href="/images/favicon.ico" /&gt;</code><br />
<code>&lt;link rel="alternate" type="application/rss+xml" title="Development Blog RSS" href="http://www.jaredlunde.com/blog/feed/" /&gt;</code></p>
<p>Next let&#8217;s think about the &lt;body&gt; of our document.  Since I like to keep similar page structure on all of my sites for easier user navigation, I&#8217;m going to include a file that has the &lt;body&gt; tag within it. This file will be required directly after the &lt;/head&gt; tag.</p>
<p><strong>&lt;body&gt; &#8211; include name: &#8220;body-top.php&#8221;</strong><br />
<code>&lt;body&gt;</code><br />
<code>&lt;div class="main"&gt;</code><br />
<code>&lt;div class="content"&gt;</code></p>
<p>Now that I have my main page structure set in body-top.php, I&#8217;ll want to include a file within body-top.php that takes care of the header portion of my website. </p>
<p><strong>Header &amp; Navigation &#8211; include name: &#8220;header.php&#8221;</strong><br />
Within header.php, we&#8217;ll keep our markup for our logo, navigation, search bar, etc.  Anything that will be in the header of every page on your site.</p>
<p>If you have a sidebar that is constant on your entire site, it&#8217;d be a good idea to include that as well, but for the sake of length I&#8217;m only going to include a footer in this example.</p>
<p><strong>Footer &#8211; include name: &#8220;footer.php&#8221;</strong><br />
The footer is where we will close our body, html and set structure tags.  You may also want to include a footer navigation or copyright information in this file as we did with header.php.<br />
<code>&lt;/div&gt;</code><br />
<code>&lt;/div&gt;</code><br />
<code>&lt;/body&gt;</code><br />
<code>&lt;/html&gt;</code></p>
<p>So what does this look like when it is all pieced together into a document?<br />
<code><br />
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Hello World!&lt;/title&gt;<br />
&lt;meta name="description" content="An example of a well-structured HTML layout" /&gt;<br />
</code><br />
<code><br />
<strong>&lt;?php require('head-constants.php'); ?&gt;</strong><br />
</code><br />
<code><br />
&lt;/head&gt;<br />
</code><br />
<code><br />
<strong>&lt;?php require('body-top.php'); ?&gt;</strong><br />
</code><br />
<code><br />
Here is the rest of our body content.<br />
</code><br />
<code><br />
<strong>&lt;?php require('footer.php'); ?&gt;</strong><br />
</code></p>
<p>It&#8217;s looks clean and pretty doesn&#8217;t it?  What&#8217;s great is that we can now spend 10 minutes updating all of our pages instead of 10 hours or having to deal with the horror of a massive find/replace.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredlunde.com/blog/smart-layouts-with-php-html/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Web Designer Depot &#8211; Part 1</title>
		<link>http://www.jaredlunde.com/blog/web-designer-depot-sucks/</link>
		<comments>http://www.jaredlunde.com/blog/web-designer-depot-sucks/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 05:56:18 +0000</pubDate>
		<dc:creator>Jared Lunde</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[web design resources]]></category>
		<category><![CDATA[web design tutorials]]></category>
		<category><![CDATA[web designer]]></category>
		<category><![CDATA[web designer depot]]></category>

		<guid isPermaLink="false">http://www.jaredlunde.com/blog/?p=135</guid>
		<description><![CDATA[This is part one of a mini-series of blog posts that I will be referring to as "The Flaws and Delusions of Web Designer Depot"

I don't get particular enjoyment out of pointing out the flaws in others, but in this case it is so worth it.  For over a year, WebDesignerDepot (Web Designer Depot) has been handing out terrible advice and ripped off posts to its users.  Their articles lack attention to detail, sense, and quality of any kind.]]></description>
			<content:encoded><![CDATA[<p><strong>This is part one of a mini-series of blog posts that I will be referring to as &#8220;The Flaws and Delusions of Web Designer Depot&#8221;</strong></p>
<p>I don&#8217;t get particular enjoyment out of pointing out the flaws in others, but in this case it is so worth it.  For over a year, WebDesignerDepot (Web Designer Depot) has been handing out terrible advice and ripped off posts to its users.  Their articles lack attention to detail, sense, and quality of any kind.</p>
<p>Perhaps the funniest post I read of theirs was one that they did on &#8220;Coding for Speed and Quality&#8221;.  I say it is funny because if they can&#8217;t even control the speed at which their own website loads and is presented (it is slow and looks like someone threw up on the header &#8211; also lacks any navigation whatsoever) why in the world are they writing an article about it?  The site (uncached) weighs an incredible 1642.3KB, with a cached weight of 118.3K and all the while making an unprecendented 160 HTTP requests.  The entire site took an astonishing between 22 and 29 seconds for me to load uncached and between 14 to 20 seconds cached.  Maybe I&#8217;m nitpicking, but if I&#8217;m not on a 56K modem and a site is taking that long for me to load, someone is doing something very very wrong.</p>
<p>The worst part of all of this is that the Web Designer Depot actually has people who drink their kool-aid on a regular basis.  Their following is over 85,000 on twitter and they sport a cool 4,500 Alexa ranking.  You get what you pay for I guess.  At least I assume that&#8217;s how they did it &#8211; paying users at digg to get their articles to the front page.  There is no other possible way that intelligent beings would ever digg or distribute their drivel.   I suppose it&#8217;s easy from there, you&#8217;ve got your name in the ring and you become a hobby for beginner and know-nothing web designers and developers who are now doomed for eternity (or at least until they find a better blog).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredlunde.com/blog/web-designer-depot-sucks/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>American Cancer Society &#8211; Client Testimonial</title>
		<link>http://www.jaredlunde.com/blog/american-cancer-society-client-testimonial/</link>
		<comments>http://www.jaredlunde.com/blog/american-cancer-society-client-testimonial/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 06:02:17 +0000</pubDate>
		<dc:creator>Jared Lunde</dc:creator>
				<category><![CDATA[Graphic Design]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ACS]]></category>
		<category><![CDATA[American Cancer Society]]></category>
		<category><![CDATA[Recommendation]]></category>
		<category><![CDATA[Testimonial]]></category>

		<guid isPermaLink="false">http://www.jaredlunde.com/blog/?p=107</guid>
		<description><![CDATA["I could ramble on about how talented Jared Lunde is at programming and design, but like any other artist or dedicated professional, I believe it is best to let his work speak for itself.  After engaging with Jared and similar vendors on countless large projects, however, I can honestly say there is one thing that truly ...absolutely...unequivocally set him apart from the rest: the process.  In a business environment in which your success is becoming more and more interdependent with the success of outside vendors, I wholeheartedly felt Jared took the time to understand my needs and my goals which he then translated into the final product.  He gave me a powerful level of confidence in his abilities that eventually developed into an incredibly trusting customer-client relationship."

<strong>Frank O'Driscoll</strong>
<em>E-Revenue Project Manager</em>
American Cancer Society
Eastern Division, Inc.]]></description>
			<content:encoded><![CDATA[<p>&#8220;I could ramble on about how talented Jared Lunde is at programming and design, but like any other artist or dedicated professional, I believe it is best to let his work speak for itself.  After engaging with Jared and similar vendors on countless large projects, however, I can honestly say there is one thing that truly&#8230; absolutely&#8230; unequivocally set him apart from the rest: the process.  In a business environment in which your success is becoming more and more interdependent with the success of outside vendors, I wholeheartedly felt Jared took the time to understand my needs and my goals which he then translated into the final product.  He gave me a powerful level of confidence in his abilities that eventually developed into an incredibly trusting customer-client relationship.&#8221;</p>
<p><strong>Frank O&#8217;Driscoll</strong><br />
<em>E-Revenue Project Manager</em><br />
American Cancer Society<br />
Eastern Division, Inc.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredlunde.com/blog/american-cancer-society-client-testimonial/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Web Design &#8211; Form &amp; Function</title>
		<link>http://www.jaredlunde.com/blog/web-design-form-follows-function/</link>
		<comments>http://www.jaredlunde.com/blog/web-design-form-follows-function/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 10:22:08 +0000</pubDate>
		<dc:creator>Jared Lunde</dc:creator>
				<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Form And Function]]></category>
		<category><![CDATA[Form Follows Function]]></category>
		<category><![CDATA[Search Engine Optimization]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Designers]]></category>
		<category><![CDATA[Web Developers]]></category>

		<guid isPermaLink="false">http://www.jaredlunde.com/blog/?p=98</guid>
		<description><![CDATA[I've coded a lot of websites for a lot of different designers and a common problem I experience with each one is something that should really be natural to them in the first place - the idea that form follows function.  Most of this problem is rooted in the fact that they are <em>not</em> web developers.  The most overlooked areas that I've noticed are those in SEO and in page load time.

<a href="http://www.jaredlunde.com/blog/web-design-for…llows-function/" title="Proper Web Design">Read the rest</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve coded a lot of websites for a lot of different designers and a common problem I experience with each one is something that should really be natural to them in the first place &#8211; the idea that form follows function.  Most of this problem stems from the fact that they are <em>not</em> web developers.  The most overlooked areas that I&#8217;ve noticed are those in SEO, usability and in page load time.</p>
<p><strong>Web Fonts</strong><br />
A well-known fact about non-developing designers is that they love to use not safe for web fonts.  This becomes more of a problem when they specifically request that a webpage looks <em>exactly</em> like their design.  The truth is that no matter how you slice it, web developers are limited in options when it comes to web fonts.  We shouldn&#8217;t use sIFR, because that can cause serious load time problems. Even with @font-face our hands are tied because we are limited to only free fonts due to redistribution clauses in font licenses.  The last resort is to use images to replace all of the good quality content that should be on the page.  An alt tag only does so much for search engines so we are really shooting ourselves in the foot in the form of Search Engine Optimization by using this method.  What is the purpose of producing a website that *looks good* if no one is going to see it in the first place?</p>
<p><strong>Page Titles</strong><br />
Another problem I have faced not only with web designers, but clients in general is that they like to use their page titles as cheesy marketing devices rather than for keyword optimization.  In a perfect world, I&#8217;d like to use something like <em>Works by Jared Lunde | Design Simplified</em>, but the reality of the matter is that I am much better off using a page title like <em>Logo Design &#038; Web Development | Madison, Wisconsin</em> because those are the key phrases that I am looking to get visits from.  Again, what is the purpose of making it look good if no one is visiting?</p>
<p><strong>Background Images</strong><br />
A major pet-peeve of mine is when I see a website that doesn&#8217;t take into account screen resolution sizes or load times with their web pages.  A designer should always be aware of typical screen resolution sizes and plan accordingly.  I&#8217;m also a firm believer that a background doesn&#8217;t need to be elaborate or textured and in some cases it definitely shouldn&#8217;t be.  While the background may look *cool* it is entirely possible that you are in fact doing harm to the experience by a) increasing load time by a <em>lot</em> or b) distracting from content that a visitor should be paying attention to.  I mention the former a lot because it really is the most important thing you need to consider when designing a web page. You never want to direct a visitor&#8217;s attention away from where they should be looking and with proper background usage, we can actually point them in the correct direction.  For instance, you&#8217;ll see a lot advertisements in magazines where something as subtle as lines in sand can be directing your eye attention to a specific phrase on the page.  It is entirely possible to harness those same techniques on a website and you should definitely consider it if you are going to be using a background image.</p>
<p><strong>Javascript</strong><br />
One final annoyance of mine is poor use of javascript effects.  Not all javascript effects are bad, in fact if used correctly they are amazing and can add a real wow-factor to the UI.  Some designers just don&#8217;t know how to use it correctly, though.  I&#8217;ve been on a few projects where a substantial amount of good information is hidden from a user&#8217;s view for the sole purpose of using javascript fade ins/outs.  The last thing we want to do is hide something we <strong>need</strong> the user to see from their eye line.  Another downfall of hiding information is that there is a <em>possibility</em> that hiding enough will actually start to harm your search rankings.  Because of this (and because some users have it turned off) there absolutely needs to be a no javascript backstop on the page where ever it is used.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredlunde.com/blog/web-design-form-follows-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UI Design &#8211; A Positive Experience</title>
		<link>http://www.jaredlunde.com/blog/good-user-interface/</link>
		<comments>http://www.jaredlunde.com/blog/good-user-interface/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 08:09:11 +0000</pubDate>
		<dc:creator>Jared Lunde</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[clickthroughs]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[ui design]]></category>
		<category><![CDATA[ui development]]></category>
		<category><![CDATA[user interface]]></category>
		<category><![CDATA[user interface design]]></category>

		<guid isPermaLink="false">http://www.jaredlunde.com/blog/?p=94</guid>
		<description><![CDATA[The user interface is an integral part of a website no matter what the purpose.  My job as a web designer is to figure out how to make a website navigable and easy to use whilst making it look professional.

<a href="http://www.jaredlunde.com/blog/good-user-interface/" title="Read more about good user interfaces" rel="bookmark">Read the rest</a>]]></description>
			<content:encoded><![CDATA[<p>The user interface is an integral part of a website no matter what the purpose.  My job as a web designer and developer is to figure out how to make a website navigable and easy to use whilst making it look professional.</p>
<p>Different websites have different purposes and therefore have different requirements in the user interface.  The first question I ask myself and my client when designing a web page is ultimately &#8220;What do you want the user to do next?&#8221;  The question is so important, yet is often overlooked by most designers and developers.  If I want them to fill out a form, how do I direct their attention to the form?  If I want them to <a href="http://fapdu.com/" title="Porn Search Engine" style="color:#626A6C;font-weight:300">watch a video</a>, how can I get them to do so?  Knowing what you want a user to do next is important as knowing what exactly it is your website is about.</p>
<p>This task is much more difficult than it sounds on paper.  We need to consider that the last thing we want a user to think they are looking at is spam, even if it is.  Ultimately, a user wants to land on a page that is a) what they were searching for when reaching you and b) professional-looking enough not to raise any red flags.  The former is most important on e-commerce websites where the goal is to sell something tangible and not look like a scam-artist while the first is a requirement across all websites.  This means that the user interface includes not only includes design and content, but page titles and descriptions as well.</p>
<p>By taking into account the little things that affect a user&#8217;s website experience, we can ensure that the end result will be a positive one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredlunde.com/blog/good-user-interface/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ways to Improve Your Website&#8217;s Performance</title>
		<link>http://www.jaredlunde.com/blog/improve-website-performance/</link>
		<comments>http://www.jaredlunde.com/blog/improve-website-performance/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 08:43:08 +0000</pubDate>
		<dc:creator>Jared Lunde</dc:creator>
				<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[browser cache]]></category>
		<category><![CDATA[document headers]]></category>
		<category><![CDATA[etags]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[mod_deflate]]></category>
		<category><![CDATA[website performance]]></category>
		<category><![CDATA[website speed]]></category>

		<guid isPermaLink="false">http://www.jaredlunde.com/blog/?p=10</guid>
		<description><![CDATA[<h2 class="list-titles">1. Consolidate your javascript and css files</h2>
If you are embedding more than two javascript files per document or more than one CSS file per document, sorry, but you're doing it wrong.  It is much better to embed one 60K CSS or JS file than to embed three 20K files.  By doing so, you are making it easier for the browser to cache the files and you are reducing the number of HTTP requests your browser has to make on page load.

<a href="http://www.jaredlunde.com/blog/improve-website-performance/" title="improve website performance">Read the rest</a>]]></description>
			<content:encoded><![CDATA[<h2 class="list-titles">1. Consolidate your javascript and css files</h2>
<p>If you are embedding more than two javascript files per document or more than one CSS file per document, sorry, but you&#8217;re doing it wrong.  It is much better to embed one 60K CSS or JS file than to embed three 20K files.  By doing so, you are making it easier for the browser to cache the files and you are reducing the number of HTTP requests your browser has to make on page load.</p>
<h2 class="list-titles">2. Minify javascript and css</h2>
<p>If you are using jQuery or some other javascript framework they will have minified versions available.  Beyond that, you should only use what you need.  Do you really need every single effect that comes along with this framework?  Does this plugin really add anything to my interface?  K.I.S.S.  If you are writing your own javascript,  <a title="/packer/" rel="external nofollow" href="http://dean.edwards.name/packer/" target="_blank">/packer/</a> is a great resource for minifying your javascript.</p>
<p>You should only minify your CSS file after you are done writing it (for quicker formatting on your end).  If you Google &#8220;Compress CSS&#8221; there are plenty of resources available, although CSS Drive has my favorite.  Remember to back up your CSS file beforehand, just in case a) something goes wrong or b) you plan on redesigning your pages in the future.</p>
<h2 class="list-titles">3. Compress your javascript/css/html files</h2>
<p>I&#8217;ll admit, I was scared the first time I tried this.  The worst that can happen is you get a temporary 500 internal server error from your .htaccess file or php gzip compression just doesn&#8217;t work.  Not scary at all.  Also keep in mind that we&#8217;ll only want to compress plain text files such as php, css, html and javascript so as not to overload the CPU. The most important thing you&#8217;ll want to check before doing this is obviously if your server allows you to do so.  Unfortunately, different hosting companies offer different compression packages.  Most, if not all, allow the basic PHP compression ob_gzhandler and a happy few allow mod_gzip and mod_deflate in Apache.</p>
<p>If your server uses Apache2, mod_gzip is out of the picture so we&#8217;ll use mod_deflate instead.  Here is an example of basic compression with <strong>mod_deflate</strong>:<br />
<code><br />
&lt;IfModule mod_deflate.c&gt;<br />
</code><br />
<code><br />
SetOutputFilter DEFLATE<br />
</code><br />
<code><br />
#We can't compress images<br />
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ \<br />
    no-gzip dont-vary<br />
</code><br />
<code><br />
#Don't compress executables<br />
SetEnvIfNoCase Request_URI \<br />
    \.(?:exe|t?gz|zip|bz2|sit|rar)$ \<br />
    no-gzip dont-vary<br />
</code><br />
<code><br />
#Don't compress pdf files<br />
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary<br />
</code><br />
<code><br />
&lt;/IfModule&gt;<br />
</code></p>
<p>If we are able to use <strong>mod_gzip</strong>, we&#8217;ll use this:<br />
<code><br />
&lt;IfModule mod_gzip.c&gt;<br />
</code><br />
<code><br />
    mod_gzip_on       Yes<br />
    mod_gzip_dechunk  Yes<br />
    mod_gzip_item_include file      \.(html?|txt|css|js|php|pl)$  #Compress plain text<br />
    mod_gzip_item_include handler   ^cgi-script$<br />
    mod_gzip_item_include mime      ^text/.*<br />
    mod_gzip_item_include mime      ^application/x-javascript.*<br />
    mod_gzip_item_exclude mime      ^image/.*  #Exclude images<br />
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*<br />
</code><br />
<code><br />
&lt;/IfModule&gt;<br />
</code></p>
<p>The above two examples are really the easiest way to do this, since .htaccess will take care of everything automatically.  If you are not allowed to implement either of the above, there is a php alternative.  What you&#8217;ll want to do is create a file in your includes called gzip.php and add the following:<br />
<code><br />
&lt;?<br />
if(isset($_SERVER['HTTP_ACCEPT_ENCODING']) &#038;&#038; substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))<br />
{<br />
	ob_start('ob_gzhandler');<br />
}<br />
else<br />
{<br />
	ob_start();<br />
}<br />
?&gt;<br />
</code></p>
<p>Add <? include('path/to/gzip.php'); ?> at the top of all of your main documents and then add the line <? ob_flush(); ?> to the bottom of each.  This will compress your html.  To compress your javascript files and css files there is slightly more work.  You&#8217;ll want to turn each javascript file into a .php and at the top of each include:<br />
<code><br />
&lt;?<br />
// start ob_gzhandler<br />
include('path/to/gzip.php');<br />
</code><br />
<code><br />
//set document type headers<br />
header ("Content-Type: text/javascript; charset: UTF-8");<br />
</code><br />
<code><br />
//set cache-control headers<br />
header("Cache-Control: must-revalidate");<br />
$addition = 60 * 60 * 24 * 365 ;<br />
$expires = "expires: " . gmdate("D, d M Y H:i:s", time() + $addition) . " GMT";<br />
</code><br />
<code><br />
//set expires headers to 1 year<br />
header($expires);<br />
?&gt;<br />
</code></p>
<p>and again you&#8217;ll want to add the &lt;? ob_flush(); &gt; to the bottom of each of those documents.  The above example is for javascript files, but you can use the same mold for CSS by changing Content-Type to text/css.  Your embed for javascript files would then look like:<br />
<code><br />
&lt;script type="text/javascript" src="path/to/javascript.php&lt;?='?v=' . filemtime($_SERVER['DOCUMENT_ROOT'].'/path/to/javascript.php');?&gt;"&gt;&lt;/script&gt;<br />
</code></p>
<h2 class="list-titles">4. Add expires headers, configure entity tags</h2>
<p>Why do we want to do this?  It is going to help the browser cache your files easier and the more files a browser caches of yours, the less HTTP requests the browser has to make.  Load time will also decrease because your browser will have to download fewer files to load the page.  To do this properly, simply add this to your .htaccess file:<br />
<code><br />
&lt;IfModule mod_headers.c&gt;<br />
</code><br />
<code><br />
#Revalidate in 1 hour<br />
&lt;FilesMatch "\.(html|htm)$"&gt;<br />
Header set Cache-Control "max-age=3600, must-revalidate"<br />
&lt;/FilesMatch&gt;<br />
</code><br />
<code><br />
#Cache expires in 1 year<br />
&lt;FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"&gt;<br />
Header set Cache-Control "max-age=290304000, public"<br />
Header unset Pragma<br />
Header unset Last-Modified<br />
FileETag MTime Size<br />
&lt;/FilesMatch&gt;<br />
</code><br />
<code><br />
#Never cache this, files are dynamic<br />
&lt;FilesMatch "\.(php)$"&gt;<br />
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"<br />
Header set Pragma "no-cache"<br />
&lt;/FilesMatch&gt;<br />
</code><br />
<code><br />
&lt;/IfModule&gt;<br />
</code><br />
Because we are setting the expiration on our javascript and css files to 1 year and we may edit them within that time frame, we&#8217;ll want to add a version number to each of them.  To do this, simply change your embed code to resemble the following:<br />
<code><br />
&lt;script type="text/javascript" src="js/filename.js&lt;?='?v='.filemtime($_SERVER['DOCUMENT_ROOT'].'/path/to/js/filename.js');?&gt;"&gt;&lt;/script&gt;<br />
</code><br />
What the above code does is grab the file&#8217;s date of last modification (filemtime()) and appends it to the file name and what you end up with is something like this:<br />
<code><br />
&lt;script type="text/javascript" src="js/filename.js?v=1256944181"&gt;&lt;/script&gt;<br />
</code><br />
You can use this same method for your CSS files, as well.  Images that are updated may require renaming depending on which browser a visitor is using.</p>
<h2 class="list-titles">5. Cool it with the images</h2>
<p>This is a simple one.  Don&#8217;t be an idiot &#8211; if the image isn&#8217;t adding to the content/design or making it easier for a user to navigate the site, chances are you don&#8217;t need it.  The truth is, you can do a lot with CSS and you can make it look just as hot as you can with images.  You should also try to use png&#8217;s instead of jpg&#8217;s or gif&#8217;s whenever possible.  PNG&#8217;s provide the best quality in almost every situation and have generally have smaller file sizes.</p>
<h2 class="list-titles">6. Use CSS Sprites for background images</h2>
<p>This is especially important for things like rounded corners and menus that require more than 1 image to complete.  You can make a full menu <em>with </em>hovers included in one image.  <a href="http://css-tricks.com/css-sprites/" rel="nofollow external" target="_blank">CSS Tricks</a> has a great article on how to use CSS Sprites to your benefit.  They use jpg&#8217;s which, as you now know, I am totally against.  So just imagine that post including png&#8217;s and you should be all good.</p>
<p><a href="http://s.ytimg.com/yt/img/master-vfl125983.png" title="Youtube Master PNG" rel="nofollow external">This is YouTube&#8217;s master PNG file used for all background images</a></p>
<h2 class="list-titles">7. Download YSlow + Firebug or use some other free website optimization analyzer</h2>
<p>You can download YSlow and Firebug here: http://developer.yahoo.com/yslow/</p>
<p>There you have it, these are some simple steps you can take to get the most out of your website.  Feel free to ask any questions in comments or if you&#8217;re one of those types, call me an idiot.  To learn more about website performance and optimization, visit <a href="http://developer.yahoo.com/performance/rules.html" title="Performance Rules" rel="nofollow external">Yahoo Developer Network</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredlunde.com/blog/improve-website-performance/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
