<?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>Web Performance Optimization</title>
	<atom:link href="http://blog.yottaa.com/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.yottaa.com</link>
	<description>A blog on website performance, page load time, web acceleration and web performance optimization (WPO)</description>
	<lastBuildDate>Wed, 09 May 2012 15:56:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Mother&#8217;s Day Website Performance Benchmark: E-Commerce Jewelry Stores</title>
		<link>http://blog.yottaa.com/2012/05/mothers-day-website-performance-benchmark-e-commerce-jewelry-stores</link>
		<comments>http://blog.yottaa.com/2012/05/mothers-day-website-performance-benchmark-e-commerce-jewelry-stores#comments</comments>
		<pubDate>Wed, 09 May 2012 15:56:07 +0000</pubDate>
		<dc:creator>apinto</dc:creator>
				<category><![CDATA[benchmark]]></category>
		<category><![CDATA[performance monitoring]]></category>
		<category><![CDATA[performance optimization]]></category>
		<category><![CDATA[web performance]]></category>
		<category><![CDATA[Yottaa]]></category>
		<category><![CDATA[#WebPerf]]></category>
		<category><![CDATA[Benchmark]]></category>
		<category><![CDATA[E-Commerce]]></category>
		<category><![CDATA[Jewelry]]></category>
		<category><![CDATA[Mother's Day]]></category>

		<guid isPermaLink="false">http://blog.yottaa.com/?p=3361</guid>
		<description><![CDATA[TweetPerformance varies widely within online-only and brick-and-mortar categories Mother’s day is a big time of year for jewelers.  According to a survey by the National Retail Federation, 31 percent of American consumers are planning to buy jewelry for the holiday &#8230; <a href="http://blog.yottaa.com/2012/05/mothers-day-website-performance-benchmark-e-commerce-jewelry-stores">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton3361" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.yottaa.com%2F2012%2F05%2Fmothers-day-website-performance-benchmark-e-commerce-jewelry-stores&amp;via=yottaa&amp;text=Mother%26%238217%3Bs%20Day%20Website%20Performance%20Benchmark%3A%20E-Commerce%20Jewelry%20Stores&amp;related=&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fblog.yottaa.com%2F2012%2F05%2Fmothers-day-website-performance-benchmark-e-commerce-jewelry-stores" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.yottaa.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><h3><strong>Performance varies widely within online-only and brick-and-mortar categories</strong></h3>
<div id="attachment_3377" class="wp-caption aligncenter" style="width: 540px"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/tiffanyhpsmallER.png"><img class="size-full wp-image-3377" title="Tiffany.com Home Page" src="http://blog.yottaa.com/wp-content/uploads/2012/05/tiffanyhpsmallER.png" alt="Tiffany.com Home Page" width="530" height="342" /></a><p class="wp-caption-text">How fast are these bracelets?</p></div>
<p>Mother’s day is a big time of year for jewelers.  According to a survey by the National Retail Federation, 31 percent of American consumers are planning to buy jewelry for the holiday this year.  Clearly there’s a lot of revenue at stake for jewelry retailers seeking to capitalize on that consumer willingness.</p>
<p>This pressure applies equally to e-commerce jewelers.  Online jewelry sales is big business: <a title="Internet Retailer Top 500 Ecommerce Guide" href="http://www.internetretailer.com/top500/" target="_blank">Internet Retailer’s <em>Top 500 Guide </em></a>counts 15 jewelers among its list of the 500 biggest e-commerce vendors.  Those 15 sites accounted for over $1 billion in category sales in 2010.</p>
<p>Website performance matters for any e-commerce vendor, but the issue takes on a distinctive hue when it comes to big-ticket items like jewelry.  As one might expect, average order size at online jewelry stores is consistently larger than at stores in other categories.  The largest jewelry e-retailer, for example, had an average order of nearly $1700 dollars in 2010.  What other B2C industry can boast such consistently large orders over the Internet?</p>
<p>These big orders mean that each visitor represents a large revenue opportunity—to lose any customers to a competitor because of a slow website would be distressing for any jewelry website owner.  With this in mind, we wanted to find out how some of the top jewelers stacked up in performance.  We compiled <a title="Yottaa Website Performance Benchmark Ecommerce Jewelry Sites" href="https://apps.yottaa.com/benchmarks/4fa02fad76111c64e90096e6?per_page=25" target="_blank">a performance benchmark</a> including 15 jewelry sites in the <em>Top 500</em> list, and tracked their performance. Click to see the results.</p>
<p><span id="more-3361"></span></p>
<h3><strong>The Results </strong></h3>
<p>Yottaa has real web browsers located around the world collecting performance data.  This data is then plugged into an algorithm that compiles it into a single score from 1 to 100, called the Yottaa Score.  This accounts for the relative importance of certain stages of the page load process regarding user experience, making Yottaa Score a distinctive measure of website performance from the shopper’s perspective.</p>
<p>The <a title="Yottaa Website Performance Benchmark Ecommerce Jewelry Sites" href="https://apps.yottaa.com/benchmarks/4fa02fad76111c64e90096e6?per_page=25" target="_blank">results of the benchmark</a> showed a wide range of performance: we saw Yottaa Scores from 10 to 90.  The average was 51 and the median 57.</p>
<p style="text-align: center;"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/jewelryfinalimg.png"><img class="aligncenter  wp-image-3362" title="Yottaa Jewelry Benchmark" src="http://blog.yottaa.com/wp-content/uploads/2012/05/jewelryfinalimg.png" alt="Yottaa Jewelry Benchmark" width="617" height="366" /></a></p>
<p>Interestingly, several online-only stores posted poorer performance than their brick-and-mortar competitors (B&amp;M).  It would seem that B&amp;M companies for which e-commerce forms a small percentage of annual revenue would devote less time to performance, while online-only businesses would make it a top priority.  That seems not to be so as a general rule.</p>
<p>In particular, Kay.com and Tiffany.com, sites operated by companies well over 100 years old, are near the top of the list for performance, while Jomashop.com and ICE.com, online only businesses, are at the bottom.  It’s worth noting that Jomashop runs its e-commerce on the notoriously slow Yahoo e-commerce platform.  It also appears that one online-only retailer, Limoges, took steps to improve performance during the time of the benchmark, possibly in preparation for the holiday</p>
<h3><strong>Images – A Necessary Evil? </strong></h3>
<p>Product pictures are hugely important for e-commerce success.  For most consumers, seeing before buying is imperative.  This is especially true for jewelry, as high-resolution, extreme-close-up photography is needed to exhibit the quality and workmanship of the pieces.  Plus, photos of jewelry are more likely than other types of products to be shared on Social Media or email, by customers who want friendly opinions on their choices or simply enjoy looking at beautiful baubles.  (One jeweler, Gemvara.com, is already successfully leveraging this photo-sharing tendency using Pinterest, and others are following suit.)</p>
<p>These pictures, however necessary, slow down websites.  This could partially explain the relatively poor performance of some of the jewelry websites.  Looking at our benchmark&#8217;s <a title="Website Complexity - Tiffany.com" href="https://apps.yottaa.com/url/www-jomashop-com-4fa031d77a6c8723690190b4/complexity" target="_blank">complexity breakdown for Tiffany.com</a>, one sees that the site has 69 assets on its homepage, mostly consisting of JavaScript.  There are only 15 images to load.</p>
<div id="attachment_3363" class="wp-caption aligncenter" style="width: 465px"><a href="https://apps.yottaa.com/url/www-tiffany-com-4fa442757a6c8708bd0169d3/complexity"><img class="size-full wp-image-3363 " title="Tiffany.com Asset Breakdown" src="http://blog.yottaa.com/wp-content/uploads/2012/05/tiffany-asset-breakdown.png" alt="Tiffany.com Asset Breakdown" width="455" height="204" /></a><p class="wp-caption-text">Tiffany.com Asset Breakdown</p></div>
<p>Jomashop.com, on the other hand, currently <a title="Jomashop Complexity Page" href="https://apps.yottaa.com/url/www-jomashop-com-4fa031d77a6c8723690190b4/complexity" target="_blank">loads 244 assets on its homepage</a>, with images taking up the lion&#8217;s share of the pie.</p>
<div id="attachment_3364" class="wp-caption aligncenter" style="width: 458px"><a href="https://apps.yottaa.com/url/www-jomashop-com-4fa031d77a6c8723690190b4/complexity"><img class="size-full wp-image-3364 " title="Jomashop Asset Breakdown" src="http://blog.yottaa.com/wp-content/uploads/2012/05/Jomashop-Asset-Breakdown.png" alt="Jomashop Asset Breakdown" width="448" height="207" /></a><p class="wp-caption-text">Jomashop Asset Breakdown</p></div>
<p>The performance difference between Jomashop and Tiffany is huge: 80 points of Yottaa score.  Tiffany is the best of show in this benchmark, while Jomashop rounds out the bottom.  Images are surely not the only factor in this performance differential, but it&#8217;s certainly worth noting that the number of images correlates so strongly with the performance in this case.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yottaa.com/2012/05/mothers-day-website-performance-benchmark-e-commerce-jewelry-stores/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New England Givecamp Non-Profits &amp; Developers Make Magic #NEGC2012</title>
		<link>http://blog.yottaa.com/2012/05/new-england-givecamp-non-profits-developers-make-magic-negc2012</link>
		<comments>http://blog.yottaa.com/2012/05/new-england-givecamp-non-profits-developers-make-magic-negc2012#comments</comments>
		<pubDate>Mon, 07 May 2012 15:12:56 +0000</pubDate>
		<dc:creator>wtoll</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[Yottaa]]></category>
		<category><![CDATA[#NEGC2012]]></category>
		<category><![CDATA[Givecamp]]></category>
		<category><![CDATA[New England Givecamp]]></category>
		<category><![CDATA[Yottaa Sponsor]]></category>

		<guid isPermaLink="false">http://blog.yottaa.com/?p=3343</guid>
		<description><![CDATA[TweetThis weekend marked the third New England Givecamp in Boston.  From Friday evening to Sunday afternoon, over 150 volunteers provided technology solutions for 29 non-profits in a “community codefest.” Designers, developers, database pros and project managers alike donated their time &#8230; <a href="http://blog.yottaa.com/2012/05/new-england-givecamp-non-profits-developers-make-magic-negc2012">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton3343" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.yottaa.com%2F2012%2F05%2Fnew-england-givecamp-non-profits-developers-make-magic-negc2012&amp;via=yottaa&amp;text=New%20England%20Givecamp%20Non-Profits%20%26%23038%3B%20Developers%20Make%20Magic%20%23NEGC2012&amp;related=&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fblog.yottaa.com%2F2012%2F05%2Fnew-england-givecamp-non-profits-developers-make-magic-negc2012" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.yottaa.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>This weekend marked the third <a href="http://newenglandgivecamp.org/">New England Givecamp</a> in Boston.  From Friday evening to Sunday afternoon, over 150 volunteers provided technology solutions for 29 non-profits in a “community codefest.” Designers, developers, database pros and project managers alike donated their time to provide custom solutions for the organizations, including websites, applications, CMS customizations, office automation and more.</p>
<p>The Boston event was organized by <a href="https://twitter.com/#%21/jimoneil">Jim O’Neil</a>, Developer Evangelist for Microsoft (Northeast US); <a href="https://twitter.com/#%21/Manage_Kelley">Kelley Muir</a>, Business Analyst; <a title="Content Management System" href="http://www.ektron.com/">Ektron</a>, an Enterprise Web Content Management system; and countless other volunteers and sponsors.</p>
<div id="attachment_3344" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/Jim-Oneil-and-Kelley-Muir.jpg"><img class="size-medium wp-image-3344" title="Jim Oneil and Kelley Muir " src="http://blog.yottaa.com/wp-content/uploads/2012/05/Jim-Oneil-and-Kelley-Muir-300x225.jpg" alt="Jim Oneil and Kelley Muir" width="300" height="225" /></a><p class="wp-caption-text">Jim O&#39;Neil and Kelley Muir</p></div>
<p>The technology sponsors included Microsoft, Telerik, Twilio, Mashery, 10gen and Yottaa, among many others.  Microsoft’s <a href="http://microsoftcambridge.com/Default.aspx">New England Research and Development</a> office and community center hosted the event, and <a href="http://newenglandgivecamp.org/sponsors-box/">thirty four other sponsors</a> donated food and financial support.</p>
<p><em>Yottaa sat down with several of the groups on Sunday to learn about what they accomplished over the weekend.  Read on for three stories of GiveCamp in action!</em></p>
<p><span id="more-3343"></span></p>
<h3><strong><a href="http://masssaves.org">MassSaves.org,</a> A Financial Education Collaborative</strong></h3>
<div id="attachment_3345" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/MassSaves-ORG.jpg"><img class="size-medium wp-image-3345" title="MassSaves-ORG Current and New Website Design at #NEGC2012" src="http://blog.yottaa.com/wp-content/uploads/2012/05/MassSaves-ORG-300x225.jpg" alt="MassSaves-ORG Current and New Website Design" width="300" height="225" /></a><p class="wp-caption-text">MassSaves-ORG Current and New Website Design at #NEGC2012</p></div>
<p>MassSaves.org is a non-profit resource dedicated to helping Massachusetts residents and organizations build personal financial competence and capability.  They sought help from their Givecamp technical team in updating their Drupal website with a fresh design and better navigation.  They also plan on using this update to highlight their new messaging, while adding more social media programs.  The goal is for the MassSaves.org website to become a hub for information with workshop listings, educational resources and newsletters.  The group members in attendance were the happy recipients of advice from project managers, a new design from a web designer, and help with Drupal from the experts at <a href="http://www.acquia.com">Acquia</a>.</p>
<h3><strong>New Hampshire Coalition to End Homelessness (NHCEH) (<a href="http://www.nhceh.org/">NHCEH.org</a>)</strong></h3>
<div id="attachment_3346" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/NH-Coalition-for-Homeless.jpg"><img class="size-medium wp-image-3346" title="NH Coalition To End Homeless Team at #NEGC2012" src="http://blog.yottaa.com/wp-content/uploads/2012/05/NH-Coalition-for-Homeless-300x225.jpg" alt="NH Coalition To End Homeless Team at #NEGC2012" width="300" height="225" /></a><p class="wp-caption-text">NH Coalition To End Homeless Team at #NEGC2012</p></div>
<p>The NECEH is part of the <a title="Families in Transition" href="http://www.fitnh.org/" target="_blank">Families in Transition</a> organization, and was hoping to have a new website built during Givecamp weekend.  They worked with developer <a href="http://ryanmsutton.com/">Ryan M. Sutton</a> to put their ideal website in place.  That included a new site architecture and navigation to include a place for their content and educational materials.  The website offers education, research and advocacy information.</p>
<h3><strong>Brookfield Craft Center (<a href="http://www.brookfieldcraft.org/">Brookfieldcraft.org</a>)</strong></h3>
<div id="attachment_3347" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/Brookfield-Craft-Center-Team.jpg"><img class="size-medium wp-image-3347" title="Brookfield Craft Center Team at #NEGC2012" src="http://blog.yottaa.com/wp-content/uploads/2012/05/Brookfield-Craft-Center-Team-300x225.jpg" alt="Brookfield Craft Center Team at #NEGC2012" width="300" height="225" /></a><p class="wp-caption-text">Brookfield Craft Center Team at #NEGC2012</p></div>
<p>The Brookfield Craft Center is one of the oldest creative study schools in the US, dedicated to teaching traditional and contemporary craft skills and fostering an appreciation of fine craftsmanship.  The organization, led by Heather Lawless, wanted its WordPress website to become a place where patrons could register for classes, create memberships, give donations, and eventually purchase the work of the school&#8217;s students.  The technical team discovered that many of the processes in place at the organization today required manual updates to the website, and worked as a team to add a creative calendar and database to the website.  We spotted and chatted with <a href="http://blog.codingoutloud.com/">Bill</a> and <a href="http://squdgy.wordpress.com/">Maura</a> Wilder on this team, both of whom regularly attend the Boston Web Performance Meetup.</p>
<p>There are 26 other stories we have not covered from this event, however we do know that the weekend long event will prove invaluable to the non-profit organizations that attended.  We also saw evidence of some great community spirit and budding friendships among the non-profits and the technical community.  Yottaa was proud to be a sponsor this year, and hope to be a repeat sponsor next year.</p>
<h3><strong>Check out our </strong><strong><a href="http://www.flickr.com/photos/yottaa/">Flickr gallery</a></strong><strong> from #NEGC2012</strong></h3>
<p><iframe src="http://www.flickr.com/slideShow/index.gne?group_id=&amp;user_id=63137032@N06&amp;set_id=72157629981600695&amp;tags=Givecamp,#NEGC2012,Yottaa,Boston" frameborder="0" scrolling="no" align="center" width="500" height="500"></iframe></p>
<p><span style="font-size: x-small;"><span style="line-height: 20px;"><br />
</span></span> Are you interested in participating in a similar event in your community?  Have a look at the list of worldwide locations with Givecamp events to see if there&#8217;s one in your city at <a href="http://givecamp.org/">http://givecamp.org/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yottaa.com/2012/05/new-england-givecamp-non-profits-developers-make-magic-negc2012/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Feature: Expanded Website Waterfall Chart</title>
		<link>http://blog.yottaa.com/2012/05/new-feature-expanded-website-waterfall-chart</link>
		<comments>http://blog.yottaa.com/2012/05/new-feature-expanded-website-waterfall-chart#comments</comments>
		<pubDate>Thu, 03 May 2012 16:06:49 +0000</pubDate>
		<dc:creator>apinto</dc:creator>
				<category><![CDATA[performance monitoring]]></category>
		<category><![CDATA[web performance]]></category>
		<category><![CDATA[Yottaa]]></category>
		<category><![CDATA[Developer tools]]></category>
		<category><![CDATA[Waterfall]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[web page loading report]]></category>
		<category><![CDATA[websitetest]]></category>
		<category><![CDATA[Yottaa Monitor]]></category>

		<guid isPermaLink="false">http://blog.yottaa.com/?p=3309</guid>
		<description><![CDATA[TweetWe are convinced that web performance challenges can be met with knowledge and access to data.  The problem is that as web pages grow heavier and more complex, so grows the amount and variety of performance data.  Developers need smarter &#8230; <a href="http://blog.yottaa.com/2012/05/new-feature-expanded-website-waterfall-chart">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton3309" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.yottaa.com%2F2012%2F05%2Fnew-feature-expanded-website-waterfall-chart&amp;via=yottaa&amp;text=New%20Feature%3A%20Expanded%20Website%20Waterfall%20Chart&amp;related=&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fblog.yottaa.com%2F2012%2F05%2Fnew-feature-expanded-website-waterfall-chart" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.yottaa.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>We are convinced that web performance challenges can be met with knowledge and access to data.  The problem is that as web pages grow heavier and more complex, so grows the amount and variety of performance data.  Developers need smarter tools to sift through this performance data, figure out where the bottlenecks are and what to do to fix them.</p>
<p>That’s why the Yottaa team developed our new waterfall chart. Starting from March 2012, all Yottaa users have access to the most powerful waterfall chart, ever.</p>
<p><span id="more-3309"></span></p>
<h3><strong>An Unprecedented Tool</strong></h3>
<p><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/hasslfall1.png"><img class="alignright size-medium wp-image-3319" title="hasslfall" src="http://blog.yottaa.com/wp-content/uploads/2012/05/hasslfall1-166x300.png" alt="" width="166" height="300" /></a></p>
<p>Waterfall charts have become indispensible tools for developers to analyze webpage performance.  Until now, though, waterfalls were limited: they displayed data one way (in the order that the assets are loaded by the browser) and offered very little help for data analysis.</p>
<p>At Yottaa, we analyze web performance every day and we know the pain. We decided to help ourselves and our customers by creating the most powerful web page performance visualization and analysis tool.</p>
<p>Our new waterfall now provides data filtering, sorting, details drill down as well as integrated actions. Developers and website owners can now investigate deeply into every asset: slicing, sorting, and filtering performance data as it’s conforms to the open HAR file standard.</p>
<p><strong>This is the first of three blog posts in which the Yottaa team will discuss some of the features in our new waterfall.</strong> This week we’ll cover the new Filtering and Sorting functionality; next week we’ll cover the deep drill down data on individual assets; and third we’ll cover some groundbreaking features in development that will be released later this year.</p>
<h3><strong>Filtering and Sorting – You<em> Can</em> Teach an Old Dog New Tricks</strong></h3>
<p>First, to access Yottaa’s new waterfall simply enter a URL into the field on the top right of your Yottaa dashboard. (Click <a href="https://apps.yottaa.com/signup">here</a> to get a free account if you don’t already have one).  From the ensuing page, you’ll be able to select “Page Load Time” on the left-hand navigation.  Here you’ll find the waterfall tool, along with an interactive performance graph.</p>
<p>Across the top of Yottaa’s waterfall you’ll see columns with categories describing the assets.  These will be familiar for developers—URL, HTTP Status, host address, size, type, and timeline breakdown (the “waterfall” part of the waterfall)—but we’ve packaged them together here for convenience.</p>
<p>The real key is that for each column of values, the user can select what assets the waterfall will display and how they will be ordered.  Sorting (ascending or descending) for any of these categories will allow developers to clue in quickly on problem areas, without having to hunt through a vast timeline for the key stats.  For instance, by clicking “sort (descending)” on the “timeline” column, developers will immediately be presented with a clear, neat view of the slowest assets on their website.</p>
<p style="text-align: center;"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/sort-descending-cnn2.png"><img class="aligncenter" title="Sort Descending" src="http://blog.yottaa.com/wp-content/uploads/2012/05/sort-descending-cnn2.png" alt="Sort Descending" width="580" height="246" /></a></p>
<h3><strong>Show Only What You Want To See</strong></h3>
<p>Additionally, on columns in which the values fall into categories, there is an option called “show only” that helps to further isolate desired pieces of data.  For instance, a developer could “show only” assets with 400 HTTP statuses, or only assets from a particular third party domain.  This flexibility will increase efficiency for developers seeking to find and fix performance issues as they arise in the development process.</p>
<p style="text-align: center;"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/sort-by-host.png"><img class="aligncenter  wp-image-3315" title="Sort by Host" src="http://blog.yottaa.com/wp-content/uploads/2012/05/sort-by-host.png" alt="Sort by Host" width="617" height="268" /></a></p>
<p style="text-align: center;"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/sort-by-host-result.png"><img class="aligncenter  wp-image-3316" title="Sort by Host Result" src="http://blog.yottaa.com/wp-content/uploads/2012/05/sort-by-host-result.png" alt="Sort by Host Result" width="631" height="270" /></a></p>
<p>This is especially the case for the “type” column. With the ability to separate all JavaScript files or all JPEG files, for example, from the rest of the website, developers will have greater insight into the components of web pages.</p>
<h3><strong>Why Is Sorting and Filtering Important?</strong><strong></strong></h3>
<p>Every time you analyze a waterfall chart, you are probably looking for answers to the following questions:</p>
<ol>
<li>Which assets are slow?</li>
<li>Which domains are slow?</li>
<li>Which assets are problematic &#8212; for example, returning 404 error?</li>
<li>How many Javascript files are there?</li>
<li>How many Javascript files are loaded from this third party domain such as Facebook.com?</li>
</ol>
<p>When you apply the new sorting and filtering capabilities, you will get answers to these questions instantly.</p>
<h3><strong>Try It Out!</strong></h3>
<p>In the next post, we will explore the deeper data that can be found by clicking on assets within the waterfall.  In the meantime, we encourage you to explore the tool on your own: just register <a href="https://apps.yottaa.com/signup">here</a> for access.</p>
<p>And please don’t hesitate to share any feedback on the waterfall in the comments or on Twitter <a href="http://www.twitter.com/yottaa">@Yottaa</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yottaa.com/2012/05/new-feature-expanded-website-waterfall-chart/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Yottaa Expert Eval – Grammy.com Web Performance Review</title>
		<link>http://blog.yottaa.com/2012/05/yottaa-expert-eval-grammy-com-web-performance-review</link>
		<comments>http://blog.yottaa.com/2012/05/yottaa-expert-eval-grammy-com-web-performance-review#comments</comments>
		<pubDate>Wed, 02 May 2012 17:19:54 +0000</pubDate>
		<dc:creator>apinto</dc:creator>
				<category><![CDATA[performance monitoring]]></category>
		<category><![CDATA[performance optimization]]></category>
		<category><![CDATA[web performance]]></category>
		<category><![CDATA[Yottaa]]></category>
		<category><![CDATA[#WebPerf]]></category>
		<category><![CDATA[grammy]]></category>
		<category><![CDATA[Monitoring]]></category>

		<guid isPermaLink="false">http://blog.yottaa.com/?p=3248</guid>
		<description><![CDATA[TweetEach week Yottaa CTO Bob Buffone digs into the data and evaluates the web performance of a new website.  Recommend a site for next week’s Expert Eval in the comments below or @Yottaa on Twitter! #ExpertEval This week&#8217;s web performance review is for www.Grammy.com, &#8230; <a href="http://blog.yottaa.com/2012/05/yottaa-expert-eval-grammy-com-web-performance-review">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton3248" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.yottaa.com%2F2012%2F05%2Fyottaa-expert-eval-grammy-com-web-performance-review&amp;via=yottaa&amp;text=Yottaa%20Expert%20Eval%20%E2%80%93%20Grammy.com%20Web%20Performance%20Review&amp;related=&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fblog.yottaa.com%2F2012%2F05%2Fyottaa-expert-eval-grammy-com-web-performance-review" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.yottaa.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p style="text-align: left;"><em>Each week Yottaa CTO <a title="Yottaa Website Performance Team" href="http://www.yottaa.com/team">Bob Buffone</a> digs into the data and evaluates the web performance of a new website.  Recommend a site for next week’s Expert Eval in the comments below or <a title="Yottaa Twitter" href="http://www.twitter.com/yottaa" target="_blank">@Yottaa</a> on Twitter! #ExpertEval</em></p>
<p style="text-align: left;"><em><br />
</em><a href="http://blog.yottaa.com/wp-content/uploads/2012/04/grammy.com_.png"><img class="size-medium wp-image-3249 aligncenter" title="Grammy.com" src="http://blog.yottaa.com/wp-content/uploads/2012/04/grammy.com_-300x257.png" alt="Grammy.com" width="300" height="257" /></a></p>
<p style="text-align: left;">This week&#8217;s web performance review is for <a href="www.grammy.com" target="_blank">www.Grammy.com</a>, which is built on <a title="Drupal.org" href="www.drupal.org" target="_blank">Drupal</a>.  The site is currently number <a title="Alexa Ranking" href="http://www.alexa.com/siteinfo/grammy.com">9,514</a> in the <a href="http://alexa.com">Alexa ranking</a>, meaning simply that it gets a whole lot of traffic in the full scheme of the Web.  Unfortunately for all those visitors, the site takes about <strong>20 seconds</strong> to download globally.  (See graph below or visit Yottaa&#8217;s <a title="Profile page for grammy.com" href="https://apps.yottaa.com/url/grammy-com-4fa053fe7a6c87237301ec0e">profile page for Grammy.com</a> for more detail)<a href="http://blog.yottaa.com/wp-content/uploads/2012/05/grammy.jpg"><img class="wp-image-3286 aligncenter" title="Grammy.com Page Load Time Graph" src="http://blog.yottaa.com/wp-content/uploads/2012/05/grammy.jpg" alt="Grammy.com Page Load Time Graph" width="768" height="126" /></a></p>
<p style="text-align: left;">It goes without saying that 20 seconds is <em>way</em> too long for a website to load. But a trained eye will notice that perhaps even more jarring than the long load time is the size of the page: 5.6MB &#8212; yes, <em>mega</em>bytes!  Displaying the homepage calls for 4.6 megabytes of images alone.</p>
<p style="text-align: left;"><span id="more-3248"></span></p>
<p style="text-align: center;"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/assets.jpg"><img class="wp-image-3287 aligncenter" title="Grammy.com Asset Breakdown" src="http://blog.yottaa.com/wp-content/uploads/2012/05/assets.jpg" alt="Grammy.com Asset Breakdown" width="772" height="132" /></a></p>
<p style="text-align: left;">I&#8217;d feel bad for anyone visiting this site using a mobile phone with limits on the data consumption. Looking at the <a href="http://www.att.com/shop/wireless/plans/data-plans.jsp?wtSlotClick=1-0077JD-0-2&amp;fbid=yfAcrKGbs-H">data plans for AT&amp;T</a>, there&#8217;s a range from 300MB to 5GB.</p>
<p style="text-align: center;"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/Wi-Fi-Data-Tethering-Data-Plan-Wireless-from-ATT.jpg"><img class="wp-image-3288 aligncenter" title="Wi-Fi Data &amp; Tethering Data Plan - Wireless from AT&amp;T" src="http://blog.yottaa.com/wp-content/uploads/2012/05/Wi-Fi-Data-Tethering-Data-Plan-Wireless-from-ATT.jpg" alt="Wi-Fi Data &amp; Tethering Data Plan - Wireless from AT&amp;T" width="517" height="290" /></a></p>
<p style="text-align: left;">So visiting the Grammy.com home page would consume, per plan:</p>
<p style="text-align: left; padding-left: 30px;">&#8211; 250MB plan: 2.2% of monthly bandwidth and cost 34 cents per visit</p>
<p style="text-align: left; padding-left: 30px;">&#8211; 300MB plan: 1.9% of monthly bandwidth and cost 37 cents per visit</p>
<p style="text-align: left; padding-left: 30px;">&#8211; 3GB plan: 0.19% of monthly bandwidth and costs 6 cents per visit</p>
<p style="text-align: left; padding-left: 30px;">&#8211; 5GB plan: 0.112% of monthly bandwidth and costs 6 cents per visit</p>
<p style="text-align: left;">That is a lot of money just to visit one webpage.</p>
<h3 style="text-align: left;"><strong>Zeroing In on the Issue</strong></h3>
<p style="text-align: left;">So what exactly are you paying for when you visit Grammy.com?  Well, the waterfall, as it always does, shows the problem&#8230;</p>
<p style="text-align: center;"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/waterfall.jpg"><img class="wp-image-3289 aligncenter" title="Grammy.com Waterfall" src="http://blog.yottaa.com/wp-content/uploads/2012/05/waterfall.jpg" alt="Grammy.com Waterfall" width="766" height="227" /></a></p>
<p style="text-align: left;">By filtering the waterfall to just display assets from the &#8220;external.ak.fbcdn.net&#8221; domain, you can see that 4.2MB of image download largely comes from the Facebook.com activity feed.  Let&#8217;s investigate a bit further.</p>
<p style="text-align: center;"><a href="http://blog.yottaa.com/wp-content/uploads/2012/05/facebook_activity.jpg"><img class="aligncenter" title="Grammy.com Facebook Widget" src="http://blog.yottaa.com/wp-content/uploads/2012/05/facebook_activity.jpg" alt="Grammy.com Facebook Widget" width="318" height="475" /></a></p>
<p style="text-align: left;">Looking at the activity feed on Grammy.com, you can see from the looks of the activity feed that this widget is pretty simple&#8211;a list of six items from the news feed with a little image next to each.  How can six  35&#215;35-pixel images take 4.2MB?</p>
<p style="text-align: left;">The answer is that the image being show, in a 35&#215;35 squares are not really that small. The image of <a href="http://joshbaze.com/">Josh Baze</a> is actually 560&#215;843. Ouch!  What&#8217;s happening is Facebook is not &#8220;right sizing&#8221; these images, which leads to large load times and a HUGE amount of wasted bandwidth.</p>
<p style="text-align: left;"><strong>Async Loading Facebook Plug</strong></p>
<p style="text-align: left;">In the webpage you will notice that they include the JavaScript for the facebook widget as follows&#8230;</p>
<pre>&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;</pre>
<h3 style="text-align: left;">This has a inherent performance issue because it will synchronously load the Javascript. On facebook&#8217;s developer page they tell you to load the Javascript using</h3>
<p>&lt;div id=&#8221;fb-root&#8221;&gt;&lt;/div&gt;<br />
&lt;script&gt;(function(d, s, id) {<br />
var js, fjs = d.getElementsByTagName(s)[0];<br />
if (d.getElementById(id)) return;<br />
js = d.createElement(s); js.id = id;<br />
js.src = &#8220;//connect.facebook.net/en_US/all.js#xfbml=1&amp;appId=20152740944&#8243;;<br />
fjs.parentNode.insertBefore(js, fjs);<br />
}(document, &#8216;script&#8217;, &#8216;facebook-jssdk&#8217;));&lt;/script&gt;</p>
<h3 style="text-align: left;">which is the asynchronous approach to loading Javascript.</h3>
<h3 style="text-align: left;"><strong>Conclusion</strong></h3>
<p style="text-align: left;">Avoid using the Facebook activity feed.  It is a huge performance problem. This widget should be 2 requests at most, and all of the images should be embedded as  dataURIs into the HTML file.</p>
<p style="text-align: left;">Bob (Buffone)</p>
<p style="text-align: left;"><strong>If you have a site that you’d like me to examine, add a comment here or tweet the name of the site to <a href="www.twitter.com/yottaa">@Yottaa</a>.</strong></p>
<p>Yottaa &#8211; Optimize. Protect. Monitor.</p>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.yottaa.com/2012/05/yottaa-expert-eval-grammy-com-web-performance-review/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The 2nd Wave of Cloud Debate</title>
		<link>http://blog.yottaa.com/2012/04/the-2nd-wave-of-cloud-debate</link>
		<comments>http://blog.yottaa.com/2012/04/the-2nd-wave-of-cloud-debate#comments</comments>
		<pubDate>Tue, 01 May 2012 00:29:00 +0000</pubDate>
		<dc:creator>coachwei</dc:creator>
				<category><![CDATA[industry]]></category>
		<category><![CDATA[Yottaa]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Hybrid-Cloud]]></category>
		<category><![CDATA[Network]]></category>

		<guid isPermaLink="false">http://blog.yottaa.com/?p=3254</guid>
		<description><![CDATA[TweetCloud Computing has reached a new adoption milestone, evident when recently the core debate about cloud computing has moved toward whether any given technology company will eventually outgrow a public cloud like Amazon Web Services (AWS), instead of whether to &#8230; <a href="http://blog.yottaa.com/2012/04/the-2nd-wave-of-cloud-debate">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton3254" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.yottaa.com%2F2012%2F04%2Fthe-2nd-wave-of-cloud-debate&amp;via=yottaa&amp;text=The%202nd%20Wave%20of%20Cloud%20Debate&amp;related=&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fblog.yottaa.com%2F2012%2F04%2Fthe-2nd-wave-of-cloud-debate" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.yottaa.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div id="attachment_3281" class="wp-caption alignleft" style="width: 312px"><a href="http://blog.yottaa.com/wp-content/uploads/2012/04/cloud.png"><img class="size-full wp-image-3281" title="cloud" src="http://blog.yottaa.com/wp-content/uploads/2012/04/cloud.png" alt="" width="302" height="224" /></a><p class="wp-caption-text">The 2nd wave of cloud debate</p></div>
<p>Cloud Computing has reached a new adoption milestone, evident when recently the core debate about cloud computing has moved toward whether any given technology company will eventually outgrow a public cloud like Amazon Web Services (AWS), instead of whether to work with the public cloud or a private cloud. <em><strong>We believe that cloud computing is a cost effective solution, no matter the size of your business.</strong></em></p>
<p>I recently spoke with <a href="http://pro.gigaom.com/members/derrickharris/profile">Derrick Harris</a> at GigaOm about this very topic.  It was nice to have the opportunity to share Yottaa’s cloud story and explain the company’s hybrid cloud approach. At Yottaa, we took a very unique approach to build our infrastructure. We use Amazon AWS extensively, from EC2, S3, ELB, EBS, SQS, CloudFront to IAM and plan to add a few others soon. We also use quite a few other cloud providers such as Microsoft and Voxel.   Beyond that, we built our own physical data centers as well.  Our network covers over 24 global data centers today. We call this a “<a title="Yottaa Hybrid Cloud" href="http://www.yottaa.com/network-map">hybrid cloud</a>” or “<a title="Yottaa Hybrid Network" href="http://www.yottaa.com/network-map">a hybrid network.</a>”</p>
<p><span id="more-3254"></span></p>
<p>For context, Yottaa provides services in the cloud to optimize,  protect and monitor websites and web applications, dramatically improving website speed, scale, security and business results. More than 100 million unique visitors go through the Yottaa Network per month – that is almost 5% of the entire Internet population. Our systems continuously optimize themselves to find the right mix of public and private clouds in which to send traffic. We do this with the full understanding that some traffic is best routed and served to AWS, while there are other times served at our own private cloud facilities. For example, in our case, if a specific application has a unique requirement that can’t be met in the cloud (which is rare), such as in the locations that no public cloud exists, then we’ll use our own infrastructure.</p>
<p>Derrick’s recent article <a href="http://gigaom.com/cloud/worried-youll-outgrow-the-cloud-youre-not-alone/">Worried you&#8217;ll outgrow the cloud? You’re not alone</a> offers unique perspective and insight as per usual. However, there are a few things I didn&#8217;t communicate to Derrick clearly &#8211; so I want to clarify them here.</p>
<h3><strong>Cost</strong></h3>
<p>The big thing that I learned is that a company should always be looking at infrastructure and cost, especially so in this “cloud era” that we have many more options to optimize than before.  Of late there seems to be a common perception that when you reach a certain scale, using cloud computing is no longer cost-effective. I would disagree with this statement &#8211; for us, AWS has been and continues to be cost-effective for our workloads.</p>
<p>When it comes to optimizing cost factors, it may actually be easier to document, manage and predict in the public cloud than if you are managing your own hardware. On the public side, so long as your applications and workloads are designed for the cloud&#8217;s elastic computing, you can easily plan ahead on the cost-management side. All the costs land on the operational side of the balance sheet.</p>
<p>Private clouds become exponentially more complicated with a blend of capital and operational factors. You need to account for hardware and administration, not to mention management costs. Then you have the unused capacity issues, lower economies of scale, and higher opportunity costs.</p>
<p>More importantly, the strategic use of cloud services like AWS is how new companies like Yottaa can innovate beyond old companies. As an example, the 15-year-old  Content delivery network (CDN) industry has many well-known players who tout their “50,000 servers” as their unique advantage.</p>
<p>At Yottaa, we have a drastically different story about the number of servers: Yottaa can scale to 100,000+ servers in a matter of hours. In this cloud era, we should be talking about elasticity. Talking about the “number of servers” is missing the point.</p>
<h3><strong>Security and Performance</strong></h3>
<p>The debate of whether a public cloud or a self-created and controlled environment is better for security and performance will continue to rage. The real debate should be about how to leverage them to meet business requirements. The reality is that public cloud like AWS has no problem at all in delivering security and performance. We found that cloud providers like AWS and Microsoft have done an amazing job – their network level protection and defense is far more sophisticated than most private clouds can ever achieve. The real issue here isn&#8217;t whether a public cloud can deliver security and performance, but rather what a cloud customer should do. It’s important to understand the specific requirements of your applications so you can ensure high performance and security in whatever environment you deploy them in – whether that’s your own data center or the cloud.</p>
<p>The key is to understand the differences and tradeoff between different environments and manage them appropriately. For example, identify the special requirements for your application that you want to manage directly while running everything else in the cloud.  An example I talked to Derrick about is SSL acceleration. Due to its high IP address space requirements, we identified this is something that we want to manage directly and serve from Yottaa&#8217;s private cloud.</p>
<h3><strong>Monitoring</strong></h3>
<p>Just as with cost, companies need to examine their own applications to ensure high performance, no matter the environment – whether it&#8217;s your own datacenter or the cloud. At Yottaa, we pride ourselves on our ‘optimized approach’ by sending workloads and traffic to the infrastructure that is the best fit for any particular task.</p>
<p>From the beginning Yottaa architected both core and ancillary services to take advantage of the best qualities of each environment, which at the core include elasticity.  We will continue to expand our usage of public clouds like AWS. It has served us well and I&#8217;m sure it will continue to serve us well.</p>
<p>Our job here at Yottaa is to help our customers take advantage of that so they can make their website performance and security the best it can be, no matter what infrastructure they choose.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yottaa.com/2012/04/the-2nd-wave-of-cloud-debate/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Web Performance Beijing Meetup a Success! #WebPerf</title>
		<link>http://blog.yottaa.com/2012/04/first-web-performance-beijing-meetup-a-success</link>
		<comments>http://blog.yottaa.com/2012/04/first-web-performance-beijing-meetup-a-success#comments</comments>
		<pubDate>Mon, 30 Apr 2012 15:14:44 +0000</pubDate>
		<dc:creator>apinto</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[industry]]></category>
		<category><![CDATA[performance monitoring]]></category>
		<category><![CDATA[performance optimization]]></category>
		<category><![CDATA[web performance]]></category>
		<category><![CDATA[Yottaa]]></category>
		<category><![CDATA[#WebPerf]]></category>
		<category><![CDATA[Beijing]]></category>
		<category><![CDATA[China]]></category>
		<category><![CDATA[Front End Optimization]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[optimization]]></category>

		<guid isPermaLink="false">http://blog.yottaa.com/?p=3233</guid>
		<description><![CDATA[TweetLast week Yottaa&#8217;s Beijing office hosted a landmark event: the first Web Performance Beijing Meetup.  It marks the first of what we at Yottaa hope will be a great many Meetups and a new era in sharing knowledge about Web &#8230; <a href="http://blog.yottaa.com/2012/04/first-web-performance-beijing-meetup-a-success">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton3233" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.yottaa.com%2F2012%2F04%2Ffirst-web-performance-beijing-meetup-a-success&amp;via=yottaa&amp;text=First%20Web%20Performance%20Beijing%20Meetup%20a%20Success%21%20%23WebPerf&amp;related=&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fblog.yottaa.com%2F2012%2F04%2Ffirst-web-performance-beijing-meetup-a-success" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.yottaa.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a href="http://blog.yottaa.com/wp-content/uploads/2012/04/11.jpg"><img class="alignright size-medium wp-image-3242" title="Beijing Web Performance at Yottaa" src="http://blog.yottaa.com/wp-content/uploads/2012/04/11-199x300.jpg" alt="Beijing Web Performance at Yottaa" width="199" height="300" /></a>Last week Yottaa&#8217;s Beijing office hosted a landmark event: the first Web Performance Beijing Meetup.  It marks the first of what we at Yottaa hope will be a great many Meetups and a new era in sharing knowledge about Web Performance in the great city of Beijing.</p>
<p>This newest chapter in the worldwide <a href="http://www.meetup.com/find/?keywords=web+performance+&amp;mcId=&amp;mcName=&amp;lat=&amp;lon=&amp;userFreeform=&amp;gcResults=&amp;submitButton=Search&amp;op=search">Web Performance Meetups</a> (#WebPerf) is off to an auspicious start.  The room at the Yottaa offices in the Heidan District of Beijing was filled with excited attendees&#8211;just a few more and it would have been standing room only!</p>
<h3><strong>Sharing Knowledge, from Boston to Beijing</strong></h3>
<p>The attendees heard opening remarks from Yottaa&#8217;s Jin Jian followed by a talk from Yottaa CTO <a title="Yottaa's Team" href="https://www.yottaa.com/team">Bob Buffone</a> called &#8220;An Expert&#8217;s Guide to Making Websites Slow: Design Anti-Patterns.&#8221;  In the talk, Bob discussed a number of points in the design and update of websites where the decisions made can conspire to slow down website performance, and made suggestions for how to avoid those results.  After the talk, attendees joined in an informal question and answer session and general discussion of Web Performance.</p>
<p>With the success of the first meetup all of us at Yottaa are looking forward hosting another very soon.  Stay tuned for details!</p>
<p><strong>Special note</strong> &#8211; we would like to thank <a title="Sergey Chernyshev" href="http://www.sergeychernyshev.com/">Segey Chernyshev</a> and all of the <a title="Meetup.com Search for Web Performance" href="http://www.meetup.com/find/?keywords=web+performance+&amp;mcId=&amp;mcName=&amp;lat=&amp;lon=&amp;userFreeform=&amp;gcResults=&amp;submitButton=Search&amp;op=search">WebPerf meetup</a> organizers around the world for their inspiration and support.</p>
<p><iframe src="http://www.flickr.com/slideShow/index.gne?group_id=&amp;user_id=63137032@N06&amp;set_id=72157629568528146&amp;tags=Yottaa,WebPerformance,Beijing,China,Meetup,WebPerf" frameborder="0" scrolling="no" align="middle" width="500" height="500"></iframe><br />
<span style="font-size: x-small;"><span style="line-height: 20px;"><br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yottaa.com/2012/04/first-web-performance-beijing-meetup-a-success/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing the First Beijing Web Performance Meetup #WebPerf</title>
		<link>http://blog.yottaa.com/2012/04/announcing-the-first-beijing-web-performance-meetup-webperf</link>
		<comments>http://blog.yottaa.com/2012/04/announcing-the-first-beijing-web-performance-meetup-webperf#comments</comments>
		<pubDate>Mon, 23 Apr 2012 16:00:22 +0000</pubDate>
		<dc:creator>apinto</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[industry]]></category>
		<category><![CDATA[web performance]]></category>
		<category><![CDATA[Yottaa]]></category>
		<category><![CDATA[#WebPerf]]></category>
		<category><![CDATA[Beijing]]></category>
		<category><![CDATA[China]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[Web Performance Optimizatinon]]></category>
		<category><![CDATA[WebPerf Meetup]]></category>

		<guid isPermaLink="false">http://blog.yottaa.com/?p=3209</guid>
		<description><![CDATA[TweetA key reason Yottaa is such a distinctive company is that we&#8217;re truly international: from the beginning our team has been split between offices in Beijing and Boston.  And while YoTeam members in Boston can often be found attending and &#8230; <a href="http://blog.yottaa.com/2012/04/announcing-the-first-beijing-web-performance-meetup-webperf">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton3209" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.yottaa.com%2F2012%2F04%2Fannouncing-the-first-beijing-web-performance-meetup-webperf&amp;via=yottaa&amp;text=Announcing%20the%20First%20Beijing%20Web%20Performance%20Meetup%20%23WebPerf&amp;related=&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fblog.yottaa.com%2F2012%2F04%2Fannouncing-the-first-beijing-web-performance-meetup-webperf" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.yottaa.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a href="http://blog.yottaa.com/wp-content/uploads/2012/04/wpbeijing.jpg"><img class="alignright size-full wp-image-3210" title="WebPerf Beijing Meetup" src="http://blog.yottaa.com/wp-content/uploads/2012/04/wpbeijing.jpg" alt="WebPerf Beijing Meetup" width="200" height="300" /></a>A key reason Yottaa is such a distinctive company is that we&#8217;re truly international: from the beginning our team has been split between offices in Beijing and Boston.  And while YoTeam members in Boston can often be found attending and speaking at local Meetup events, we couldn&#8217;t help but notice the unfortunate absence of Web Performance events in Beijing.  We set out to change that.</p>
<p>April 27, 2012 marks the<strong> first ever Beijing Web Performance Meetup.</strong> It will be held at Yottaa&#8217;s Beijing office in the Heidian District.</p>
<p>At the event, Yottaa CTO Bob Buffone will present a talk entitled &#8220;An expert&#8217;s guide to making a website slow! Anti-design patterns.&#8221; Bob will present in English, through a Chinese translator.</p>
<p>The talk will identify a number of key points in the development and updating of a website where the decisions made commonly conspire to slow down the website.  Attendees will leave the session with a list of do’s and don’ts on how to make a faster website.</p>
<p>We&#8217;re thrilled to be getting some of Beijing&#8217;s web performance professionals into one room for what&#8217;s sure to be an awesome discussion.  We truly hope that this event will be only the first in a long line of WebPerf Meetups to occur in this great city.</p>
<p>Click &#8220;Continue Reading&#8221; for details on the Meetup.</p>
<p><span id="more-3209"></span></p>
<p><strong>Date/Time:</strong> Apr 27, 2012 (Friday), 1:30pm &#8211; 3:30pm</p>
<p><strong>Address:</strong> Yottaa Inc. &#8211; Suite 316, C-King Tower, 17 East Madian Road, Heidian district, Beijing (1000290)</p>
<p><strong>Registration:</strong> <a href="http://www.douban.com/event/16321021/">http://www.douban.com/event/16321021/</a></p>
<p><strong>About Bob:</strong> Bob Buffone is  Co-founder and current CTO of Yottaa. Before Yottaa, Bob was Chief Architect at Nexaweb. Through his work at Nexaweb, Bob became an industry leader in web performance and has been invited to many industry conferences such as JavaOne, the Server-Side Symposium, EclipseCon, ApacheCon, AjaxWorld and the Ajax Experience to speak on web performance. Before he joined Nexaweb in 2003, Bob was with Trakus, a technology company focused on tracking sports athletes in real time. At Trakus Bob designed a real-time distributed control system and many of its front-end applications. Before Trakus, Bob was at Cabletron designing network communications related software (FTP, TCP/IP, SMNP etc.).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yottaa.com/2012/04/announcing-the-first-beijing-web-performance-meetup-webperf/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yottaa Expert Eval – JaneGoodall.org Web Performance Review</title>
		<link>http://blog.yottaa.com/2012/04/yottaa-expert-eval-janegoodall-org-web-performance-review</link>
		<comments>http://blog.yottaa.com/2012/04/yottaa-expert-eval-janegoodall-org-web-performance-review#comments</comments>
		<pubDate>Fri, 20 Apr 2012 16:13:07 +0000</pubDate>
		<dc:creator>apinto</dc:creator>
				<category><![CDATA[performance monitoring]]></category>
		<category><![CDATA[performance optimization]]></category>
		<category><![CDATA[web performance]]></category>
		<category><![CDATA[Yottaa]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[web performance assessment]]></category>

		<guid isPermaLink="false">http://blog.yottaa.com/?p=3148</guid>
		<description><![CDATA[TweetEach Friday Yottaa CTO Bob Buffone digs into the data and evaluates the web performance of a new website.  Recommend a site for next week’s Expert Eval in the comments below or @Yottaa on Twitter! #ExpertEval Each week I examine a website that exhibits &#8230; <a href="http://blog.yottaa.com/2012/04/yottaa-expert-eval-janegoodall-org-web-performance-review">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton3148" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.yottaa.com%2F2012%2F04%2Fyottaa-expert-eval-janegoodall-org-web-performance-review&amp;via=yottaa&amp;text=Yottaa%20Expert%20Eval%20%E2%80%93%20JaneGoodall.org%20Web%20Performance%20Review&amp;related=&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fblog.yottaa.com%2F2012%2F04%2Fyottaa-expert-eval-janegoodall-org-web-performance-review" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.yottaa.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><em>Each Friday Yottaa CTO <a title="Yottaa Website Performance Team" href="http://www.yottaa.com/team">Bob Buffone</a> digs into the data and evaluates the web performance of a new website.  Recommend a site for next week’s Expert Eval in the comments below or <a title="Yottaa Twitter" href="http://www.twitter.com/yottaa" target="_blank">@Yottaa</a> on Twitter! #ExpertEval</em></p>
<p style="text-align: center;"><a href="www.janegoodall.org"><img class="aligncenter" title="Goodall screen grab" src="http://blog.yottaa.com/wp-content/uploads/2012/04/goodall-screen-grab-300x229.png" alt="JaneGoodall.org" width="300" height="229" /></a></p>
<p>Each week I examine a website that exhibits performance challenges.  Some of these issues will be of the YSlow variety &#8212; less request, more compression, etc.  This week we took a look a <a title="Drupal Open Source CMS" href="http://drupal.org/" target="_blank">Drupal</a> site, the Jane Goodall Institute&#8217;s <a href="http://www.janegoodall.org">www.janegoodall.org</a>.  The site has three issues that bear discussion.<span id="more-3148"></span></p>
<h3><span style="color: #000000;"><strong>1. Compression</strong></span></h3>
<p>The website does not use compression for test files like JavaScript, HTML and CSS.  Looking at the <a href="https://apps.yottaa.com/url/www-janegoodall-org-4f8484075ad5ea070700721f/page_load">waterfall chart</a> (via <a title="Yottaa Website Monitor" href="https://www.yottaa.com/website-monitor" target="_blank">Yottaa</a>) for the site, you&#8217;ll notice the homepage is compressed with gzip&#8211;you can tell because the response header <strong>Content-Encoding </strong>equals<strong> gzip.  </strong>However, as is shown in the screenshot below, none of the other assets on the homepage, nor other HTML files, are gzipped.  This reveals a missed opportunity for better performance on the homepage.</p>
<p><a href="http://blog.yottaa.com/wp-content/uploads/2012/04/Yottaa_-Page-Load-for-http___www.janegoodall.org-1.jpg"><img class="wp-image-3181 alignnone" title="Asset Response Headers" src="http://blog.yottaa.com/wp-content/uploads/2012/04/Yottaa_-Page-Load-for-http___www.janegoodall.org-1.jpg" alt="" width="676" height="309" /></a></p>
<h3><strong>2. Data URIs</strong></h3>
<p>This website, like many others today, has a number of assets that could be encoded as data URIs.  Data URIs are a great way to &#8220;inline&#8221; small files (ones that are only a handful of KB&#8217;s each) so that they are fetched by a single HTTP request.</p>
<p>If you were to sort the waterfall for JaneGoodall.org by &#8220;asset size,&#8221; (as I have below) you&#8217;d see that there are 20 assets less than 5KB in size.  This group of assets represents another example of missed opportunity for performance improvement: each of them requires its own round trip, whereas they could become a single request by using a data URI.</p>
<p><a href="http://blog.yottaa.com/wp-content/uploads/2012/04/Yottaa_-Page-Load-for-http___www.janegoodall.org-2.jpg"><img class="alignnone  wp-image-3183" title="Potential assets for Data URIs" src="http://blog.yottaa.com/wp-content/uploads/2012/04/Yottaa_-Page-Load-for-http___www.janegoodall.org-2.jpg" alt="" width="750" height="376" /></a></p>
<h3><strong>3. Secondary Pages</strong></h3>
<p>Load times for secondary pages on JaneGoodall.org are much slower than the load time for the home page. Compare, for example, the <a href="https://apps.yottaa.com/url/www-janegoodall-org-4f8484075ad5ea070700721f">Home page</a> and <a href="https://apps.yottaa.com/url/www-janegoodall-org-4f914ac47a6c87048b067745">Donation page</a>.  Looking at the data you can see:</p>
<ul>
<li><strong>Overall load time</strong>: homepage (<strong>5.13</strong>) vs donation page (<strong>11.34</strong>)</li>
<li><strong>Reachability</strong>: homepage (<strong>1.09</strong>) vs donation page (<strong>2.92</strong>)</li>
<li><strong>Page size</strong>: homepage (<strong>1.1KB</strong>) vs donation page (<strong>1.7KB</strong>)</li>
</ul>
<div><span style="font-size: small;"><span style="line-height: 24px;"><br />
</span></span></div>
<p>Most developers optimize homepages, but secondary and tertiary pages must be optimized as well in order to achieve a truly well-performing site. The Jane Goodall Institute depends on donations to keep up the great work they are doing, so having a slow donation page could potentially cut down on the site&#8217;s conversion rate, even if its homepage loads pretty quickly.</p>
<p>This is a perfect example of the challenges brought on by sites that are manually optimized: each page must be optimized separately, by hand. Even though the Jane Goodall site is built by <a title="Drupal CMS Website Development Agency" href="http://www.trellon.com/" target="_blank">Trellon</a>, it still requires each page to be optimized differently. This a difficult problem for the creators of the site.  The Goodall Institute chose to use a CMS to make managing their website easier, but now need to optimize each page differently.  In order to fix the problem they will need to dig into the template or CMS internals and figure out where to optimize each specific page.</p>
<p><strong>If you have a site that you&#8217;d like me to examine, add a comment or tweet the name of the site to @yottaa.</strong>  Yottaa: Optimize. Protect. Monitor.</p>
<p>Bob (Buffone)</p>
<p>&nbsp;</p>
<p><a href="www.janegoodall.org"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yottaa.com/2012/04/yottaa-expert-eval-janegoodall-org-web-performance-review/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yottaa Expands Global Hybrid Cloud and CDN Locations</title>
		<link>http://blog.yottaa.com/2012/04/yottaa-expands-global-hybrid-cloud-and-cdn-locations</link>
		<comments>http://blog.yottaa.com/2012/04/yottaa-expands-global-hybrid-cloud-and-cdn-locations#comments</comments>
		<pubDate>Mon, 16 Apr 2012 19:25:35 +0000</pubDate>
		<dc:creator>apinto</dc:creator>
				<category><![CDATA[performance monitoring]]></category>
		<category><![CDATA[performance optimization]]></category>
		<category><![CDATA[web performance]]></category>
		<category><![CDATA[Yottaa]]></category>
		<category><![CDATA[Yottaa CDN]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[Chicago]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Content Delivery Network]]></category>
		<category><![CDATA[Data Center]]></category>
		<category><![CDATA[Hybrid-Cloud]]></category>
		<category><![CDATA[Network]]></category>

		<guid isPermaLink="false">http://blog.yottaa.com/?p=3158</guid>
		<description><![CDATA[TweetYottaa’s DevOps team has just returned from Chicago.  But far from reveling in the success of the Bulls or taking pictures of a giant bean, the team spent their days holed up in a datacenter, expanding the geographic footprint of &#8230; <a href="http://blog.yottaa.com/2012/04/yottaa-expands-global-hybrid-cloud-and-cdn-locations">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton3158" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.yottaa.com%2F2012%2F04%2Fyottaa-expands-global-hybrid-cloud-and-cdn-locations&amp;via=yottaa&amp;text=Yottaa%20Expands%20Global%20Hybrid%20Cloud%20and%20CDN%20Locations&amp;related=&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fblog.yottaa.com%2F2012%2F04%2Fyottaa-expands-global-hybrid-cloud-and-cdn-locations" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.yottaa.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Yottaa’s DevOps team has just returned from Chicago.  But far from reveling in the <a href="http://27.media.tumblr.com/tumblr_m0e3pnwsFH1qj966mo1_500.gif">success of the Bulls</a> or taking pictures of a <a href="http://gochicago.about.com/od/attractionsandlandmarks/ss/millennium_park_6.htm">giant bean</a>, the team spent their days holed up in a datacenter, expanding the geographic footprint of Yottaa’s hybrid-cloud network for the benefit of Yottaa customers.  That is to say, they just spent several days in a cold, windowless room with deafening white noise and security guards watching their every move. Thanks guys!</p>
<p>The DevOps team, led by Director of Operations Jason Parsons, installed new physical servers and configured a new data center location in one of the world’s best datacenters, located in Chicago’s South Loop. The new datacenter there joins the dozens of others in Yottaa’s hybrid-cloud network that we use to operate our Site Speed Optimizer and Monitor services.</p>
<div id="attachment_3159" class="wp-caption aligncenter" style="width: 235px"><a href="http://blog.yottaa.com/wp-content/uploads/2012/04/datacenter-2.jpg"><img class="size-medium wp-image-3159" title="Chicago Datacenter" src="http://blog.yottaa.com/wp-content/uploads/2012/04/datacenter-2-225x300.jpg" alt="Chicago Datacenter" width="225" height="300" /></a><p class="wp-caption-text">Entrance to the datacenter in Chicago, photo by Jason Parsons</p></div>
<h3><strong>Decisions, Decisions</strong></h3>
<p>One of the biggest challenges in building a secure and effective network like Yottaa’s is determining which facilities, providers, and equipment will be optimal for the performance of the network.  Yottaa is continuously analyzing our geographic reach, researching the state of the art in network deployments, and ensuring that we are able to provide our customers with the best service in a cost-effective manner. We also must assure the utmost network security at all times.</p>
<p>One reason we chose this particular data center was for its location. Chicago’s geographic centrality in North America makes it a great location for traffic going to and from the millions of people in the upper Midwest and Canada.  The highest concentrations of datacenters in the world are in the Northern Virginia and San Francisco areas, which means the northern-central region can sometimes be underserved.  Not on our network.</p>
<p>We also chose the Chicago datacenter because it’s a top-notch facility: a “Tier 4 datacenter” as those in the industry would say. (Tier certification is performed by the <a href="http://uptimeinstitute.com/">Uptime Institute</a>, and “4” is the top of the pyramid.  Specifics on what defines each Tier changes constantly as new technology is developed.)</p>
<p>Built in a former R.R. Donnelly Co. printing press structure, the datacenter has a distinguished and historical appearance on the outside, unlike the average datacenter that’s housed in an unremarkable bunker-like structure.  But more important than the appearance is what’s inside.  The center has over a million square feet of datacenter space, making it <a href="http://www.datacenterknowledge.com/special-report-the-worlds-largest-data-centers/worlds-largest-data-center-350-e-cermak/">the largest datacenter of its kind in the world</a>.</p>
<p>The Chicago datacenter has security features such as mandatory “man trap” access (think of the airlocks for entering and exiting space shuttles), a redundant liquid cooling system, and A/B power supply&#8211;meaning every piece of equipment is hooked up to two power sources so that if one fails the other can pick up the slack.</p>
<p>We could go on and on about the fantastic space-age features of this datacenter, but it should suffice to say: we feel safe putting our servers here.</p>
<h3><strong>The Challenges + Benefits of Unique Infrastructure</strong></h3>
<p>We want to achieve the best, most secure connections for our network while delivering the lowest latency for our customers.  Building a scalable network, though, presents its challenges, especially in a the highly complex world of hybrid-cloud networks.</p>
<p>Our software was designed from the start to work on best-in-class infrastructure, whether that means a cloud provider, a managed services provider, or our own physical infrastructure. For our own infrastructure—the stuff we use to provision, configure, manage, and monitor our servers—we designed from the ground up for it to work in any environment.  This means that we can’t rely on features only available from one provider&#8211;our infrastructure needs to be self-contained and generalizable.  It needs to accommodate the differences between various virtualization or “boot strapping” environments, thereby providing a way for us to automatically and easily scale across all of our facilities.</p>
<p>The Yottaa DevOps team has achieved this through robust infrastructure based on technologies such as the Linux Operating System, automated Kickstart deployments, and configuration management and automation with Puppet.  By designing these tools in from the start, our team is able to rapidly scale our services to provide the best performance to our customers.</p>
<p><em>To learn more about Yottaa’s network and see a map of all our locations, visit our <a href="https://www.yottaa.com/network-map">Network Map</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yottaa.com/2012/04/yottaa-expands-global-hybrid-cloud-and-cdn-locations/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Organizational Knowledge and Choosing What Not to Use: A CoffeeScript Story</title>
		<link>http://blog.yottaa.com/2012/04/organizational-knowledge-and-choosing-what-not-to-use-a-coffeescript-story</link>
		<comments>http://blog.yottaa.com/2012/04/organizational-knowledge-and-choosing-what-not-to-use-a-coffeescript-story#comments</comments>
		<pubDate>Fri, 13 Apr 2012 13:48:33 +0000</pubDate>
		<dc:creator>bbuffone</dc:creator>
				<category><![CDATA[industry]]></category>
		<category><![CDATA[Yottaa]]></category>
		<category><![CDATA[coffeescript]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[web team]]></category>

		<guid isPermaLink="false">http://blog.yottaa.com/?p=3119</guid>
		<description><![CDATA[TweetEvery day, we at Yottaa make choices on what to bring into our organization and what to keep away. We have a fairly large team that spans two continents, two languages (中文，English), 12 hours, multiple teams and varying levels of &#8230; <a href="http://blog.yottaa.com/2012/04/organizational-knowledge-and-choosing-what-not-to-use-a-coffeescript-story">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton3119" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.yottaa.com%2F2012%2F04%2Forganizational-knowledge-and-choosing-what-not-to-use-a-coffeescript-story&amp;via=yottaa&amp;text=Organizational%20Knowledge%20and%20Choosing%20What%20Not%20to%20Use%3A%20A%20CoffeeScript%20Story&amp;related=&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fblog.yottaa.com%2F2012%2F04%2Forganizational-knowledge-and-choosing-what-not-to-use-a-coffeescript-story" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.yottaa.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a href="http://blog.yottaa.com/wp-content/uploads/2012/04/cscript.png"><img class="alignright size-full wp-image-3134" title="coffeescript" src="http://blog.yottaa.com/wp-content/uploads/2012/04/cscript.png" alt="coffeescript" width="245" height="45" /></a>Every day, we at Yottaa make choices on what to bring into our organization and what to keep away. We have a fairly large team that spans two continents, two languages (中文，English), 12 hours, multiple teams and varying levels of experience. This complexity in our organization means we need to do some due diligence about our development choices. If it were just me or a small team, we could make a different set of choices on technologies.</p>
<p>Once we choose a technology at Yottaa (a language, library, process, or 3rd party) we need to turn our personal knowledge into organizational knowledge. This is a key point in the process: companies and organizations live and die based on their organizational knowledge. It&#8217;s true that personal knowledge is key when you start a company&#8211;it&#8217;s what the VC&#8217;s look for. But it&#8217;s important to convert that personal knowledge to organizational knowledge as quickly as possible, if you are to grow as a team and succeed.</p>
<p>In other words, it makes no difference whether there&#8217;s one person on our team that&#8217;s an expert in something. To let that person build a widget using knowledge only they have would be extremely dangerous to the team&#8217;s overall goals, unless that person can deliver from start to finish and the widget will never, ever need any maintenance.</p>
<p>In the process of developing organizational knowledge here at Yottaa, we discussed adopting CoffeeScript, a transcompiler of JavaScript that ostensibly makes the language easier to read and require fewer keystrokes.  It was proposed that we use CoffeeScript going forward for all our Javacript development.</p>
<p>We had lots of discussion internally about using CoffeeScript, and rather than explain our thinking I will place it here for you to read and draw your own conclusions.</p>
<p><span id="more-3119"></span></p>
<p><em><strong>&#8212;&#8211; Internal Email (Edited for grammar and completion of thoughts) &#8212;&#8212;</strong></em></p>
<p>About the coffee script&#8230; We do not want to use coffee script at Yottaa. There are many reasons:</p>
<ul>
<ul>
<li>&#8211; We are all really good developers that are capable of learning and mastering a fundmental language of the web. Using CoffeeScript takes energy and time away from the learning and mastering Javascript. It is true some of the knowledge you learn is Javascript but everyone we hire going forward must also learn CoffeeScript because we use it.</li>
</ul>
</ul>
<div></div>
<ul>
<li>&#8211; @ Yottaa we want our developers to learn skills that they can carry forward to other languages, projects and jobs in the future. Putting on a resume: &#8220;expert in JavaScript&#8221; is something that can increase your career and value (salary). If you know JavaScript well, the employer will &#8220;let&#8221; you learn CoffeeScript on their dollar.</li>
</ul>
<ul>
<li>&#8211;Syntax is a personal preference, having developed code in many languages through the years, i have realized that it is all the same. The webpage <a href="http://jashkenas.github.com/coffee-script/" target="_blank">http://jashkenas.<wbr>github.com/coffee-script/</wbr></a> says:</li>
</ul>
<blockquote><p><strong>CoffeeScript is a little language that compiles into JavaScript.</strong> Underneath all those awkward braces and semicolons, JavaScript has always had a gorgeous object model at its heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.</p></blockquote>
<ul>
<li>&#8211;Reading code and seeing the syntax {curly braces and semi-colons} means you are not looking at the right things or you do not write code in a consistant way. All of the syntax should fall away in your thoughts and what is left is the essence of what you are building. This concept should be practiced and mastered, because it can be used over and over again no matter what language you are using. Think of it like looking at painting, you know what they used to create it (watercolors, pencil, crayons&#8230;) but what you see is the essence of the painting. If the painter sucks&#8230; sure you will be looking at the pencil strokes, splogages made by the crayons, but that is because they suck. Writing code is an art: when you are done, the code should be beautiful. The syntax never prohibits beautiful code, your craftsmanship does.
<div></div>
</li>
<li>&#8211;Saving characters you type is NEVER a reason to choose a language. Not once have i said or heard anyone say: I cannot finish my project because i needed to type all the damn (i swear a lot, but will keep it clean today) &#8220;{}&#8221; or &#8220;;&#8221; We do not work at <a href="http://en.wikipedia.org/wiki/Gattaca">Gattaca</a>.  <a href="http://www.imdb.com/character/ch0006938/">Vincent</a> wrote a program that as his boss exclaimed had &#8220;not one error in a million keystrokes&#8221;, we do not need to be so proficient at typing as Vincent. We can afford a few extra keystrokes and backspaces.
<div></div>
</li>
<li>&#8211;Unlike other templating languages we use SASS and HAML. CoffeeScript produces &#8220;executable&#8221; code that requires debugging. This debugging happens within the browser using tools like firebug, chrome developer tools&#8230; the code you are looking at is auto-generated and not your creation. This makes it harder to quickly grasp the code, because auto-generated code is NEVER masterfully create and beautiful.
<div></div>
</li>
<li>&#8211;&#8221;Simpler&#8221; is not always better, &#8220;Simpler&#8221; is not always easier, &#8220;Simpler&#8221; is not always faster. Learn the core technologies and learn them well; you will be better off in the long run.
<div></div>
</li>
<li>&#8211;We do not have anyone passionate about using the technology and also an expert in CoffeeScript. Sure the creator of CoffeeScript thought it is a good idea to create it. I can not disagree with that. CoffeeScript will work well for many people but we can not always choose technologies because other people are using it. We ourselves must be overwhelmingly passionate about it and we must also have an expert in the language. We can not start using something today if neither passion nor expertise exists.
<div></div>
</li>
<li>&#8211;You will still need to learn JavaScript anyways. You will always debug the code, CoffeeScript does nothing to fix logic errors, fence post errors, algorithm problems. You need to get into the code and make sure it works and figure out why. This will only occur in JavaScript.
<div></div>
</li>
</ul>
<p>@yottaa, we love it when there is overwhelming passion and expertise in a technology to carry it forward. Without passion it is hard to make anything successful.</p>
<p>Bob (Buffone)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yottaa.com/2012/04/organizational-knowledge-and-choosing-what-not-to-use-a-coffeescript-story/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

