Daily Links
Batman: Arkham City Trailer
This looks fantastic. The video features music by The Heavy and Mark Hamill's Joker makes an appearance at the end.Byword
Similar to OmmWriter, a beautifully minimalist typing interface for the Mac.Etsy Reacts To User Outrage
Attempts to turn Etsy into a social media platform backfired as people complained about information suddenly becoming public.New Google Chrome Logo
Coming along with Chrome 11 developer-channel release, the browser logo gets a flatter geometric look similar to Chromium's recent redesign.Google Revamps iPhone Search App
Google has retooled its free iPhone app with a new name, a streamlined look and feel, and an easier way to narrow your search results, helping the mobile app work more like the Web site.MacUpadte Promo Spring Bundle
Tucked away in the eleven apps are Parallels Desktop 6, 1Password, and Civilization 4.Daily Links
Google Releases WebM Plugin For IE9
In an effort to bring its Web video technology to a browser that doesn't support it, Google has released an IE9 plug-in to play WebM video.Twitter and HTTPS
There is now a user setting allowing you to always use HTTPS when accessing Twitter.Imitation is the Sincerest Form of Flattery
So, the other day we spent a fun couple of hours optimizing livethesheendream.com so it could keep people supplied with Charlie Sheen quotations without turning the server into a charred lump. It's always fun to work on something new, and afterwards we started keeping an eye out for other sites doing similar things. Maybe we'd learn something, or just be entertained with a few odd quotations. So when the Winnipeg Free Press posted a link to livethebettmandream.com we all took a look. It was very familiar. Very, very, familiar.
Now, this was just a simple bit of help on our part for Jarrett Moffatt, so I don't really care if I see that code again elsewhere on a different site. That's Jarrett's business. I haven't even checked if Jarrett was responsible for this site as well. I suspect not, since the Bettman version always loads up with "We always had confidence in the game and our fans.", so it's not using the server-side randomization that the Sheen version has. More telling, however, is what we see when we take a look at the source code. Specifically at the Google Analytics javascript. That should be different, since Google generates different access codes for different sites. But it's not.
Playing internet CSI is fun, but I'd rather this other site used it's own analytics code so the data collected for livethesheendream.com would only include visits to that site. If whoever put that site up is reading this: please get your own Google Analytics. You're polluting the data for the site you copied. (Oh, and right now most of your traffic is coming from the Winnipeg Free Press.)
Daily Links
Funny or Die - Charlie Sheen Cooking Show
Charlie Sheen does a Charlie Sheen parody. Funny or die? You decide.Antitrust Subcommittee To Examine Google Search Ranking System
"The powerful position Google occupies in the general search arena creates myriad opportunities for anticompetitive behavior."The Next Day
A ten-minute epilogue video to Tron Legacy, due to be included as a special feature on the upcoming DVD release. Sadly, it's already been taken down :/Twitter Tells 3rd Party Devs to Stop Building Clients
Needless to say, many third party developers that helped Twitter attain it's current level of popularity are feeling a bit betrayed.CSS Warp Tool
CSS text to path generatorKatamari Bookmarklet
Works in Chrome, Firefox 4, and Safari. A bookmarklet that lets to katamari-up portions of any website.#numbers
Twitter has been around for five years now, and on the official blog, they've released a couple stats.Happy Pi Day!
Today is 3/14, a mathematical holiday created by Larry Shaw in 1989.Government Invests to Grow Manitoba's Digital Media Sector
The Honourable Lynne Yelich, Minister of State for Western Economic Diversification, announced federal funding of $433,000 to help Manitoba's new media industry grow and become more globally competitive.Lessons Learned from Mega-Success: Optimize
Incase you have been living under a rock, Charlie Sheen has been running amok through all types of media since being dropped by CBS. Given his state of mind, there have been a few rambling and incoherent interviews over the weeks. It has been sort of like watching a real-time train-wreck and the general public is eating it up.
Given the media buzz, our friend, Jarrett Moffatt over at Velocity Branding, along with his good friend Chris Meisner in New York, had the idea to create a single serving website that delivered some choice quotes from Charlie Sheen. You may have heard of a little site called livethesheendream.com recently.
The site itself is simple. Jarrett and Chris wanted to keep it clean, light and easy for people to get new quotes out of. Now neither of them are hardened web programmers, but for what they wanted to create, they didn't need to be. They figured that the site would get a little bit of buzz from their social media friends on Twitter and Facebook. It got more than a little buzz.
On the third day of being live, livethesheendream.com had popped up on Perez Hilton and Fred Durst's Twitter feeds. From there, traffic to the site jumped from a few hundred visitors over the first couple of days to millions. As a social media experiment, the awesome power of the internet was in full effect.
With all the traffic to the site, came the obvious load issues that high volume traffic brings. Given that Chris and Jarrett had just hacked together a little PHP code and some HTML to make the site, it was not optimized or ready for high volume traffic. On the end of the first day of being stampeded, Jarrett and I where discussing things, and we offered to help optimize the site to try and keep things running smoothly.
The following morning, traffic was through the roof with over 75,000 visitors an hour. We jumped into the code and identified the following things immediately:
- each time a visitor wanted a new quote, the entire page would reload
- the reload of the page was serving up all elements of the site, because caching was not being specifically instructed
- the image of Charlie Sheen was 30KB
We looked for the fastest items we could address in order to speed the site up. We didn't want to miss any visitors if we could help it. Here is what we did:
- compressed the image of Charlie Sheen to 8KB. It still looked good and saved 22KB per page load. Do the math on 22KB * 600,000 visitors on the peak day. That alone saved 1.25 GBs of data from being served up. We deployed this change immediately to help keep the server up, although it was under heavy load and it was not serving pages to all visitors.
- we then moved all of the page requests for new quotes onto the visitor's browser. We took the array of quotes and loaded them all into a Javascript array the first time a visitor loaded up the site. We then applied an event to the "get a new quote" functionality that leverage Javascript rather than PHP. When looking at the Analytics data for the site, the average visitor was reading through 10-12 quotes, which was previously triggering 11 additional complete page loads for each visitor. With 600,000 visitors * 10 extra page loads, we removed 6,000,000 requests to the server.
- within the actual HTML of the site, we did a little clean up, added a doctype, removed some extra tags and tidied up the CSS. We saved about 15KB total. 15KB doesn't sound like much, but it really adds up given the amount of traffic they were getting. 600,000 visitors X 15 KB means we saved 8.5 GBs of additional data with a little less than sixty minutes of programming.
- on the server, we wrote a little .htaccess file that specifically instructed visiting web browsers to cache the picture of Charlie Sheen and the CSS files for a long period of time. Even if they reloaded the page, rather than clicking the floating head, their browser would pull the image and CSS files from their local hard drive if they existed. We can't calculate specifically how much bandwidth this saved, but it certainly didn't hurt.
Once all that was in place, we had to reboot the server. Jarrett and Chris had used MediaTemple and livethesheendream.com had been placed on a 500MB DV. Once the reboot finished, the traffic stampede continued, but this time the server load was not even peaking over 1.5. Previously it had been steadily in the 45-50 range, which the server was unable to sustain.
All told, we spent about 4 hours between three of us to make a huge difference in the code. It was fun being involved in an internet sensation. Jarrett and Chris had an amazing little idea that hit on a popular culture wave of interest.
The moral of this entire article is: CODE MATTERS. Never discount the possibility that lightning might strike your idea for a little web project. If lightning does strike, it is great to be prepared. Congratulations on your amazing success Jarrett and Chris!
Daily Links
Biggest Moon in 20 Years on March 19th
Popular Science with a tongue in cheek article about this huge moon not causing a natural disaster, which was published yesterday ... before the quake in Japan. Regardless, a clear night on March 19th will grant you a view of a huge moon!Al-Jazeera With Great Coverage of the Japan Quake
Al-Jazeera is really bringing "real" journalism to the fore front around the world. Not sure I'll be paying much attention to Canadian / US media anymore.Boston.com Big Picture on Japan Quake
Unfathomable. There should be headlines about how building codes saved millions of lives today. But there won't be.Day One
A beautifully designed journal / diary / text logging application for the Mac, complete with Dropbox syncing, inspirational quotes, and a reminder system to help you with your writing.Speedworld with Velocity
Visual Lizard joined Velocity Branding in go-karting at Speedworld's indoor track, Le Mans-like. Though most of us had never driven a go-kart before, and many of us had never really driven fast before, everyone who gave it a try had a fantastically entertaining time. Click on any of the thumbnails below to enjoy a small sampling of the high-speed fun.