February 18, 2009

Founders At Work, Getting Real with 37signals

Over the Holidays and a little bit into 2009, I read Founders at Work. It has some really great points and some other things that should be taken with a grain of salt. Founders is organized as a series of interview transcripts, which was refreshing.

One chapter of Founders At Work interviews David Heinemeier Hansson of 37signals. David has made several big contributions to online development over the past few years; most notably, 37signals and Ruby on Rails.

37signals is a small web-application development company based in Chicago. They make simple, effective, and highly usable software such as Campfire, an in browser chat program and Basecamp, communication driven project management software. 37signals originally started as a web design contractor but has since moved completely into web-app development. Although they are independently owned, they did receive a private equity investment from Jeff Bezos.

Over the past 2 years, Ruby on Rails has experienced rapid adoption by web-app developers. It is used by Hansson's company in their products, as well as Twitter and YellowPages.com. Rails has influenced several other frameworks (my favorites being Grails and Django) and has also solidified the MVC pattern as the defacto-standard for web-apps (For example, .NET MVC).

Now that we have the introductions out of the way - The founders at work interview goes into detail about various topics that make 37signals revolutionary and unique:
  • Signal Vs. Noise (svn), the impressive company blog.
  • Using their own software - Eating your own dog food.
  • More or less making their own rules with Getting Real - more on that later.
  • Working alone.
I particularly liked when he went into detail about working alone. In the early stages of 37signals, developers were spread across multiple time zones. This was advantageous because they never stepped on each others feet when developing. In certain situations, this is the best way to get things done. If a feature requires a lot of upfront research, it is better to lock one programmer in a room to figure it out, then relay the information back to the team. Other situations require more direct teamwork (like interface design).

Getting Real is a book (more like a collection of essays, blog posts, and articles) that was published in 2006 and is available for free over the Internet. The book is organized in a few logical chapters like Priorities, Feature Selection, and Process to name a few. Each chapter consists of 5 or 6 articles that are loosely related. The articles are short and sweet, and provide a key points and examples relating to how 37signals develops software - basically what works for them.

The book was a breath of fresh air for me. It was a quick read (2 hours max) and I felt motivated to work when I finished. I think the idea of saying no to features and preferences is the most important advice I will take away from the book. Instead of having hundreds of confusing features and giving users a myriad of configuration options, 37signals software is clean and easy to use. The same principal can be applied things we use in our everyday life - like the standard 2 button, scroll wheel mouse. There could be more buttons (adding features), but this would make the mouse less usable.

Some portions of the book are tough to relate. 37signals develop their own products - they are not working in a consultant role. This is hard to wrap my head around because most all of my experience has been in a consultant role. So the practices of ignoring feature requests and endless iterations are hard to implement as a consultant (unless you're quite good).

I would definitely recommend Getting Real to anyone who likes software development - check it out, it won't take long. It's a treat to hear about companies like 37signals. They are doing what they like to do (and they get paid for it) - something that everyone can appreciate.

February 2, 2009

Twilight Book Review

Over the holidays, my girlfriend convinced me to read the Twilight series of books. I justified it by saying that I really enjoy reading Harry Potter, so Twilight can't be that far from Potter, could it?

Turns out, it can.

I don't want to spoil the series for anyone that plans to read it. Stop reading now so I don't ruin the magic for you. Here is relevant lolcat:

The picture should read - "VAMPIRE CAT, WILL TALK ABOUT HOW GOOD YOUR BLOOD SMELLS FOR 600 PAGES." The series, if you don't already know, is based on vampires. These are not the traditional vampires that turn into bats and suck the blood of the innocent in Eastern Europe.

Contrary to the Harry Potter series, the Twilight series is completely character driven. The novels are set in modern day but could easily have worked 500 years into the past or future. Most of the novels take place in Northwestern Washington, because it's cloudy and full of angst.

Getting back to the characters, they are given video game god-mode characteristics. They are super fast, incredibly strong, can hear and smell things miles away. If this wasn't enough, some vampires have special skills on top of their god-mode characteristics. One can read minds, one can control earthly elements; One can even block out the super-special powers of the other vampires.

I don't really like overpowered superheros (more Spider man, less Superman) Twilight characters are Supermen, but it really did not matter because the focus is on Bella, Edward and halfway on Jacob (who is, of course, a werewolf). The plot circulates around their romance and the conflict in the books is based on keeping Edward and Bella from being happy.

I don't want to go through very detailed plot descriptions, but here are a few lines on each. I also included my quick reactions to the books.

Twilight - First book in the series. Bella moves to Forks, a small town with very little sunlight (hence the vampires). She seems to really like Jane Austen. She meets Edward, who is infatuated with her because she smells really nice. After much awkwardness, she goes with Edward's family (good vampires) to play vampire baseball in the woods. There they run into more vampires (bad vampires) and one of them wants to kill Bella. The good vampires kill one of the bad ones and everything works out alright.

This book had a definite ending - it could stand alone as a single story. Twilight was alright, it did a great job of sucking readers into the series.

New Moon - Second book in the series. Edward's brother (who has the best name ever, Jasper) tries to kill Bella because he smelled her blood when she cut her finger. Edward leaves because he doesn't want to hurt Bella. Bella is really depressed, until she starts to hang out with her childhood friend Jacob (a Native-American werewolf). They hang out and there is more awkwardness. Bella cliff dives on the Indian reservation and Edward's sister (who can see the future) thinks she killed herself. Edward's other sister (who's a capital B) tells Edward that Bella killed herself, so he goes to Italy to get the vampire mafia to kill him. Bella goes to Italy to stop him. She does, then all is good in the world.

This one was not as exciting as the first book. Edward's non-B sister steals a yellow Porsche in Italy, which was kind of fun.

Eclipse - Can't really remember what happens in this one. Bella is confused because she wants to be friends with vampires and werewolves. Edward tells her that she has to marry him before she becomes a vampire, which makes things more awkward. One bad vampire from the first book wants to kill Bella because the good vampires killed her mate. She raises an army of vampires that fight the good vampires and a bunch of werewolves. The good guys win and all is good in the world.

The fight was pretty cool and will look really good when the movie is made.

Breaking Dawn - Last book of the series. Bella marries Edward, and she gets pregnant with a half-vampire baby that is really smart. They have the kid and it has special powers. A random vampire tells the vampire mafia that Bella and Edward turned a child into a vampire (which is not good) so they all come to Washington to mess stuff up. While the vampire mafia is on the way, a bunch of other vampires show up to help Bella. Right before the vampire mafia is about to fight, the vampire mafia don learns that they might lose so he calls the whole thing off. The book ends and all is good in the world.

This was a huge letdown. The vampire mafia doesn't fight the good vampires. While I was reading, I realized that they couldn't fight because there was only a hand full of pages left. Ouch.

The books jam in a lot of subplots, here's a few:
  • Creating and destroying vampires
  • Edward's family history (Jasper's past was awesome)
  • Vampire mafia (actually called Volturi)
  • Werewolf history
  • Teen angst
  • Clumsiness
Overall, the books were entertaining, but they could have been so much more. It had the making of the next Harry Potter, but it fell short.