01.24.07

times have changed

Posted in University life at 10:53 pm by ducky

I recently needed to select two faculty members to be on my supervisory committee, and one to be the second reader on my thesis. Because I am doing data mining of user studies, I wanted there to be one HCI person and one data mining person on my committee; the second reader needs to be able to understand both.

For the HCI person, I dithered between Kellogg Booth and Joanna McGrenere, ultimately picking Kelly because he’s got a bit broader depth of experience, but Joanna would have been just fine. Karon MacLean also would have been fine. (I know from having been a TA for Joanna and Karon that they are both very easy to work with.) For the data mining person, Raymond Ng was the obvious choice, but my supervisor (Gail Murphy) pointed out that Rachel Pottinger would be a good backup.

I worried a little bit about the second reader, but a bit of sniffing about assured me that Cristina Conati had background in AI and HCI.

After I had done this exercise, I was blown over by the realization that my MS career at UBC could have easily had these people in the seven important slots:

  • Advisor (i.e. person who gives advice on classes): Karon MacLean
  • First term TA instructor: Karon MacLean
  • Second term TA instructor: Joanna McGrenere
  • Supervisor (what in the U.S. is called “advisor”): Gail Murphy
  • Supervisory committee #1: Joanna McGrenere
  • Supervisory committee #2: Rachel Pottinger
  • Second reader: Cristina Conati

All women! And the thing that most surprised me was that I had not invested one iota of effort in trying to find women faculty — it just happened. It’s not as if before I got to UBC, I said, “I want to make sure that I find women to mentor me.” (If I had been looking for women, this is the list that would have happened instead of what could have easily happened.)

Not only that, but these aren’t even all the women in the department. There are almost as many women on the faculty who aren’t on my list as are on the list: Tamara Munzner (information visualization), Anne Condon (theory), Irmtraud Meyer (bioinformatics), and Alla Sheffer (graphics).

Twenty-five years ago, when I was getting my undergraduate degree in Metallurgical Engineering, there wasn’t even one woman faculty member in my department. Ten years ago, when I was getting my MS in General Engineering, there was exactly one woman faculty member in my department.

Times have changed!

underspecified cakes

Posted in Technology trends at 10:39 am by ducky

Coté riffed on the cake analogy in my last posting. If I understand him right, he seems to be saying that, just as you scramble to figure out what cake your boss wants by consulting other information sources, you should scramble to figure out what to do when your software process is underspecified.

I’m not sure that’s a perfect analogy, since in the cake analogy, you had other sources of information about the boss’ desires. You had access to your boss’ schedule, phonelist, and permission to act on their behalf. For underspecified software, you would have to use a lot more imagination to figure out just what it should look like, and your management might not give you the time or budget to do so. 🙁

01.22.07

Dreaming in Code

Posted in Email, Technology trends at 9:57 pm by ducky

This is a response to Joel Spolsky‘s review of Dreaming in Code, a book about the development of Chandler at the Open Source Applications Foundation.

I was at OSAF for two years. Many of the things Joel says are consistent with my view of how things happened, some are not, and some are fully correct but don’t tell the whole story. Some of the things people on the discussion group are speculating are wrong. I’m going to write responses down in no particular order with no particular story arc. I’ve tried to boldface the thesis topics of each idea.

(Note that I haven’t read Dreaming in Code yet, so am not commenting on the book, just Joel’s review of it and the comments on the discussion group.)

There was an implication that the people at OSAF were lazy and interested in doing as little as possible to keep getting their paycheck. I think that is a grave disservice to the people there. Getting a paycheck isn’t usually that difficult — especially for people of the calibre that OSAF could attract. Top coders want to ship stuff!

However… in a normal company, you have the VP of Marketing representing the customer’s interests and the VP of Engineering representing the developers’ interests (i.e. could it actually ship). The two act as check and balance, so that the customer gets something they want in a reasonable timeframe. Unfortunately, Mitch was acting as the VP of Engineering, and the VP of Marketing, and the customer, and the venture capitalist.

