Back from LA

December 21, 2003

Got back from a terrific week in Los Angeles hanging out with Nancy. It was a little eclectic and frantic (perhaps too many activities), but still the best vacation I’ve had in a long time…and probably the last for a long while! She took me to (among other places) the Getty, which was the richest structure I have ever experienced. I thought places like that only existed in computer renderings like Myst and people’s imaginations. In particular, I’m enamored with the musical rocks and the central garden; but the whole thing is an experience. Being there with Nancy magnified my enjoyment greatly, because I feel like she (more than most people I know) really appreciates simple sensory experiences like the texture of fabrics, etc.

On another note, I’ll join Jeff in sucking by way of having a queue of important messages that I need to get to. As Jeff said: ” Apologies to anyone who is stuck in that queue, but I have most likely marked your email as important, and will be getting to it this weekend”. Except that I suck way more because I most likely won’t be getting to it “this weekend”. But after the dust settles in the next two/three weeks I hope you’ll find I’m a sane and functional human being again (well, as sane and functional as I ever am, at least).

AOL has recently allowed multiple clients to be logged into AIM at the same time. Previously if you logged in from a new location the old login would be disconnected. As a wireless IM, user this change is generally welcomed: I previously maintained two separate accounts so that I could be constantly logged in from my cell phone, whilst still communicating using the rather faster keyboard when I was sitting in front of a computer.

Unfortunately, as the explanation of how the “routing behaves” makes clear, its a bit of a hack. If there’s support in the protocol… its sure not visible now. Instead, AOL plays games server side to try and guess where to route messages. If one client is marked AWAY, then messages get routed only to the other client. It appears that if both clients are present, both get the message. What happens if both clients are marked AWAY? need to experiment. Lilly has complained that her laptop was left logged in (I think while she went away on Thanksgiving break?), and people have been sending her messages for a while believing that she was ignoring them. Basically, the point is that instant messages are currently fairly transient… they might get to the receiver, they might not. You can’t rely on them.

Unfortunately its a lot worse than just being transient. If instant messages were reliably transient it would enable useful social behaviors. For example, if want to get in touch with somebody quickly (say I want to borrow their rootabega in a hurry) but I don’t want to be seen as desperate or harassing I can’t safely send them a message every hour to see if they’ve sat ata their computer. Physically “dropping by” allows for totally transient communication. If the person isn’t there, they never know about it (unless you want them to, in which case you leave a note, which is pretty useful: you can select whether the “communication” is transient pretty reliably). Phones used to be transient (if you didn’t connect, they never knew you called), though with caller ID and call logs that’s no longer quite true.

In a perfect world, I think AIM would be more like IMAP. Messages would be stored server side, so that you could get at any messages you wanted from any client. Of course, like IMAP, you’d want to make sure it was easy for clients to “cache” the history, so they’d only grab new messages (or handle pending deletions). Conversations would persist, so that when you close a window, when you open it up again the last conversation is still there (no matter what machine you had it on). If you needed to get rid of some particularly incriminating information from the “log”, you could just select it and DELETED (sorry, too much strongbad). IM would be dependable, and the quirky issues of handling multiple machines would be solved. So that handles the case of totally persistent messages.

Allowing for transient pings in the most ideal fashion requires client cooperation. I don’t know how many people really use non-AOL clients… if its small then you can pretend you have client cooperation (just like caller ID used to be rare and unexpected). Anyway, what you’d like to happen is to have a way to send a message so it pops up on the other person’s screen, stays there for 5 minutes or so, and then disappears with no trace or log entry. You could use this to send “Hey, you there?” type messages.

Another feature that could be nice for making IM appropriate for more serious transactions is a “federal express” feature where people have to “sign for” a particularly important message. This is the sort of thing I don’t imagine being used terribly often, but it does allow for certain sorts of more serious transactions (its basically a step up from persistence). When a “sign-for” message arrives, the recipient sees a dialogue that says “SoAndSo has sent you a message. Clicking Read Message will send an automatic confirmation of receipt to SoAndSo.”

A more agressive variation on this theme this allows the sender to include a short agreement that will be presented in the initial dialogue, with an “I Agree” button instead of “Read Message”; the basic idea being to allow short contracts prior to receipt of information. For example, “SoAndSo has sent you a message which requires a legal agreement. They stipulate: This message can not be shared with anyone, blah blah blah blah. If you agree to these terms, click I Agree to read the message (an automatic confirmation of agreement will be sent to SoAndSo). Otherwise click I Disagree.”

scale talk etc

November 22, 2003

