After the long break from our Building of Basecamp workshop, we finally got the show together again in a new wrapping last Friday. Under the guise of Getting Real we mused about everything from beautiful code, to designing emphasis, to naming, to running a web-application business, to hiring people. Basically everything we have strong opinions on at 37signals.
It was fun to compare the experience from the first Building of Basecamp to Getting Real (our 7th workshop on that theme). Where the first workshop was full of people who thought we were obviously not living in the real world, Getting Real was full of people who had stepped into this world and just wanted to learn how to make the most of it. More questions about the how than about the why.
So we're doing it again! The Getting Real Workshop is happening on March 31, 2006 in Chicago. The price is $895/person, the last workshop sold out in 12 hours, and just while I've been typing this message, we've sold 15% of the seats. In other words, if you're even remotely interested, it's a good idea to reserve your spot sooner rather than later.
UPDATE: We sold out in 19 hours. Congratulations to all who made it in. I'll be seeing you in March.
I had a great time talking about Ruby on Rails at the annual Amazon Developers Conference in Seattle this week. I was surprised to learn how many departments inside Amazon are already using Rails for various systems and delighted by the open-minded responses from those that weren't already doing Rails.
Amazon has historically been mostly a Perl-shop at the front end, so Ruby is not that big of a leap. Especially not for the groups that are interested in getting better object-oriented techniques and patterns like MVC going. And with the low confidence in Perl 6 ever panning out, I certainly felt an interest in exploring alternatives.
They already embrace diversity big time. Most of the back-end systems are done in C/C++ and some in Java. Most of the front-ends are done in Perl/Mason. And on top of that there's a variety of smaller systems in most any language. It's very decentralized with different groups responsible for different services that are then weaved together to produce the final pages.
Many thanks to my guides, all the nice Amazonians that I had chats with, and to Jonathan Swartz (the creator of Mason) for entertaining thoughts on how Rails could fit into their production systems. Good times indeed!
Context beats consistency. Reuse only works well when the particular instances are so similar that you're willing to trade the small differences for the increased productivity. That's often the case for infrastructure, such as Rails, but rarely the case for business logic, such as authentication and modules and components in general.
And even at the infrastructure level it's really, really hard. I believe Rails works so well because it was all created with a coherent vision. When you try to hard to reuse, you'll often end up with a frankenstein of slightly different approaches and philosophies that creates rough, unpolished surfaces that simply can't make you happy because it can't be beautiful.
Finally, the new economics of dynamic languages like Ruby simply makes reuse a lot less attractive. Since the cost of producing new, original code is so much lower, the demands on reuse are that much greater. And usually that means it'll take more time to reuse something than it'll take to create it from scratch. Leaving you with something that's both more expensive and uglier.
Note: This is not an invitation to start a copy'paste rampage under the guise of context over consistency. Don't be a dummy.
According to XiTiMonitor, the European average for Firefox adoption is the best in the world with around 20%. Front-runner countries like Finland does even better with 38%. But the numbers for Denmark are as disappointing as can be. With just 10%, we're ranking third to last in a list of 32. Roughly half the adoption of our friends in Sweden.
To anyone paying attention to governmental and bank policies, this should hardly come as a surprise, though. The last couple of years is fraught with embarrassments of discrimination and bias from public web projects. From the university application portal to my own bank to videos on the public TV station, Internet Explorer continues to reign supreme or exclusive in the mind of decision makers.
So its no surprise that Firefox's market share is abysmal in Denmark compared to the rest of Europe. It must surely be one of the favorite nations on the globe in Redmond. What an accomplishment.
TextMate is turning 1.5 after 15 months in the wild. The last six of which it has enjoyed explosive tipping-point'ish growth and made Allan a wealthy man. I don't think there's any shareware developer on OS X that deserves it more than him. TextMate is without a doubt the most important application in my dock. It's become a reason to get a Mac for many — especially the growing Ruby on Rails community.
And to think it almost didn't happen!
See, I first got involved with TextMate back in the Spring of 2004. Allan had been working on the technology for months and months. I believe he was on his fourth or fifth complete rewrite with no end in sight. There was even talk about chalking it all up as a learning experience and get a "real job".
At the same time, I was bouncing back and forth between inadequate environments for programming. First, I tried BBEdit, but was left baffled about the legacy look'n'feel (I was never an OS9 fan). It seemed to be solely for web designers who had always been on the Mac. Then followed brief affairs with both Subethaedit (pretty cool, but very rudimentary) and Project Builder. I was not happy.
So I decided to pursue my own self-interest and help Allan finish up TextMate. We had a good handful of meetings to discuss all the features on the plate, then we chopped them up into three large iterations with priorities and then Allan got to work with me as the monkey on his back. Pacing, pushing, and demanding.
Then here we are — almost two years later — and OS X has the best text editor I've ever used on any system. Incredibly rewarding to have been a part of it and see Allan take it above and beyond. TextMate, I salute thee!