Progress Physical Therapy

view this project in its native habitat »

Project Summary

The record-breaking first week for Apple's mobile phone, a.k.a. iPhone, left a lot of perfectly good handsets out in the cold. Chris 'Citizen Joe' Messina and Alex 'Knows HTML' Hillman teamed up to produce a site that was half photo-graveyard for displaced mobile phones, and half knowledge base for environmentally friendly disposal of electronics. And exPhone was born.

4 days
Data Feed aggregation and carefully organized user-contributed content were the driving for behind exPhone's success.
Citizen Joe was responsible for:
  • The original concept of exPhone, providing information about environmentally responsible disposal of cell phones, and aggregating tips & bookmarks.
  • The visual design concept, and supporting design decisions.
We Know HTML was responsible for:
  • The supporting concept of user-contributed photos tagged "exphone".
  • Standards compliant and browser supported XHTML/CSS Javascript development of pages
  • Optimization of feeds being pulled in from Flickr, Ma.gnolia, and Del.icio.us.

Detailed Project Description

On Sunday July 1st, Chris Messina came to me with an idea. The idea was to make use of the opportunity created by the recent launch of Apple's iPhone handset to show people that they could be responsible with the way that they disposed of their old phones.

It quickly made sense that we should not only provide our own set of tips, but aggregate them in from bookmarks and forum discussions. Also, we decided that asking people to take photos of their old phones with their new iPhone and provide them with an easy way to send us the photo RIGHT from the iPhone's built in mail app would be cool.

At this point Chris had a visual concept already worked out, which I quickly cleaned up and made more extensible for the rest of the project. While he worked on gathering content, I worked on the feeds. Initially we used Yahoo Pipes to merge various feeds together, but I'll get to why that had to change shortly.

Over the 4th of July holiday, we worked, and got the site to a launch-able state the evening of Thursday July 5th. We launched, and I went out to celebrate with a beer.

Returning a little over an hour later, I was informed that the "feeds were down". Upon investigation, I realized that it was only on our production environment. The feeds themselves were fine, and Yahoo Pipes was responding...they had just seemingly blocked our server from requesting feeds. Odd, I thought.

It was at that point that I noticed that the referring URL that was showing up on most of the broken requests was from Pownce, Kevin Rose's newest project. The Pownce designer, Dan Burka, had listed exPhone's URL on his account and we were getting quite a bit of traffic. Apparently, enough to cause bad juju with Yahoo.

Scrambling, I rewrote the feed merging by hand using SimplePie. Over the next several hours, I tested the caching configuration until it was performing acceptably, and I went to sleep.

In the morning, the site was performing awfully. Even with caching, the feeds were slowing the page load to a crawl. At this point, a new referring link had come into the mix: The Unofficial Apple Weblog had linked us (thanks Scott!), and was driving tons of traffic. Once again, I scrambled, further beefing up the feed caching and implementing an Ajax callback on the feeds so that the page could load without needing to wait for the feeds.

Just in time, too, because a few hours later the site was listed on LifeHacker.

The photos are still rolling in, as are links and discussion about proper disposal of electronics. And since initiating that discussion was ultimately our goal, then I think that the project can be considered a success.

If you have photos or resources to contribute, be sure to visit the site to find how to contribute to the site.

Many thanks to everyone who visited, enjoyed, and reposted the link to exPhone. And thanks again to Chris for his endless inspiration and an opportunity to work together on such a cool venture.

view this project in its native habitat »