Nonprofit Geek Trivia Winner

I spent two days this past week at Aspiration‘s Nonprofit Software Development Summit. I’ve organized several events with Allen Gunn (Gunner), so it was fun to take off the organizer hat and just be a participant. I had no agenda going into the conference, which was also quite pleasant. I attended because I love the people in this community and because Gunner asked me to facilitate a session on usability. The summit did not disappoint. I caught up with old friends, made several new ones, gave the ol’ noggin a vigorous workout, and had a ton of fun overall.    (LUH)

I ended up participating more actively than I had originally planned. It started with my usability session, which caused many to mistakenly assume that usability was my specialty. I decided to rectify this the following day by offering an ad-hoc skill-sharing session on throwing kick-ass collaborative events. We had a great group of high-energy people in that crowd, and the wisdom sharing was decidedly bi-directional.    (LUI)

At the last minute, Gunner asked me if I would do a Speed Geeking session on HyperScope. I was hesitant at first, because it had been months since I last spoke about HyperScope and because I had never quite gotten my presentation down to five minutes. The best I had done previously was half an hour. Plus, people were already confused enough as to what I did for a living. Nevertheless, the hesitation quickly dissipated. I live for challenges like this.    (LUJ)

It turned out to be even more difficult, because there were 14 presentations. For those of you counting at home, that meant giving the same five minute presentation 14 times in a row, with no breaks in-between. My first and last two presentations were mediocre — it took me a few rounds to get my pitch down, and I was exhausted by the end — but I had a nice little streak in the middle.    (LUK)

Here’s some cute historical trivia: I presented at the very first Speed Geeking session (at the first AdvocacyDev three years ago). In my commentary then, I expressed doubts as to whether Speed Geeking was a great format. Since then, I’ve seen it performed several other times, and I’ve watched it become popular in other venues, although I hadn’t participated in another one until this past week. I’m now a full-fledged convert. My original criticisms still stand. What’s swayed my opinion is that, when done right, Speed Geeking is all about movement and positive group energy. (Gunner, of course, always facilitates them beautifully.) When executed poorly, it’s an energy suck that degrades into hallway conversations.    (LUL)

Speaking of trivia, I couldn’t bow out of the conference without participating in the Nonprofit Geek Trivia Contest. Evan Henshaw-Plath, Michal Mach, Lena Zuniga, and I formed The Flying Luas and dueled several other teams over questions such as:    (LUM)

  • To the nearest power of two, how many kilobytes was the ROM BIOS on the original Macintosh?    (LUN)
  • Name the now-defunct U.S. branch of the Association for Progressive Communications.    (LUO)
  • And my personal favorite: What is a “link condom”?    (LUP)

Clearly, only the deeply disturbed had any chance of winning this competition. Guess who won?    (LUQ)

http://farm1.static.flickr.com/141/399585464_384c7e0280_m.jpg    (LUR)

I’m on a bit of a roll with these things. My secret? I’m the John Salley of the conference contest circuit.    (LUS)

The last question of the night was a five-point bonus question: Write a haiku about data loss. I took a short video of the results. In our collective defense, we consumed much alcohol that evening.    (LUT)

The Thrill of Pair Programming

I have a lot of different passions, which is lucky in a lot of ways, and unlucky in others. It’s lucky because it makes life incredibly fun. It’s unlucky, because life is finite, and I don’t have time to delve as deeply into things as I would like. It’s why I knew I would never become a professional programmer.    (JZB)

This past year, I spent most of my time doing field work and thinking about social processes. When I switched into technical mode, it was as an architect or a pundit, not as a programmer. And that’s the way it should be. It’s the right mode for me professionally and personally. Besides, the less time in front of a computer, the better.    (JZC)

However, that’s changed these past few months, as I’ve had to wear my coding hat for a variety of reasons. And I have to admit, it still gets me going. My skills have degraded a lot over the years, more from disuse than age, but I can still get it done. It makes me feel like one of those clean-cut, Midwestern types who comes home from his nine-to-five job, then plays poker all night at some seedy underground club. It’s liberating.    (JZD)

In particular, I had fun Pair Programming with Peter Kaminski a few weeks ago and with Brian Ingerson last night. Both of those efforts were toy one-offs, but they were great fun nevertheless, and it got me thinking. Coding with others, and pairing in particular, is one of the most intense, enjoyable collaborative experiences one can have. Read Evan Henshaw-Plath‘s account of his recent Ruby On Rails sprint with Blaine Cook and Kellan Elliott-McCrea, and you’ll see what I mean. It’s the sort of thing I never get to do anymore.    (JZE)

I know a lot of great coders, and I love talking shop. And, I still want to spend as little time as possible in front of a computer. But, I’m going to make a concerted effort to pair with folks at least once every few months. If you’re in the Bay Area and are in the mood to code up something that is small, cool, and will improve collaboration some way, somehow, let me know.    (JZF)

Purple Numbers Are Ugly

Evan Henshaw-Plath thinks that Purple Numbers are ugly. He’s not the first.    (JW1)

A bit of history. The original Purple Numbers were a dark purple. Then Murray Altheim came up with a brilliant idea. Let’s make them lighter! So he did. That was better, but it wasn’t enough.    (JW2)