Furthermore, Mitch had been very successful. It seemed reasonable to believe that if he thought we should do X, we should do X. This meant that Mitch didn’t get particularly fierce pushback when perhaps he should have. For example, he was adamant that we should do Chandler peer-to-peer, without a server. Doing a collaborative calendar without a server is really, really, REALLY hard. He eventually clarified that by “server”, he meant “something difficult to administer”, and so OSAF started working on a server.

Mitch has many many many fine points. He is a good and caring human being. He is clever. He has an ambition to make the world a better place. However, he has also been very very wealthy for a very long time, and I think that Mitch’s environment has taught him that that he does not need to be particularly clear in his instructions.

If my husband says to me, “please get me a cake”, I’m going to insist that he tell me what kind of cake, what event it is for, how many people it is for, and when it needs to be ready, and where it needs to end up. However, if my Powerful Boss says, “oh yeah, and order a cake” right before she hops in a cab to go to meet with the President, then I’ve got to figure everything out myself — and I have strong incentive to do so. I’ll go find my boss’ calendar, look through upcoming events on the schedule, guess at which one is likely to need a cake, and phone the boss’ cook to find out what kind of cake the boss likes. If I am really on the ball, I might phone the other participants’ people to find out if there are any food allergies, likes, or dislikes. If I am good, my boss will come back and find out that in fact she did not need to give clear instructions; if I am not good and there is no cake, I most likely would (eventually) find myself no longer employed by Powerful Boss.

This vagueness might be acceptable for cakes, but it’s death for developing code efficiently. For example, Mitch said that by “server”, he meant “something difficult to administer”. Either he changed his mind or he just never realized that he needed to be clear that he meant “something difficult to administer” instead of “always-running software that responds to requests from other computers on the network”.

I think Joel was right that too many designers slowed us down. Something that made it even worse was that the team grew person by person, i.e. was not wholly in place at the onset. Every time we got a new person on the team, there was a significant adjustment period while they lobbied for their own ideas for how things could be done better. For example, Lisa Dusseault is a big WebDAV person. After she started, she lobbied for doing more with WebDAV, saying that Life Would Be Better with WebDAV. She convinced us, and we started doing a lot more with WebDAV. She was probably right, Life Probably Is Better. But changing things around certainly cost us some time.

I think Joel was too harsh on stamping. He is right that being able to send things around by email is not exciting. It’s going the other direction that is more interesting: taking email messages and being able to turn them into things easily. An email message might also be a task: “Could you please frizbat the hongtholt?” An email message might also be a calendar item: “Can we meet next Thursday at 12?” Yes yes, with Outlook you can drag an email message onto your to-do list or calendar, but you still have to (had to?) fill in all the to-do information by hand. Tedious. The text recognition was supposed to do that for you.

I have said before that current to-do list managers suck rocks, and email clients could be much better. Chandler in the Grand Vision would have / could have addressed those. However, we found out very early on that people didn’t care about to-do managers or email clients: in 2003, people’s pain was centered around calendaring: you really had to buy Outlook and run an Exchange server to get halfway decent one, and even Outlook was only halfway decent. There was not a way at the time for a small business or non-profit without an IT staff to coordinate calendars. Period. So we focused on calendaring, which IMHO was the least exciting and revolutionary part of Chandler.

Something that Joel doesn’t mention as being a barrier to getting help from the outside world was that in the time while I was there, we never had a contributor agreement/license in place. So Jane wants to contribute some code: what sort of agreement governs the code that Jane contributes? For most open source projects, that issue is just not thought about because there is no money involved. But with OSAF, there was serious money involved.

First, Mitch Kapor was (is) a wealthy man, and wealth attracts lawsuits. Second, OSAF pays genuine salaries. Third, the plan was always for OSAF to become self-sustaining by providing different (i.e. non-GPL) licenses in addition to (not instead of!) the free GPL licenses.

Hence, we couldn’t really accept much code without a contributor license. That didn’t get done, in large part because our counsel, Mitchell Baker was stretched waaaaay thin also running the Mozilla Foundation. (She’s now only running the Mozilla Foundation, and appears to be doing a fine job of that.)

