Break Things
Like Acumen Brands on Facebook! Follow Acumen Brands on Twitter RSS Feed
Skip to content
  • About Us
  • Management Team
  • Press
  • Blog
  • Contact

How to Animate The Martha Graham Dancing Google Logo for Yourself (Tutorial)

Tweet
Posted on May 12, 2011 by Brian Sage


Challenge accepted!

Yesterday, the Google gurus created one of the coolest Google Doodle logo animations yet, as an homage to American dancer/choreographer Martha Graham. I blogged about how Google animated their logo, and a very intriguing comment popped up. Facebook user Maja Malovrh asked “Is there any way of seeing the animation again?”  Given our dedication to cool animation and dance clothes, we said:

Challenge accepted!

Honestly, I’m barely writing any original code, here. I’m standing on the shoulders of the Google giants, so huge thanks to them for making their code so simple and easy to read. With that said, here’s how to do it.

First, create a 1×1 <img> tag to cache the logo image file, like so:
<img src="http://graphics.acumenholdings.com/2011/05/graham11-hp-sprite-1.png" alt="" width="1" height="1" />

Next, you’ll need to create a <div> with an id “hplogo” and style it and its children for the animation magic to take place. Why? Because that’s what Google did.

<style type="text/css">
#hplogo {position:relative; width:600px; height: 150px;}
#hplogo div {position:absolute;}
</style>

Lastly, use this script I modified only slightly to see it animated.

<script type="text/javascript">
var google={nav:{go:false},ml:function(){}}
</script>
<script type="text/javascript">
(function(){try{if(!google.doodle)google.doodle={};var d=[[307,48,88,89],[307,48,89,89],[307,48,91,89],[305,49,93,89],[305,50,93,88],[305,50,93,88],[306,52,92,86],[305,53,93,84],[305,54,94,83],[306,54,93,83],[307,54,92,83],[307,54,92,83],[308,54,90,83],[308,54,90,83],[306,53,91,84],[306,53,91,84],[308,53,90,84],[308,53,90,84],[305,53,92,84],[305,52,92,85],[306,52,91,85],[308,51,88,87,1],[308,50,88,88],[308,49,88,88],[307,49,89,88],[307,50,89,87],[308,51,89,86],[307,54,90,83],[307,57,90,80],[306,58,92,79],[306,58,92,79],[305,60,92,77],[302,61,95,76],[302,63,95,74],[302,51,96,86],[302,66,98,71],[304,67,96,69],[301,63,96,74],[301,58,93,79],[291,52,94,85],[288,50,71,88],[285,43,76,95],[285,37,70,101],[281,29,55,109],[278,20,58,119],[278,20,55,119,1],[277,12,121,127],[271,2,122,138],[267,1,126,139],[264,0,136,140],[260,0,141,140],[255,0,148,140],[252,0,151,140],[249,2,121,138],[247,3,123,137],[246,3,123,137],[246,2,124,137],[258,2,112,137],[263,2,106,137],[263,2,106,137],[262,2,103,137],[260,2,104,136],[260,2,104,137,1],[268,2,98,137],[267,2,99,137],[266,2,97,137],[266,3,96,136],[264,3,99,136],[263,3,100,136],[261,3,100,136],[259,2,138,137],[254,2,126,137],[247,2,101,136],[240,2,108,136],[238,1,110,137],[230,1,118,138],[220,15,128,124],[211,18,137,121],[205,43,102,96],[202,45,104,93],[200,38,97,101],[198,38,104,101,1],[197,39,107,100],[197,39,112,100],[213,39,94,110],[212,40,95,111],[211,41,97,111],[209,42,99,112],[209,43,98,112],[213,43,87,112],[213,42,83,113],[211,40,86,109],[211,38,86,103],[211,37,88,112],[211,20,186,131],[213,27,167,122],[212,44,87,105],[210,44,88,98],[195,44,106,98],[189,44,110,98],[182,46,117,99],[173,44,118,96,1],[161,43,130,99],[154,42,137,97],[153,42,137,97],[153,42,137,97],[152,41,137,98],[151,41,137,97],[149,41,145,97],[148,25,144,114],[148,13,144,126],[141,12,153,127],[115,11,173,128],[108,7,180,133],[108,4,180,136],[108,3,176,137,1],[108,1,161,139],[105,1,235,138],[103,1,295,148],[103,0,277,149],[108,0,234,137],[101,0,232,137],[99,0,135,139],[95,0,244,139],[81,0,152,139],[69,0,164,139,1],[66,0,169,139],[65,0,170,139],[63,0,168,138],[61,0,159,138],[35,0,304,139],[19,0,189,140],[18,11,138,129],[18,11,137,129],[18,11,137,128],[18,6,135,133],[7,4,146,136],[6,4,147,136],[3,4,150,136,1],[3,5,150,135],[3,8,150,132],[4,6,394,145],[12,6,388,145],[11,8,389,144],[11,8,387,144],[11,8,387,143,1],[10,8,113,131],[11,8,111,131],[10,9,112,130],[12,9,116,130],[12,9,111,130],[12,9,111,130],[12,9,110,131],[12,34,113,106],[13,35,110,104]],e=d.length,f,g,h,i,j=-1,k=function(){google.nav&&google.nav.go?google.nav.go("http://www.google.com/search?q=Martha+Graham&ct=graham11-hp&oi=ddle"):window.location.href="http://www.google.com/search?q=Martha+Graham&ct=graham11-hp&oi=ddle"},l=function(){var a=d[f],c=document.getElementById("hplogo");if(c&&a[0]){var b=document.createElement("div");b.id="hplogo"+f;b.style.left=a[0]+"px";b.style.top=a[1]+"px";b.style.width=a[2]+"px";b.style.height=a[3]+"px";b.style.background="url(http://www.google.com/logos/2011/graham11-hp-sprite.png) no-repeat "+-g+"px "+-h+"px";b.onmousedown=k;a[3]>i&&(i=a[3]);a[4]?(g=0,h+=i,i=0):g+=a[2];c.appendChild(b);++f;f< e&&(j=window.setTimeout(l,83))}},m=function(){google.doodle.a=!1;i=h=g=f=0;j!=-1&&(window.clearTimeout(j),j=-1);for(var a=0;a< e;++a){var c=document.getElementById("hplogo"+a);c&&c.parentNode&&c.parentNode.removeChild(c)}j=window.setTimeout(l,83)};if(!google.doodle.a){google.doodle.a=!0;var n=document.createElement("img");n.addEventListener?n.addEventListener("load",m,!1):n.attachEvent("onload",m);n.src="http://www.google.com/logos/2011/graham11-hp-sprite.png"}}catch(o){google.ml(o,!1,{cause:"DOODLE"})};})();
</script>