As Chris Dent and I started taking the identifier scheme to the next level, blogs started becoming popular. Permalinks, as rabble and others have pointed out, are granular addresses. Because our new identifier scheme was uglier by design (universally unique IDs can get quite large), we decided to jump on the blogging bandwagon and use hashes instead.    (JW3)

Then a funny thing happened. Peter Yim, a long-time Engelbart follower and an avid PurpleWiki user, complained. A lot. He said it was too hard to figure out what the links were. And as much as I tried to ignore him, I couldn’t. He was right. Or, more accurately, we were wrong. So we changed it back.    (JW4)

Our decision to go with hashes was wrong specifically in the context of PurpleWiki. Wikis are wonderful because you can Link As You Think. This is possible because page names are automatically linked, and it’s easy to remember page names. We added syntax for easily linking to Purple Numbers (for example, Purple Numbers). The problem was that when we replaced the addresses with hashes, we made it harder to Link As You Think.    (JW5)

With WikiSym coming up in a few days, I’ve had Wikis on my mind big-time, and I recently had an epiphany. It turns out I was wrong about being wrong.    (JW6)

The identifiers underlying Purple Numbers are designed to be stable, unique, and meaningless. In other words, not human-friendly. The notion of linking to Purple Numbers via our extended Wiki syntax isn’t tremendously useful, even if the identifiers are easily visible, because they’re impossible to remember. You’re rarely going to Link As You Think, because you’ll most likely have to go to the page to check what the number is. If you’re going to do that, you might as well just cut-and-paste the link, the status quo of the web.    (JW7)

Phil Jones almost stumbled onto something quite profound in his commentary last May, but he couldn’t quite put his finger on it, and Chris and I consequently jumped all over him. We were right, of course, but Phil was onto something.    (JW8)

In a Wiki context, here’s the right way to use Purple Numbers. By default, Purple Numbers should look pretty. So far, the best scheme I’ve seen for this is Simon Willison‘s nifty CSS hack. If folks want to link to a Purple Number in a Wiki, they can do it the way you do it anywhere else — get the link address by clicking on the number (or hash or paragraph symbol or whatever), and copy-and-paste it into your document.    (JW9)

However, the Wiki should add an additional feature: the ability to add a human-friendly label to any paragraph. Some Wikis implement this capability by using special WikiText tags, but you should be able to implement this using AJAX goodness.    (JWA)

In other words, suppose you’re reading a Wiki page, and you find one paragraph particularly compelling. All you do is click on the paragraph and add your human-friendly tag. Let’s say the page is DeepThoughts and you enter the label indeed. The label should appear next to the paragraph, and anytime somebody wants to link to that paragraph, they just type DeepThoughts#indeed.    (JWB)

Here’s where it gets cute. Doing this feels like tagging. You’re just tagging granular content instead of documents… which is what Purple Numbers are designed to enable in the first place. So, make the label a tag across the entire Wiki. In other words, if you click on the label indeed, you get a search page showing all paragraphs on the Wiki that have been tagged indeed. If you really want to be cute, you can make it a Technorati Tag so it gets crawled.    (JWC)

This makes cosmic sense. Both Wikis and tagging work when labels are not unique — the exact opposite requirement of Purple Numbers. You want namespace clash, and Wikis and tagging give you that. This way, you get the best of all worlds. You still have the immutable, unique Purple Numbers, but now they’re not so ugly. You also get Link As You Think granular addresses and granular tagging. Everyone wins.    (JWD)

(By the way, rabble, looking forward to seeing pretty Purple Numbers in typo!)    (JWE)

Social Implications of Data Sharing

A few weeks ago, Evan Henshaw-Plath was explaining to me his epiphany about 43people, where an aggregation of different services tied together by Social Networks was starting to look very compelling. He then said that the next natural step for the folks at The Robot Co-op was calendaring. If anyone knows about calendaring, it’s Evan, who started a calendaring company with Kellan Elliott-McCrea in a past life. (Evan, you need Purple Numbers in your blog. Everyone needs them, dammit!) Trying to find relevant event information works much better when tied to Social Networks. Folks are starting to recognize this en masse, and the industry is reacting accordingly.    (JV3)

In an ideal world, Social Networks wouldn’t be tied to a particular site. Instead, that information would be distributed, and users would control the distribution. I’d love to tie my Google searches with my social network profile at LinkedIn, for example. That’s not going to happen unless Google acquires LinkedIn, or unless there are specs and a culture for distributed data sharing.    (JV4)

The culture is the tricky part. For as long as I’ve known him, Ross Mayfield has had an email signature that says what recipients are allowed to do with that email. (The choices are “bloggable,” “ask first,” and “private.” I think “ask first” is his default.) That, my friends, is a link contract.    (JV5)

Andy Dale has been working on the technical details of distributed data sharing with his XDI work. XDI is hairy stuff, but it’s graspable. Recently, Andy blogged about the form that link contracts and data sharing agreements might take. Victor Grey has said many times that we need a Creative Commons for data sharing agreements — simple, understandable, reusable, and legally enforceable contracts for our data.    (JV6)

That’s just a start. What will the user interface for specifying these agreements look like? Will users pay any more attention to these then they already do to Terms of Agreement on web sites?    (JV7)