Saturday, March 26, 2005

Why Software is Better

I had a dream last night that I was a mechanic at a small town gas station. (Don't ask me where this came from - I've never had anything to do with anything like this!) Some rich guy broke down in a fancy car and I towed him into the gas station. He arranged for other transportation and left, telling me to keep the fancy car - he didn't want it. Wow! Just like winning the lottery. Or was it? I guess I could have sold it, but what I really wanted was to fix it and be able to drive it around and impress everyone. But to my huge frustration and disappointment, it was impossible for me to fix. Too many fancy, computerized parts. No way to work on the engine without tearing the whole thing apart, for which you needed special equipment and tools.

What does this have to do with software? Well, it's the opposite of what I like about open source software. No matter how complicated a piece of software is, I can look at all the pieces. I can change anything. It's all open. I might not understand it right away, and it might take a lot of work to figure it out, but there's nothing stopping me from doing it. That's an amazing power that you just don't have with anything else.

Thursday, March 24, 2005

From Maps to Focus Time

Another one of the web sites that was mentioned at ETech was Google Maps. It's still labeled as "Beta" but it's pretty slick. I also found an interesting blog on how it works. Taking inspiration from the conference, I decided to "remix" Google Maps into my companies business application. An hour on the couch with my laptop one evening added a "Map" button to our address widget, so everywhere we have an address you can click on Map and you'll get a Google map of the address (assuming you're connected to the internet). Pretty cool.

I'm a little concerned about releasing this to our customers since Google Maps are still beta and it could break or change at any time. I think what I'll do is also support Yahoo Maps and MapQuest. I still like Google Maps better, especially since it doesn't have any ads yet, but this way they have a choice and if one quits working they'll still be able to use another.

Another site I heard about at ETech was Technorati. It uses tags to track blogs. It also works with Flickr and Delicious. For example, you can look at blogs with the tag

Apart from the conference itself, the trip to San Diego, away from work, gave me a chance to step back and think about how things were going with the programmers in my company. One of the things that was bothering me was that we didn't seem to be making as much progress as I'd like. Everyone is working hard, but there always seem to be a million distractions and interruptions, so many that days go by without actually programming anything! We'd previously tried following the rule that one pair would always be programming. But it never seemed to work very well. One of the books I took to read was Alistair Cockburn's latest Crystal Clear. One of the things he mentions is the idea of "focus" time. This is where you set aside certain hours of the day (e.g. 10 to 12) where you focus on your primary job - in our case programming. During this time, you try not to allow any interruptions - no phone calls, no email, no visitors, no coffee breaks. When I got back I described this idea to the other programmers and they agreed to give it a try. So far it seems to be working pretty well, hopefully it'll stick. I've tried unsuccessfully in the past to introduce daily "standup" meetings. Again, it hasn't worked out. But I snuck them back in at the beginning of the focus time - just five or ten minutes to review what they got done the day before and to decide how they'll pair up and what they'll work on today. So far this also seems to be working. Time will tell.

Sunday, March 20, 2005

Remixing ETech 2005

I just got back from the O'Reilly Emerging Technology Conference (ETech). It was an interesting experience. There were a lot of interesting speakers, including well known people like Daniel Hillis, Jeff Bezos, Cory Doctorow, Neil Gershenfeld, Joel Spolsky, Lee Felsenstein, and Lawrence Lessig. The theme of the conference was the idea of "remixing", the "mass amateurization of technology: the hardware hacks, software tweaks, and network combinatorics coming from the citizen engineers and inventors, networks of wily geeks and grassroots efforts within large companies".

During the conference there was a lot of talk about certain web sites. Flickr is a photo sharing site. del.icio.us is a link sharing site, the start of mine is at del.icio.us/amckinlay. Both of them use "tags" to "categorize" their content.

Jimmy Wales talked about Wikipedia - a free encyclopedia that has been wildly successful. They just passed 500,000 articles in English (compared with Britannica's 80,000 and Encarta's 4,500!) And they just passed the New York Times web site in traffic!

Not all the sessions were great. One that bombed was a session called "Building Applications Without Software" by Adam Gross from salesforce.com. It was in a smaller room, but it ended up packed, there were people standing at the back and overflowing out the door. Jeff Bezos (Amazon) was a few seats down from me. Who wouldn't want to hear about how to build applications without software? What a disappointment! First, don't send a salesman to talk to techies, it doesn't go over very well. (Just as sending a techie to talk to suits probably wouldn't work.) When he could get beyond his company sales pitch what he showed us was how you could add user defined fields to their application. As you can imagine, it didn't take long for the audience (including me) to leave for somewhere more interesting.

Apple laptops were definitely "in" with attendees. I would guess Apples made up over half of the laptops there - a lot more than their 2 or 3% market share would predict.

I was a bit shocked by people's laptop use during the sessions. Why would you pay good money and valuable time to attend a conference with great speakers and then spend the sessions emailing and chatting instead of listening? Not to mention, it seems pretty rude to the speakers. And this wasn't just a few exceptions - I'd guess over half the audience were heads down in their laptops.

Jason Fried from 37signals talked about "Lessons Learned While Building Basecamp". Basically he recommended agile development. Reading agile books and going to agile conferences, it's easy to start thinking that agile is mainstream but it was obvious from peoples' reactions that there are still a lot of non-believers out there. The questions from the audience reflected disbelief, resistance, and even a certain degree of hostility. To me it seemed mostly pretty standard stuff - release early and often, start simple, don't do big up front design, get the right people. A few of his points were more interesting - obsess over aesthetics, embrace constraints, and design from the user interface first. They just released Ta-da List - a free to do list web application.

O'Reilly introduced their new quarterly Make magazine and held a "Maker Fair" - a kind of science fair for grownups with a lot of weird and wonderful projects and demos.

I came away from the conference all fired up, full of optimism, and excited. Getting back to the office to wade through 800 emails (99% spam) and to face the usual array of problems and issues put a damper on my mood, but I'm sure I'll rebound :-)

Saturday, March 19, 2005

First Blog

I decided I'd better try out this blogging thing, and a book I picked up recomended Blogger, so here I am.