<?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>Dancing Mammoth &#187; Case Studies</title>
	<atom:link href="http://dancingmammoth.com/category/case-studies/feed/" rel="self" type="application/rss+xml" />
	<link>http://dancingmammoth.com</link>
	<description>Cleaner Websites for a Cleaner Future</description>
	<lastBuildDate>Mon, 11 Jan 2010 20:21:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The New Reason.com</title>
		<link>http://dancingmammoth.com/2009/11/12/the-new-reason-com/</link>
		<comments>http://dancingmammoth.com/2009/11/12/the-new-reason-com/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 21:38:00 +0000</pubDate>
		<dc:creator>Matt Fetissoff</dc:creator>
				<category><![CDATA[Case Studies]]></category>

		<guid isPermaLink="false">http://dancingmammoth.com/?p=300</guid>
		<description><![CDATA[When Reason Magazine needed a new publishing system and a visual refresh of their website, one of the criteria was that the layout and content organization remain as consistent with the previous version as possible.
The introduction of a completely new design can be aggravating for existing users, particularly when features that they&#8217;ve taken the time [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://reason.com" target="_blank"><img src="http://dancingmammoth.com/wp-content/uploads/reasonscreenshot-350x232.jpg" alt="Reason.com Screenshot" title="Reason.com Screenshot" width="350" height="232" class="image alignright size-medium wp-image-310" /></a>When Reason Magazine needed a new publishing system and a visual refresh of their website, one of the criteria was that the layout and content organization remain as consistent with the previous version as possible.</p>
<p>The introduction of a completely new design can be aggravating for existing users, particularly when features that they&#8217;ve taken the time to learn are suddenly relocated, or removed altogether.</p>
<p>To avoid disorienting users, we reused the existing site format while updating the visual design and improving elements such as spacing and contrast. This way, Reason&#8217;s readers benefit from the enhanced features made possible by the new publishing system, without the inconvenience of relearning how to use the site.</p>
<p>For example, Reason, like many other websites, structures content with a static three column layout. The left hand column is dedicated to navigational links, masthead information and advertising. The center column contains the featured content well and links to categorized content, and the right column promotes additional highlighted content, with space for advertising.</p>
<p>The old version of the site was well organized with plenty of white space, but the design was flat and lacked visual interest and depth. The new design is more appealing, has a more natural visual hierarchy, and does a better job of keeping content separated without feeling unnecessarily boxy.</p>
]]></content:encoded>
			<wfw:commentRss>http://dancingmammoth.com/2009/11/12/the-new-reason-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Fresh Website for Your Fresh Linens</title>
		<link>http://dancingmammoth.com/2009/10/21/fresh-website-for-your-fresh-linens/</link>
		<comments>http://dancingmammoth.com/2009/10/21/fresh-website-for-your-fresh-linens/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 18:00:36 +0000</pubDate>
		<dc:creator>Matt Fetissoff</dc:creator>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[color scheme]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[laundry]]></category>
		<category><![CDATA[linens of the week]]></category>
		<category><![CDATA[mockups]]></category>

		<guid isPermaLink="false">http://dancingmammoth.com/?p=275</guid>
		<description><![CDATA[Linens of the Week came to us looking for a clean and up-to-date design for their website. In addition, they were seeking enhanced functionality to allow customer access to invoices and orders.
We sent over two design variations, making sure to reuse their currently branded blue whenever possible. Their feedback follows&#8230;
&#8220;Can I see this with a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://linensoftheweek.com"><img class="alignright size-thumbnail wp-image-287 image" title="Picture-3" src="http://dancingmammoth.com/wp-content/uploads/Picture-3-350x240.jpg" alt="Picture-3" width="350" height="240" /></a>Linens of the Week came to us looking for a clean and up-to-date design for their website. In addition, they were seeking enhanced functionality to allow customer access to invoices and orders.</p>
<p>We sent over two design variations, making sure to reuse their currently branded blue whenever possible. Their feedback follows&#8230;</p>
<p>&#8220;Can I see this with a completely different color scheme?&#8221;</p>
<p>Hearing this might make a designer cringe, but it&#8217;s very important to make sure the client is happy.  Fortunately, the project was still in the early stages, so alterations were relatively easy to make.</p>
<p>After a brief consultation, we agreed to work on some new variations while keeping within the same basic palette. This would mean shifting the use of color around while adding shades and tints to create more variety. This type of consultation helps keep everyone happy by taking the middle ground. We aren&#8217;t creating designs with wildly conflicting colors, and the client doesn&#8217;t have to hear a flat out refusal on our end.</p>
<p><a class="thumbs" href="http://dancingmammoth.com/wp-content/uploads/linens-1a.jpg"><img class="alignnone size-thumbnail wp-image-279" title="linens-1a" src="http://dancingmammoth.com/wp-content/uploads/linens-1asm.jpg" alt="linens-1a" /></a><a class="thumbs" href="http://dancingmammoth.com/wp-content/uploads/linens-1c.jpg"><img class="alignnone size-thumbnail wp-image-279" title="linens-1c" src="http://dancingmammoth.com/wp-content/uploads/linens-1csm.jpg" alt="linens-1c" /></a><a class="thumbs" href="http://dancingmammoth.com/wp-content/uploads/linens-1b.jpg"><img class="alignnone size-thumbnail wp-image-279" title="linens-1b" src="http://dancingmammoth.com/wp-content/uploads/linens-1bsm.jpg" alt="linens-1b" /></a></p>
<p>We submitted the above mockups, two of which rotated color usage in sections like the highlight column (bottom right corner), and one of which used a monochromatic scheme (third mockup from the left).</p>
<p>When only one color is used for a design, the overall feel can often be flat or what I&#8217;d consider &#8220;overly emotional&#8221;. A design that only uses red can make you feel too hectic or heated without a cool compliment for balance. Similarly, a design that only uses blue would make you feel too serious or cold without warm oranges or reds. When it came time to show our client the revisions, we made sure to bring this up as a possible issue.</p>
<p>In the end, they went with the primarily orange/gold design, giving the site a bright and light feeling while still leaving room to use the complimenting blue for their logo and headings.</p>
]]></content:encoded>
			<wfw:commentRss>http://dancingmammoth.com/2009/10/21/fresh-website-for-your-fresh-linens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Interactive US Map Without Flash.</title>
		<link>http://dancingmammoth.com/2009/09/24/an-interactive-us-map-without-flash/</link>
		<comments>http://dancingmammoth.com/2009/09/24/an-interactive-us-map-without-flash/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 15:47:56 +0000</pubDate>
		<dc:creator>Brian Kieffer</dc:creator>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[Lab]]></category>

		<guid isPermaLink="false">http://dancingmammoth.com/?p=252</guid>
		<description><![CDATA[A client recently requested a feature for their website that would allow users to access state by state data by rolling over a map of the US. At first, I considered using one of the available Flash packages, but the design took a couple of twists that made that much more difficult. So I opted [...]]]></description>
			<content:encoded><![CDATA[<p>A client recently requested a feature for their website that would allow users to access state by state data by rolling over a map of the US. At first, I considered using one of the available Flash packages, but the design took a couple of twists that made that much more difficult. So I opted to implement the map with plain old HTML, CSS and Javascript.</p>
<p><a href="/wp-content/demos/usmap/">Here is the map</a>.</p>
<p>The benefit of using HTML, CSS and Javascript instead of Flash, is that the map will function in just about any browser without having to install additional components. Mobile browsers such as Safari on iPhone, older browsers, or browsers without Javascript enabled, can still use the map. Here is how it works.</p>
<p>The map consists of three layers.</p>
<p align="center"><img class="size-full wp-image-253   aligncenter" title="layers" src="http://dancingmammoth.com/wp-content/uploads/layers.jpg" alt="layers" width="509" height="203" /></p>
<p>The bottom layer contains the full map as a background image. This loads when the page is opened, along with the top layer which contains the maparea linked to a transparent GIF that matches the size of the map. The layers are positioned over one another with CSS.</p>
<pre class="brush: css;">
div#usmap{
position: absolute;
top: 0px;
left: 0px;
}

div#mapareas{
position: absolute;
top: 0px;
left: 0px;
z-index: 99;
}
</pre>
<p>The middle layer is where all of the animation takes place. When a user mouses over one of the mapareas, jQuery prepends the preloaded image for an individual state and positions it in the middle layer. Some images also have a corresponding mask to maintain the illusion that the state is popping up away from the page. The individual state images were created by cutting apart the main US image, and the positioning is done with jQuery&#8217;s css method. This can be somewhat time consuming for complex maps.</p>
<pre class="brush: jscript;">
$(&quot;#usmap&quot;).prepend(img);
$(&quot;#usmap&quot;).prepend(imgmask);
positionimage();
</pre>
<pre class="brush: css;">
.state-copy {
position: absolute;
z-index:2;
}
.state-mask {
position: absolute;
z-index:1;
}
</pre>
<p>Then jQuery calcuates the current size and zoomed size, and executes the animation.</p>
<pre class="brush: jscript;">
$(&quot;.state-copy&quot;).each(function(){
var width = $(this).width();
var height = $(this).height();

var zoomheight = height * 1.2;
var zoomwidth = width * 1.2;

var	centerheight = (zoomheight - height)/2;
var	centerwidth = (zoomwidth - width)/2;

$(this).animate({
top: '-=' + centerheight,
left: '-=' + centerwidth,
width: zoomwidth,
height: zoomheight
}, 100);

});
</pre>
<p>This method will work for just about any similar image that you want to animate.</p>
]]></content:encoded>
			<wfw:commentRss>http://dancingmammoth.com/2009/09/24/an-interactive-us-map-without-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No Need for Wax, IWF Is Shiny Enough</title>
		<link>http://dancingmammoth.com/2009/01/06/no-need-for-wax-iwf-is-shiny-enough/</link>
		<comments>http://dancingmammoth.com/2009/01/06/no-need-for-wax-iwf-is-shiny-enough/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 22:35:55 +0000</pubDate>
		<dc:creator>Matt Fetissoff</dc:creator>
				<category><![CDATA[Case Studies]]></category>

		<guid isPermaLink="false">http://dancingmammoth.com/?p=170</guid>
		<description><![CDATA[The Independent Women&#8217;s Forum came to us in early 2007 for an update on their site design and ended up with the sparkly interface you now see. The design of the site lends itself nicely for a journey through the magical land of color distribution. So grab a cup of coffee and buckle up as [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://iwf.org" target="_blank"><img class="alignright size-medium image" title="iwf" src="http://dancingmammoth.com/wp-content/uploads/iwf-318x270.gif" alt="" width="318" height="270" /></a><a href="http://iwf.org" target="_blank">The Independent Women&#8217;s Forum</a> came to us in early 2007 for an update on their site design and ended up with the sparkly interface you now see. The design of the site lends itself nicely for a journey through the magical land of color distribution. So grab a cup of coffee and buckle up as the ride begins.</p>
<p>To help explain what we mean by color distribution, take a look at this <a href="/wp-content/uploads/iwf-colormap.gif">little map</a> we created using IWF.org as a base.</p>
<p>On occasion, we start layouts by grabbing all the content the client would like to see on the main page, making it black, and dumping it all into a new Photoshop file. Next, we make textual hierarchy changes by pumping up the weight and size for headings and subheadings. After some spacing and alignment changes its ready, but start collecting color only after these steps have been completed</p>
<p><img class="floatleft" src="http://dancingmammoth.com/wp-content/uploads/iwf1.gif" alt="" />First,  we establish any existing colors which will need to be incorporated into our palette due to existing branding. In the example using IWF.org, the red from the logo needed to be added.</p>
<p><img class="floatleft" src="http://dancingmammoth.com/wp-content/uploads/iwf3.gif" alt="" />We needed to pay attention to an additional client request, which was that we keep the site feeling open and bright. Yellow or yellow used as a gradient is good for this.</p>
<p><img class="floatleft" src="http://dancingmammoth.com/wp-content/uploads/iwf5.gif" alt="" /><img class="floatleft" src="http://dancingmammoth.com/wp-content/uploads/iwf4.gif" alt="" />You can add two colors to the palette by choosing one with a rich hue (aka saturation), in this case blue, then <a href="http://dancingmammoth.com/wp-content/uploads/blues.png" target="_blank">branch off by grabbing a tint of the same hue</a>.</p>
<p><img class="floatleft" src="http://dancingmammoth.com/wp-content/uploads/iwf2.gif" alt="" />We also always grab something fairly neutral to use as borders, or for headings and backgrounds which require less emphasis than areas with brighter hues. For IWF.org, we chose a medium gray that is used on all borders and dividing lines.</p>
<p>Now the color palette is ready. Most, if not all of your color usage will be dictated by the palette. You can deviate, but only by shifting the base hue with shades and tints. Start by identifying which elements should use the same color. For example, all links within the main content area need the same color. All first-level headings need the same color as well.</p>
<p>Now you can experiment by using the colors in your palette in these positions. Any colors that are too light can be used for text as long as there is a background behind it with good color contrast to make everything readable.</p>
<p>Remember to use white as a color as well, not just for backgrounds. Any of the colors in your palette can be used for a background, which means any text on top of it can be white (depending on readability).</p>
]]></content:encoded>
			<wfw:commentRss>http://dancingmammoth.com/2009/01/06/no-need-for-wax-iwf-is-shiny-enough/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Clean New Direction for American Spectator</title>
		<link>http://dancingmammoth.com/2008/11/26/a-new-direction-for-american-spectator/</link>
		<comments>http://dancingmammoth.com/2008/11/26/a-new-direction-for-american-spectator/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 20:12:56 +0000</pubDate>
		<dc:creator>Matt Fetissoff</dc:creator>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[color distribution]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[readability]]></category>

		<guid isPermaLink="false">http://dancingmammoth.com/?p=129</guid>
		<description><![CDATA[Spectator.org is the newest addition to the list of sites we&#8217;ve designed and built.
Since The American Spectator has been around for 1967, keeping the established identity was an important part of the design process. We retained their look by re-using the existing color palette and by keeping the established logo simple in a basic white [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.spectator.org/" target="_blank"><img class="alignright size-medium image" title="spectator11" src="http://dancingmammoth.com/wp-content/uploads/spectator11-302x270.jpg" alt="" width="302" height="270" /></a><a href="http://www.spectator.org/" target="_blank">Spectator.org</a> is the newest addition to the list of sites we&#8217;ve designed and built.</p>
<p>Since The American Spectator has been around for 1967, keeping the established identity was an important part of the design process. We retained their look by re-using the existing color palette and by keeping the established logo simple in a basic white on red header. Further distributing the red, we threw it into the date-bars, content category headings, third column headings, and buttons. Using the black in the large featured post area serves as the focal point, drawing the eye with an over-sized image and further distributing color. We continued this with the bold black post headings and the background for the active state of the nav list in the right column.</p>
<p>We were also tasked with keeping a good chunk of the content available on the main page without a ton of scrolling. To accomplish this, we kept the spacing between posts on the homepage to a minimum. This expands of course when you click through to read the full article. To create visual separation of content, we used thin borders on the bottom of each post and kept the article headings big compared to the accompanying text.</p>
<p>Along with the re-design, this site has been built on a newly built backend framework which allows for much greater content control by the editors. Additions to the backend are super simple now as well, so any client changes/requests can be managed quickly and efficiently.</p>
]]></content:encoded>
			<wfw:commentRss>http://dancingmammoth.com/2008/11/26/a-new-direction-for-american-spectator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reason&#8217;s Giant Leap Into Video</title>
		<link>http://dancingmammoth.com/2008/11/14/reasons-giant-leap-into-video/</link>
		<comments>http://dancingmammoth.com/2008/11/14/reasons-giant-leap-into-video/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 17:02:24 +0000</pubDate>
		<dc:creator>Matt Fetissoff</dc:creator>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[amazon s3]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://dancingmammoth.com/?p=68</guid>
		<description><![CDATA[In May of 2007, Reason.com asked Dancing Mammoth for help with a new endeavor: the launch of a website to serve as home for a series of short videos hosted by Drew Carey. In The Drew Carey Project, Drew would take to the street covering important current events and help people think about government in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://reason.tv" target="_blank"><img class="alignright size-medium image" title="dot-tv-main2" src="http://dancingmammoth.com/wp-content/uploads/dot-tv-main2-318x270.jpg" alt="" width="318" height="270" /></a>In May of 2007, Reason.com asked Dancing Mammoth for help with a new endeavor: the launch of a website to serve as home for a series of short videos hosted by Drew Carey. In The Drew Carey Project, Drew would take to the street covering important current events and help people think about government in new ways.</p>
<p>We began by creating several mockups in Photoshop, utilizing some existing media to develop cohesive looking examples. With these, they were able to give us great feedback, helping to push the designs forward and moving closer to a design which met their needs.</p>
<p>A few color tweaks, a section or two added to the right column and the design was complete. Reliably serving up high quality video to a potentially massive visitor base was crucial, so we went with the Amazon S3 grid for this. So far this has been the perfect solution as well as an inexpensive one.</p>
<p>Currently, we are re-working the center column a bit to allow for smoother work flow, but the same basic feel will be retained.</p>
<h4>Some notes for the CSS geeks</h4>
<p>Notice how the text changes color on hover for the &#8220;send us your videos&#8221; and &#8220;Drew Carey Project Archive&#8221; areas in the right column? This was accomplished by using an &lt;a&gt; which has <a href="http://reason.tv/media/images/featured-hover-bg.gif">this</a> image applied to it using the background declaration. There&#8217;s a :hover state for the &lt;a&gt; which shifts the background image up by sixty eight pixels.</p>
<h4>Some earlier concepts:</h4>
<p><a class="thumbs" href="http://dancingmammoth.com/wp-content/uploads/dot-tv1lg.gif"><img class="alignnone size-full wp-image-82" title="dot-tv1" src="http://dancingmammoth.com/wp-content/uploads/dot-tv1.gif" alt="" /></a><a class="thumbs" href="http://dancingmammoth.com/wp-content/uploads/dot-tv2lg.gif"><img class="alignnone size-full wp-image-82" title="dot-tv1" src="http://dancingmammoth.com/wp-content/uploads/dot-tv2.gif" alt="" /></a><a class="thumbs" href="http://dancingmammoth.com/wp-content/uploads/dot-tv3lg.gif"><img class="alignnone size-full wp-image-82" title="dot-tv1" src="http://dancingmammoth.com/wp-content/uploads/dot-tv3.gif" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://dancingmammoth.com/2008/11/14/reasons-giant-leap-into-video/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Broadband for the People</title>
		<link>http://dancingmammoth.com/2008/07/17/broadband-for-the-people/</link>
		<comments>http://dancingmammoth.com/2008/07/17/broadband-for-the-people/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 19:04:14 +0000</pubDate>
		<dc:creator>Chris Coté</dc:creator>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[broadband census]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://dancingmammoth.com/?p=19</guid>
		<description><![CDATA[Technology author and activist Drew Clark turned to Dancing Mammoth when he wanted to make his idea for Broadbandcensus.com into a reality. He envisioned a site capable of providing the most accurate and up-to-date information on broadband technologies to consumers in the United States.]]></description>
			<content:encoded><![CDATA[<p><a href="http://broadbandcensus.com" target="_blank"><img src="http://dancingmammoth.com/wp-content/uploads/bbc-main-318x270.jpg" alt="" title="bbc-main" width="318" height="270" class="alignright size-medium image" /></a>Technology author and activist Drew Clark turned to Dancing Mammoth when he wanted to make his idea for <a href="http://broadbandcensus.com">Broadbandcensus.com</a> into a reality. He envisioned a site capable of providing the most accurate and up-to-date information  on broadband technologies to consumers in the United States.</p>
<p>Dancing Mammoth implemented blogs, wikis, speed tests, comments, real time graphs and carrier data into <a href="http://broadbandcensus.com">Broadbandcensus.com</a> and designed the clearinghouse Clark imagined.</p>
<p>The first step in the creation of the site involved gathering data for the &#8220;What are your broadband internet options?&#8221; function. Dancing Mammoth collected data from the <a href="http://www.fcc.gov">FCC</a> and maps from the <a href="http://www.usps.com">U.S. postal service</a>. Data was also gathered from individual carriers websites, this data is usually buried deep in the sites, or worse yet, involved some programming knowledge to scrape the data from the sites. We did the scraping and we did the hours of manipulating data to create a tool where users could search their market by zip code.</p>
<p>The website also continues to learn about broadband markets by surveying its users about location, carrier, promised speeds, and an individual&#8217;s rating of his service through a census. The survey data, in combination with the search function previously mentioned, a user can automatically correlate carriers to specific zip codes, along with promised speeds and any comments about that location and carrier.</p>
<p>The second part of the census involves a speed test. <a href="http://broadbandcensus.com">Broadbandcensus.com</a> has worked closely with <a href="http://www.internet2.edu">Internet2</a> and <a href="http://www.vt.edu">Virginia Tech</a> to implement a modified Java-based <a href="http://e2epi.internet2.edu/ndt/ndt-server-list.html">NDT (Network Diagnostics Tool) client</a>.</p>
<p>Based on the location provided by the user in the census, the site calculates the closest online NDT server accepting connections. The speed test takes approximately 30 seconds and roughly 50 data points are collected during this time, which measure everything from total speed to where bottlenecks in the network are occurring. Once this data is collected it allows the site to display real time percentages of user ratings and percentage of users getting their promised speeds. This is crucial when trying to find the right (only) carrier in your market and makes it a great research tool for consumers.</p>
<p><a href="http://broadbandcensus.com">Broadbandcensus.com</a> is now a publicly available resource that provides real data to consumers about broadband in the U.S. and facilitates consumer research and competition in the broadband carrier sector.</p>
<p>Technologies:</p>
<ul>
<li>Custom ORM Framework written in PHP/MySQL</li>
<li>Java</li>
<li>Javascript</li>
<li>Wordpress</li>
<li>custom wiki software</li>
</ul>
<p>Data:</p>
<ul>
<li>37,000 zipcodes</li>
<li>30,000 Federal datapoints</li>
<li>95,000 relationships</li>
<li>110,000 objects</li>
<li>1500 providers (and growing)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dancingmammoth.com/2008/07/17/broadband-for-the-people/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Please Take a Number</title>
		<link>http://dancingmammoth.com/2008/07/09/please-take-a-number/</link>
		<comments>http://dancingmammoth.com/2008/07/09/please-take-a-number/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 23:44:44 +0000</pubDate>
		<dc:creator>Brian Kieffer</dc:creator>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://dancingmammoth.com/?p=18</guid>
		<description><![CDATA[In the Internet world of seemingly endless computer resources, it&#8217;s not often that a website requires visitors to wait in line to visit, but a recent Dancing Mammoth project called for just that.
The Requirements:

Visitors will be added to a Virtual Waiting Room prior to advancing to website content.
Visitors will be advanced according to First In [...]]]></description>
			<content:encoded><![CDATA[<p>In the Internet world of seemingly endless computer resources, it&#8217;s not often that a website requires visitors to wait in line to visit, but a recent Dancing Mammoth project called for just that.</p>
<p>The Requirements:</p>
<ul>
<li>Visitors will be added to a Virtual Waiting Room prior to advancing to website content.</li>
<li>Visitors will be advanced according to First In First Out.</li>
<li>Page must indicate current position in line via a client provided Flash object.</li>
<li>An administrator must be able to control flow of traffic.</li>
</ul>
<p>The client expected light traffic to their video chat feature, so we decided that capturing queue data in a single table was the most efficient way to go. We could then poll at a some set interval to determine a visitor&#8217;s place in line, and take action based on the result.</p>
<p>The client-provided Flash object required use of a bit of javascript, so I decided to go ahead and implement the polling with the jQuery library&#8217;s ajax functionality &#8212; I ♥ jQuery. Here&#8217;s what the javascript function looks like:</p>
<pre class="brush: php;">function updatePosition()
{
	$.ajax({
		type: &quot;GET&quot;,
		url: &quot;queue/index.php&quot;,
		data: &quot;sess=&lt;?php echo $session_id ?&gt;&amp;random=&quot; + new Date().getTime(),
		dataType: &quot;xml&quot;,
		success: function(xml){
			var ky = &quot;&quot;;
			var val = &quot;&quot;;
			var action = &quot;&quot;;
			var pos = 0;
			$(&quot;response&quot;, xml).each(function(){
				$(&quot;action&quot;, this).each(function(){
					action = $(&quot;key&quot;, this).text();
					val = $(&quot;value&quot;, this).text();
					if(action == &quot;forward&quot;)
					{
						// Forward
						forwardToUrl(val);
					}else{
						//Update
						pos = val;
						thisMovie('queueCountdown').update(pos);
					}
				});
			});
		}
	});
}</pre>
<p>If you&#8217;d like to review all the sample files, you can <a href="http://dancingmammoth.com/wp-content/uploads/vwr.zip">download them here</a>, but no warranty is expressed or implied.</p>
<p>jQuery sends the visitor&#8217;s session id (as well as a random string &#8212; always send a random string when making ajax GET calls or IE will give you cached content) to a script that checks the queue and returns some XML with the action and associate value. Then the visitor is either forward to the content, or their position in line is displayed.</p>
<p>On the back end, the VirtualWaitingRoom class provides functionality to retrieve queue position, administratively advance visitors through the queue, and remove records for abandoned sessions.</p>
<p>The project was a success and while there&#8217;s nothing especially complex about it, this Virtual Waiting Room is a good short example of how various web technologies can come together to provide a unique solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://dancingmammoth.com/2008/07/09/please-take-a-number/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