That’s it! Save and view dancing scripty beauty. Bear in mind that the above depends entirely on Google continuing to host the Martha Graham dance doodle, but odds are pretty darn good that they’ll continue to do that until the Internet dies. This animation script will also only ever work for this particular animation, because it’s made up of carefully-crafted frame coordinates. In other words the javaScript is just as much a part of the final animation as the image, itself, and together they create art — separately, they’re simply spare parts.

Happy copy-pasting!

–
EDIT: My apologies to everyone who copied and pasted my bugged line of JS. The script is fixed now, thanks to the first comment from Shanfan Huang. Happy-ER copy-pasting ;)

Tweet

Related Articles

How did Google do a barrel roll?

Marching to the Social Drum Beat, Adding Pin It Button

John James, Acumen CEO My Workspace

Google Theme for June 21, 2011: What do Weird Pink Creatures Have to do with the Summer Solstice?

Posted in Almost How-To, Featured Posts and tagged Google, JavaScript, Logo, Martha Graham, open-source, os, PNG, Tutorial. Permalink.

Leave a Comment

Trackbacks

  1. Pingback: Doctorpreneur: Viral Marketing Doesn’t Work | Innovate Arkansas

  2. Pingback: Inside Google’s User Experience Lab: An Interview With Google’s Marcin Wichary - Smashing Magazine

  3. Pingback: How did Google do a barrel roll? | Break Things

← How The Martha Graham Dancing Google Logo is Animated (Short Explanation)
How We Built a Robotic Warehouse in 90 Days →
  • Get Social

  • Recent Posts

    • How did Google do a barrel roll?
    • Marching to the Social Drum Beat, Adding Pin It Button
    • My Workspace
    • Google Theme for June 21, 2011: What do Weird Pink Creatures Have to do with the Summer Solstice?
    • How We Built a Robotic Warehouse in 90 Days
  • Recent Comments

    • How did Google do a barrel roll? | Break Things on How to Animate The Martha Graham Dancing Google Logo for Yourself (Tutorial)
    • The Sage Family of Four » Blog Archive » Amazing Viral Dancing Post on How The Martha Graham Dancing Google Logo is Animated (Short Explanation)
    • DoctorPreneur – Change the Game | Innovate Arkansas on How We Built a Robotic Warehouse in 90 Days
    • Inside Google’s User Experience Lab: An Interview With Google’s Marcin Wichary - Smashing Magazine on How to Animate The Martha Graham Dancing Google Logo for Yourself (Tutorial)
    • A Yummy New Beginning | The Bee Dot on How We Built a Robotic Warehouse in 90 Days
  • Archives

    • November 2011
    • September 2011
    • June 2011
    • May 2011
    • April 2011
  • Categories

    • Almost How-To
    • Featured Posts
    • Innovation
    • Uncategorized
  • Meta

    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org
Acumen Brands Company Blog
Break Things
Admin