(Side note — I was absolutely amazed at how much volunteer support we got for NON-coding tasks. From help installing our phone system to CSS stylesheet help on our wiki to advice on video capture tools, the open source community was breathtakingly generous.)

Chandler is an open-source cathedral, not a bazaar. It’s a very different way of doing an open-source project, but that is not inherently wrong or bad. You need cathedrals sometimes.

Finally: Chandler most definitely does have a mascotone of Mitch’s dogs. 🙂

N.B.  I have zero negative connotations associated with the word “boss”.  It means exactly the same thing as “manager” to me, except is less formal and fewer syllables.  I thus forget that some people attach a negative connotation to it.  I meant no negative connotation in the Powerful Boss paragraph.

01.18.07

Google Maps China

Posted in Maps at 9:02 pm by ducky

One of the valuable services that blogs do is to help publicize things. Well, it always takes me a while to remember/figure out where Google hides their China street maps, so I might as well help the rest of the world remember as well: it is at

http://bendi.google.com

Don’t ask me why you have to go there to find the maps, why you can’t get to them via http://maps.google.com. I don’t know.

(You can see street maps of Hong Kong and satellite imagry of everywhere on http://maps.google.com.)

01.08.07

Chain blogging

Posted in Random thoughts at 9:55 pm by ducky

My buddy Vince tagged me with a chain blog thing. I have an allergic reaction to chain-anything (in part because of my experience with chain email letters), but this one looks kind of fun. I’m going to compromise by posting my six weird things but not by passing it on.

Six weird things about me:

  1. I proposed to my beloved husband.
  2. When I was in high school, I could palm a basketball. Left-handed. (Okay, I could only palm it left-handed for a fraction of a moment. Right-handed, I could walk around with it for minutes.)
  3. I always assemble my footwear in this order: right sock, left sock, right shoe, left shoe.
  4. Sleeping is one of my all-time favorite activities.
  5. I have been using email since 1974, except for a period between 1984 and 1988.
  6. I don’t cook much, but a dish I invented is called Fifth Street Danger. To get something yummy, bake alternating layers of:
  • flour tortillas
  • half salsa / half spaghetti sauce plus extra oregano
  • mozzarella cheese

Yeshe's tshirt

Posted in Art at 9:04 pm by ducky

I made a shirt for Yeshe for Christmas. He’s been working in construction for six months, so…

All the tools are actual size. The nice people at Coe Lumber (3485 W. Broadway, Vancouver – (604) 731-6178) bemusedly allowed me to trace their tools onto vellum, and then I used white transfer paper (like carbon paper, but white) to transfer them to the shirt. Then it was merely a small matter of staying inside the lines.

I had fun at Coe Lumber. I was particularly pleased at finding the humongous adjustable crescent wrench. I bumped into one of the staff as I was taking it over to where my tracing paper was. My eyes were big as I said, “Look what I found! Isn’t it beautiful?!?!” The staff member had this look of, “uh, yeeeeeeeah, sure, lady”, but he laughed, too. 🙂

I wanted to make one for Tristan as well, but I wasn’t sure quite how to show his obsession: girls. I thought of painting silhouettes of girls’ arms embrassing him, with an abundance of kissmarks all over. I wasn’t sure, though, if it would be really really cool, really really embarassing, or both.

Instead, I made a promisorry note for him, with some examples of what kinds of things I could do. He was really taken with the idea of a tshirt that had a photo of a person printed on the chest, with filmstrip tracks (the things that look like ladders, that have holes for the sprockets of the film driver) on the sides of the photo, and cartoon versions of the photo below it.

If we do it right, we should be able to line up the neck of the tshirt with the neck of the person. The top frame would have a real person;. The next frame down would have a photo of a person (maybe Tristan?), and the next frame down would have a cartoon version of a person. Then, on the back, we could have upside-down versions of the same. (Or maybe images of the back of the head?)

That tshirt will be really really cool — assuming I can pull it off — but will also take a ton of work. I’m hoping that I can have it done by next Christmas!