Well… Just got done talking at SCALE. It just made me wish even more that I wasn’t missing a day of the summit. Ah well, its important to respect your commitments, right? Felt isolated, didn’t know anybody. Talk went well, I feel, though of course I was speaking on a pretty controversial topic (or at least my premise was controversial). *shrug* Anyway, it sucked to get off the plane, find no-one there (my bad, I stupidly assumed I would be met) pay for a shuttle to the convention center… Hang around not knowing anybody for 4 hours (on 4 hrs sleep, mind you), give a stressful talk wherein half the questions were either complaints about things I can’t change or age-old annoying rants (some very good comments/questions too tho), and then watch everybody leave the expo and make my back to the airport alone….(actually, on the bus to the airport now 😉

oh, one thing positive that came out of this was I learned how invaluable having wireless internet connectivity is for getting info in strange situations. Id be at my wits end now w/o a cell phone (and inet was icing on the cake).

the past is behind me…. New York Ho (hm, make that “ny bound”)

Chema

November 10, 2003

Chema cared so much about…everything that I knew him to be involved with. I can only assume this passion extended to every aspect of his life. And it wasn’t just projects, Chema really concerned himself with people. I was always really excited about any opportunity to hang out with Chema in person.

I remember one point very early on when the usability project was having real trouble. I was getting frustrated and impatient, and there was a lot of conflict on mailing lists. I guess Chema noticed too, because he popped on IRC and grabbed me to talk things over. What really struck me was he wanted to figure out not just how to make GNOME usability more effective, but also how to make sure I wasn’t getting fried.

Every discussion I’ve had with Chema got me excited, whether about social organization of online communities, or how GST fits into the overall desktop design. That dude had the most infectious energy, and will be very tangibly missed.

This title sealed under NDA

November 10, 2003

So in case you haven’t telepathically inferred the life details I’ve neglected blogging about, I’m a visiting researcher at PARC (the artist formely known as Xerox PARC) for the time being. I know, I know: “Hey ya damn hippie, go get a real job”. “Shoophlah!”, I say, “Research does wonders for the soul. Oh you greenback grubbing capitalists, my academic heart sheds crocodile tears for you, ensnared by tales of pleasure, power, and fame into its endless pursuit. Just because a week of my labours costs The Man less than a day of yours doesn’t mean that….Look here, I don’t have time for this, I need to be working on my grant proposal.”

Aaaaanyway, this is all well and good. But for the first time in a long time I’m working under s33kretive conditions wherein I can’t talk about how I spend a sizable chunk of my time. What a strange symptom of the information economy (I would say “information age” save that I fear the outpouring of mob justice that would most assuredly stem from the utterance of such a clich&Aelig;?. Um, where was I?).

Millions of people are asked to compartmentalize a major piece of their time, of their life: their work. Knowledge of our own activities becomes intricately intertwined with the secrets of the corporation, and so itself becomes the property of the corporation. It is no longer mine to blog about, it is owned by PARC. Now it is one thing to have a few secrets… even secrets you hold for employer’s sake. But it is a strange thing indeed to not even be able to disclose the topic (let alone the details) of the cause of so much pre-occupation on your part…

So instead of ramblings, you get meta-ramblings. Ramblings about why I cannot ramble. Be content, dear child, with the bread crumbs.

(N v S) v (N + S)

October 31, 2003

I think you’re saying I am glossing the implementation phase.

I’m saying most of GNOME and free software development culture in general are glossing the conceptualization (aka idea generation, aka planning, aka big-D Design) phase.

They are both substantial, hard and, in the context of building *good* original software, both essential.

If you skip implementation you end up with NO software. If you skip conceptualization you end up with crappy software (or a clone, which is better than crappy software, but if Linux takes over the world and can only clone, then software will stop evolving and I will shoot myself… you can’t wake up one day and suddenly start inventing after a decade of copying). Unfortunately people seem to fall into two categories: either they skip conceptualization (pragmatists, Meyers-Briggs S’s) or they skip implementation (dreamers, Meyers-Briggs N’s). The people who have programmed the software stack we rely upon and are hence respected have, of course, tended to be pragmatists. The dominant culture that grew out of this has rightfully observed that crappy is better than nothing. Unfortunately, they have fallaciously extended this argument and decided that implementation is better than conceptualization.

Given a choice between one or the other, that is true. But they’re not mutually exclusive. To generate software that’s better than the status quo you NEED both… and both are difficult and substantial tasks that you need to work hard at.

With a big project that’s composed of lots of people, you can, in theory, have both. But in ecological terms, this does not often happen. Most open source projects start as a very small group of people, and given some success they grow larger. Unfortunately, people tend to hit it off with people who are “like them” so the dreamers tend to only work with dreamers, and the pragmatists tend to only work with pragmatists. Dreamer groups always die young because of course nothing is worse than crappy. Pragmatist groups like GNOME, by virtue of observing the failures of dreamers, develop a culture that is HOSTILE toward dreamers (and the only “dreamers” who stick around as a result are those that don’t have anything better to do than get shot down… namely loser dreamers… which only reinforces the feeling of the pragmatists that dreamers are a waste of air).

Re: Vision

October 31, 2003

Havoc: “if you have an idea” to me is glossing over the developing an idea phase as badly as I gloss over the implementation phase. 😉

The people who do the best implementation are not necessarily those who do the best ideas. In fact, they’re often not. We can’t expect to develop a culture of implementation relying on cloning for half a decade, and then magically once we’ve got market share based on our key feature (and we do agree that freedom is at the core of what we’re doing… though I would go off and shoot myself if we get freedom and desktops stop making progress entirely 😉 turn on the invention spigot. These are things that need cultivating…

Responses about vision

October 29, 2003

Havoc: The point is not what the Apollo program was able to do, but to contrast the Apollo program with the expenditures on “modern NASA” which is only 10% less funded (accounting for inflation) and does a lot less. Its an anecdote, the point doesn’t really rise and fall on NASA, its just meant to illustrate on a grandiose scale 😉

I’m not arguing for haste, I’m arguing for direction. Linux 2.0 was a laughable toy, but without the direction provided by copying the features of other Unix systems, Linux 2.6 could not exist. Maybe they did it better, maybe they didn’t, but in terms of core features, its the same thing. The cool things happened in a thousand steps, but a thousand steps in various directions will not get you anywhere particularly cool.

So people are making the X server support smooth 3D graphics and in the future we’ll implement the next generation UI on top of it. But we have no idea what the next generation UI is, so how do you know that supporting smooth 3D graphics is needed for it? We only know because we have seen that those are the components Apple used to make their next generation UI. Our only roadmap right now is cloning. And in UIs (perhaps unlike kernels) I believe that the cloner is pretty much doomed to greater crappiness, and that at least a release behind.

Firstly, that there are a hundred people sitting around saying “we should do something cool” doesn’t mean there are a hundred people sitting around proposing genuinely good things to do. Secondly, good ideas are NOT cheap, and ideas don’t just magically happen. Making good ideas takes work, research, lots of reflection, argument, etc. As I’ve said before, mailing lists are create for the reality-check phase of idea generation, and terrible for the brainstorming phase.

That there are already thousands of *cough* enthusiasts suggesting ideas (or worse, suggesting that “something cool should happen”) does not mean that we should avoid developing good ideas in favour of just sticking our nose to the grindstone (in the same way as the number of usability enthusiasts does not reduce the need for good UI design in GNOME). Avoiding idea generation because the unwashed masses love to engage in it is reactionary.

An straw man interpretation of what you are saying is basically: “stop worrying about ideas and get back to the REAL work”. Behind almost every important and useful product was not just an idea, but ideas. And they weren’t just selected from the myriad ideas floating around the world, they were developed… they were nurtured… they competed with each other… etc. This is important and real work. Knowing what you’re building is pretty important, and it takes real work to figure that out. GNOME has (perhaps in reaction to avoiding being like the l0z3rz) imo strayed way too much toward the “shut up and build!” side of things. Yes, that’s PART of what makes things get done, but its not all of it.

Christian: “There needs to be something to build upon before the grand vision stage is plausible”… which interestingly enough is exactly how the last decade of NASA expenditures is justified. They say they are building “generic space tools” that could be used “to build anything”. But unfortunately they’ve done much and accomplished relatively little (even in the tool expansion department). The blueprint comes first, the foundation comes second, and interior decorating can come third (though in reality I think this is often done between blueprint and building, it doesn’t necessarily have to be).

I think people assume we are talking interior decorating. You know, you build all the real manly libraries you need to do any sort of computing work, and then you build your little GUI as wall paper atop that. The thing is that the particulars of the libraries and the base system highly constrain the interface… not just in terms of what’s possible technically, but what developers will actually write (for example, the HIG is oft criticized as being ineffective because some of the HIG suggestions for controls require more lines-of-code).

HIG btw is NOT a grand vision. HIG is reflective not visionary for the most part. The several little changes we’ve made that are not reflective of GNOME but instead improve the status quo are always sources of controversy too.

Murray: finding a (good) direction won’t be a result of figuring out the average of all the “direction vectors” that GNOME developers want to move in. This is bound to be some composite of “what windows does” and “what OS/X does”. Long term goals of use in the sort of way I’m thinking have not even been posted to gnome planet blogs, to my knowledge. A goal in the way I’m using the word is NOT “lets have a cool configuration database”, that’s a task (a huge one). A goal is “Lets go to the moon” or “Lets make a way for mass installations of GNOME to be remotely admin-able” (and this would really be a sub-sub-goal of a much larger picture). Most of the good goals are going to take serious thinking, I don’t think people have concretely formed them yet. And yes, most of them should be human-centered “interface”/”interaction” (even if that’s not GUI) goals.