Posts filed under: Miscellany
Small pieces loosely joined - to a ski hill
I’ve always been a fan of the “small pieces loosely joined” approach to building simple web apps. A little bit of something from here, hook it up to there, and voilà! Sometimes something useful can spring into existence.
With the coming ski season (which I’m really excited about) I was spending some time on the Whistler Blackcomb website checking out the conditions, and I happened to notice a few public data feeds. One of these feeds contains the status of all the lifts on Whistler and Blackcomb, so of course, I had to hook it up to Twitter. The WhistlerBot updates its twitter stream every time a lifts status changes, and from my visit to the ski hill last weekend, it seems to do so in pretty close to real time.
When I was on the hill, I turned on mobile notifications for just this account (so I don’t get distracted with other Twitter noise) and now my pocket will vibrate whenever the Peak chair changes from standby to open, for example. No one likes to ski in a tracked out bowl, right?…
While I was at it, I also threw up the slightly hilarious, but still useful isthepeakopen.com and gave the WhistlerBot its own home.
Hope other folks find these useful too.
Grand Theft Auto IV grosses more then Star Wars!?
In it’s opening week, Grand Theft Auto has taken in more then $500 million dollars. That’s a lot of loot. To put it in perspective, let’s compare this weekend take to earnings from various films. The top 5 grossing films of all time (based on US sales) are:
- Titanic - $600,788,188 (1997)
- Star Wars - $460,998,007 (1977)
- Shrek 2 - $441,226,247 (2004)
- E.T. the Extra-Terrestrial - $435,110,554 (1982)
- Star Wars: Episode I - The Phantom Menace - $431,088,301 (1999)
So Grand Theft Auto just grossed more in it’s first week, then Star Wars has (domestically) since it’s release in 1977? Sure that’s some big numbers, but the game probably cost a fortune to make right? Grand Theft Auto is rumored to be the most expensive video game ever produced, with estimates nearing the $100 million mark. But films are not cheap to make either of course. Consider the 5 most costly films:
- Titanic (1997) - $200,000,000
- Waterworld (1995) - $175,000,000
- Armageddon (1998) - $140,000,000
- Lethal Weapon (1998) - $140,000,000
- Godzilla (1998) - $125,000,000
So while Grand Theft Auto still has a ways to go to catch up the highest world grossing film (The Titanic at $1,834,779,000), it also cost half as much to produce, and has only been out for one week.
The moral of the story? Start a video game company now.
SXSW Wrap Up
I just got back from my third trip to SXSW and all I can say is what a blast. The mix of Spring Break, BBQ, Rock’n'roll and geek fest seems to agree with me. It was great to catch up with old friends and colleagues like the crew formally known as Bryght, as well as meet a few new folks.
Highlights included:
- Eating BBQ at IronWorks, where the central ornamentation on the table is a large roll of super absorbent paper towel, and the “kids portion” of tasty ribs is just about right for me.
- Seeing Moby and Lou Reed play “Walk on the Wild Side”, with back up choir doing the “Do, da do, da doo’s” to a small crowd. Did I mention there were free drinks?
- Finding out that rock band is the new twitter, and that Dopplr will be the next RockBand.
- Hacking away on Rilli
- Learning all about FireEagle from Tom Coates himself. Very excited to integrate this into Rilli.
- Listening to great panels, like the one on “Building Portable Social Networks” which focused on how OpenID, microformats and OAuth will let us build open, user-controlled networks. Jeremy Keith was sharp on the mike too - wish I could find a video of it. The other participants - Chris Messina, Leslie Chicoine, Joseph Smarr, and David Recordon - were no slouches either. It’s great that (finally) the pieces are coming together, and that ‘we’ (as users) are poised to be in a position of control, rather then servants to the services we use. After all, they’re *my* friends, not Facebooks, for example. This talk, more then any other at SXSW, made me feel as though the original principals behind the creation of the early internet (interoperability, open access, etc) are still alive and well.
Can’t wait for next year… I’ll certainly be back. And maybe with a mobile version of my gig guide.
URLs are people too
Hot on the heals of my recent post talking about how the URL will be the next MP3, we had an interesting discussion at Rilli about what information we should put on our new business cards. In the end, we made a somewhat bold move and left off email and other contact details in favor of a simple URL. Why? Well, because we don’t really want to get more email. In many ways, email is where ideas go to die, as my friend Boris Mann famously says. A URL (marked up with microformat goodness) will point people to additional ways to get more information themselves, or to contact us through alternate means. It feels a little like Apple leaving off the CD player on their original iMacs, but I think it’s a neat idea. Email is sort of broken, and this seems like it will work well…
You can check my new card here or the entire teams
Big changes
Big changes are afoot!
The biggest news, is that after much soul searching and thought, I have decided to leave my happy home at Bryght and set out on my own. That’s right… I’m going freelance! The goal is to spend around half my time working on some exciting music related client projects, and then build out a few ideas of my own in my spare time. I’m *very* excited at promise the coming months hold, but at the same time, it’s hard to be leaving my good friends and colleagues at Bryght. But I have a pretty good feeling that they’ll continue to kick ass with, or without me…
I’m no stranger to the freelance lifestyle (having done it for years before joining Bryght) but this time, I’m going to be doing things a bit different. For one, I have taken a desk at the very cool Co-Working space Citizen Space, and I will be writing more about my enjoyable experiences working in this new environment.
In short, I’m totally stoked to have some time to devote to my own projects, and wish everyone at Bryght the best of luck in the future.
So… Game on!
SXSW music recommendation panel accepted
I’m pleased to announce that my panel at this years SXSW Interactive was accepted. Yeah! This is one of my favorite conferences all year, and I’m looking forward to getting the opportunity to expose more folks to the cool new music recommendation services out there.
Look for more details about panel speakers to emerge as things are confirmed, and a big thanks to everyone who voted for the panel!
Introducing prankmail.org (and the Drupal way VS roll’yer own)
A few rainy weekends ago, I had the urge to roll up my sleeves and build something. Every web application I’ve built in the last few years has been built on Drupal, and I wanted to see (remind myself) what it would be like to develop an application from scratch (where “scratch” = a random collection of open source components combined with bits from Drupal). I also had given myself the timeframe of a weekend, so building “Basecamp right” was out. I wanted a simple coding project.
Since I’m extremely childish, immature, and a fan of the practical joke, I decided to build a web app that let you send an email to someone, but make it appear as if it comes from someone else. I decided to call it Prankmail. Frivolous, slightly dangerous, and perfect for a rainy weekend indoors.
Skipping to the good part, you can check it out at:
http://prankmail.org
And if you would like to read about how I built it, and how the
“build from scratch” process compares to building a Drupal site, continue on:
Before I really started with application specific code, I wanted to grab a few Open Source pieces and get a simple and efficient framework to build on (We’re not using Drupal, after all).
I wanted to have clean URL’s (none of that goofy query string nonsense) so I took a look at how Drupal uses MOD_REWRITE and .htaccess files and cobbled together a simple solution. I’ve also been looking at the new Zend framework, and I like the way it maps URL’s to controllers. I am also a fan of Drupal menu system, so I hacked up the arg() function from Drupal, and made it route URL’s to controllers. I like Ruby’s “convention over configuration” and so by default, I set it up so a URL of ‘/message/123′ gets passed to a function ‘controller_message’ with an arg of ‘123′, if that function exists.
I really like Drupal’s very light weight DB abstraction layer, and so I grabbed that as well (mostly because the syntax is so natural to me at this point), and stuck it in my web app.
For templating, I decided to give Smarty one last try. Every time I struggled with the syntax, or found myself fighting along, I could hear Rasmus saying “PHP *is* a templating language, stupid!” Next time, I think I will just stick with a ‘pure’ PHP templating solution.
Setting up this simple framework let me write the rest of the application with speed and ease. Included libraries aside, the actual application itself is quite small.
For help on the UI, I used JQuery and specifically thickbox. I also found the visual JQuery site to be a great resource when I got tripped up on syntax. JQuery is truly fun to code with, and it’s a great feeling to have so much control over the DOM, with such simple and beautiful syntax.
I mean, how is the following snippet not poetry in it’s simplicity:
//add a token to the form that we will check to
//make sure the form processor only looks at forms
//submitted from this page...
$.get("/token",function(txt){
$("#mailform").append('
‘);
});
The above snippet leads into how I was concerned with spammers and bots submitting mail, so I borrowed a technique from Jack Born and used JQuery to append a token (MD5′d salt + timestamp) to the submission forms DOM, and at the same time inserting the same token into the Session. When the form is submitted, I check to make sure that the timestamp is “fresh” (within 20 minutes), and that the two tokens match. This should prevent, or at least make it more difficult for a bot to make a post directly to my form processor (and I don’t have to use a silly CAPTCHA).
So how did the whole process work, compared to using my usual framework of choice, Drupal?
Setting up the whole framework from scratch was definitely the fun part. I really enjoyed having a chance to “do things my way”, rather then hunt through documentation or lines of code in search of an answer. I think many people code because it feels good to build something, and while Drupal gives you many things “for free”, it was very enjoyable and satisfying to dive in and do it myself.
When it got to the point of adding comments and RSS feeds to the site, I have to admit that it was proving to get a bit tedious, and it would have been nice just to “turn comments on”, in Drupal. But all that being said, the whole exercise reminds me that there are many ways to get a job done. Drupal is a fantastic tool for a specific set of problems, but it’s just that.
Moral of the story is?
There are no silver bullets, and building silly websites is easy and fun.
Now go send some mail!
On quarter inch drills and the startup
I usually have about 1 million ideas for a new startup every day, but admittedly, most ideas only last for a minute or two before I dismiss them as foolish. Some last around for a few hours before I toss them on the scrape heap of discarded ideas. If they stick for a day or so, I’ll usually run them by Boris who will either a) point out the huge flaws that an optimist such as myself would never see, or b) jump straight to implementation details.
But take note: I just came across a great quote from American economist Theodore Levitt that will serve as a test for all future ideas . (You’re off the hook Boris)
“People don’t want to buy a quarter-inch drill. They want a quarter-inch hole.”
If any one of my ideas doesn’t help create that quarter inch hole, then straight to the synaptic scrap heap it goes!
Apartment hunting, lazyweb style
Many people have discussed the concept of the Lazy Web which according to wikipedia, states in part that:
“If your blog or other publishing outlet has enough readers, someone will know and provide the answer to a question you are too lazy to research yourself.”
Nivi points out that the time of Lazy Photo has arrived. I certainly notice this, especially with colleagues like Kris Krug around. I just don’t bother to take that many photos anymore, since there’s always someone willing to taking that camera phone shot of my lunch.
So in preperation for my move to San Francisco in Septmeber, I’m hoping the time is right for lazy apartment hunting.
Come on web! Don’t let me down…
