Chris Matthias

A blog about web design and
my life stories. For the most part.


Teaching Old Dogs New Tricks

October 06, 2006

I was brought into this ground floor company by a restaurant owner in my area. My brother had bartended there for a bit and suggested me when he mentioned he needed someone to do a website. His concept was for a website that could let users find and print restaurant menus. Sounded like a good idea. We checked the competitors (of which there are many) and decided on our plan of attack and our USP. The MenuExplorer.com domain name was purchased, we moved into an office a month later and it was up to me, essentially, to get the ball rolling.

Little did I know that mostly (if not all) of our core partners were not very adept at computers. And this whole business relied heavily upon computers; the website, databases of restaurants around the country, the whole works. First things first, we needed a place to collaborate and share ideas and get things done. I was stuck between a rock and hard place because I knew that we needed some computer-based solution for our project management, but these old dogs were a little rusty.

I had used Microsoft Project before and even implemented a project management program called ActiveCollab on Breathe Fitness’ website to help their employees track projects and track time. Most of these programs were insane. Confusing UIs and too many features often confused the user before they even started. Especially Microsoft Project. The only thing that saved Project was it was in an Outlook-type interface that most Windows users were already familiar with. But, Project made it extremely difficult to manage projects because all of the clunk that got in the way.

Enter Basecamp. I stumbled upon basecamp a few months earlier as all the buzz about “web 2.0″ applications was being slathered across the web.

The emergence of a new framework for deploying web applications called Ruby on Rails was born and it was all the rage. In combination with the now-realized method of updating information on a webpage without reloading the entire page (now famously dubbed AJAX) gave new hope for a web that was more like a desktop app than a static website. And, since RoR built AJAX capability right into the framework, this made the new framework all the more appealing for starving application developers. This collection of new technologies and their potential application to web sites was dubbed “web 2.0″. It was the next best thing since sliced bread. Ruby on Rails became so popular that in August of 2006, Apple announced it would ship Ruby on Rails with Mac OS X v10.5 “Leopard”.

A Brief History of Basecamp and Rails

The guys at 37signals built Basecamp using an old pre-hypertext processing language called Ruby and created their own semantic, extensible framework that made scripting the Basecamp application a breeze. After they released Basecamp, they took their source code and released it to open source. The named it “Ruby on Rails.” Basically, open source is a term for any source code that is free for the public to use, test and contribute to. This new source code was for an application framework that was built with the Agile Web philosophy and had basic features like blogs, messaging, and AJAX helpers built right in for faster application deployment. And Rails assumed lots of things when you set it up, so you didn’t have to waste time configuring miles and miles of XML code that told the application how to handle information. The claim that Rails let you deploy an application ten times faster than any other framework or language, was supported by a 15 minute demo on creating a blog on the Ruby on Rails site. You can create a custom blog system in fifteen minutes? Wow. Rails was born from Basecamp. But, I digress.

I mostly want to share with you how I used Basecamp to help streamline our communications. The strength of RoR and its founding fathers at 37signals is simplicity. Give the users only what they need for their application. Strip out everything you don’t think is necessary to the application. Once you’ve done that, strip out a few more features, ad nauseum. And it works. With Basecamp, you’ve got a simple, less-is-more interface that doesn’t let you do a lot of things, but the things you can do, you can do well.

How We Use It

Basecamp’s core component is its message system. Users on the site can write messages and categorize them. They can let other users know about the message through e-mail if they choose, but it creates a place where information can be written and stored. No more endless e-mails back and forth about a subject and copying in your entire sales or marketing team, they just login to the Basecamp site and can see all messages they’d like. We use messages to relay important conversations we’ve had, our progress on the website, minutes from meetings and general messages to our team.

The next feature is to-do lists. You can setup a list of things you need to do and when they are done, check it off. Anytime you do something and check it off, it shows up on the overview page that a to-do was completed. You can create as many to-dos as you’d like. I created specific to-dos for Marketing and Sales, and since I have so much on my plate; “Chris’ List”. You can even assign to-dos to a certain user. You can tie to-dos to certain milestones (which I explain below) on the horizon to keep you on track. Keeping track of things that need to get done just got easier. If anyone on our team wants to see what’s been done, they can just login to our Basecamp site and see all the to-dos that were completed or any messages sent, comments to messages, all in one place. And since my partners are old fashioned, when my boss asks me what I plan on doing this week, I just goto my to-do list and goto FILE > PRINT and print it out. Basecamp does a great job of printing a legible, easy to understand version of to-dos, messages, everything.

Milestones are essentially deadlines, but, they are called Milestones because it gives you more flexibility. I can use milestones to remind everyone of important meetings, launch dates, and, of course deadlines. That is the beauty of Basecamp. You make it work for you. You figure out what Basecamp can do and you work your business model around it.

Another great feature are the writeboards. Writeboards are a place where users can write content and other users can add to and edit the page. All of the revisions are available and it gives you at-a-glance all the changes that were made to a particular document. We use the writeboards to write content for the website and print materials, as well as keep a running list of competitors and goals. And everyone can contribute.

The file system is a nice bonus with the paid version of Basecamp. I had originally setup an FTP server to keep all of our important documents in one place. But, constantly, I would be called out of my office to help coworkers put files up there even though I showed them how to copy and paste just like in Windows Explorer. It was a headache. With the file system, you have the option to host the files on basecamp’s server but they capped your limit of space depending on the package you bought. The great alternative is using your own FTP server (which I’d already setup) and then you tell Basecamp where it is and the username and password and it sets it up for you. Now, our team can attach a file to a message and this gets placed on our FTP server, or they can upload a file independant of a message and categorize it however they want. And anytime you re-upload a file, it overwrites the previous version. Pretty neat.

Lastly, the chat feature was added to Basecamp. 37signals also launched Campfire which was a standalone web app to help communications and kept a running record of all chats that happened. You can see what people said through a whole topic. Setup a room based on a topic, invite some coworkers to it, and type away. After Campfire was launched, the 37signals crew quickly integrated it into Basecamp. So, I setup a Campfire account (which is free) and set our Basecamp site to interact with it. Now I don’t login to campfire ever, it’s right in my Basecamp. Now everyone can communicate in realtime from anywhere in the world. Neat.

In Conclusion

At first, I was skeptical that our “old dogs” of this company would be able to use Microsoft Project or open source solutions built in PHP because most had too many features. I introduced them to basecamp within the first week and got everyone started by just putting messages up. Anytime a coworker e-mailed me directly, I told them I wouldn’t read it unless its on Basecamp. Basecamp keeps everyone honest. We can hide messages from other companies that use our Basecamp to reach deadlines (like our application developer, who would login and see his to-do list and write messages to me about his progress) but everyone in our company can see all the messages. You can see what’s on someone’s to-do list and if they’ve done it. Everything’s in the open and there are no secrets. It keeps everyone here accountable.

I was surprised to see everyone taking to this solution so quickly. Soon, colleagues who prided themselves on their inexperience with computers would gush about how they completed their entire to-do list and uploaded a document to our basecamp site for everyone to review. We were productive. Everyone communicated and we were getting things done. Thank you, Basecamp. (You’re welcome, Chris.)

Bookmark this post: · Del.icio.us · YahooMyWeb · Spurl · Furl · Incoming links


Leave a Reply