Thursday, September 20, 2007

If we can't possibly understand what we're building...

I forgot a great quote that I heard during Dick Gabriel's talk on Design Beyond Human Abilities (i.e., designing systems so large and complicated that they are beyond human comprehension):

We have modularity so that we can understand what we're building. If we can't understand what we're building, who cares about modularity? We can't understand it anyway.

-- Ralph Johnson

Wednesday, September 19, 2007

Never use a warning when you mean undo

Via Ajaxian,

Aza Raskin on respecting habituation by providing undo instead of warnings
.

Monday, September 17, 2007

Cleaning toilets at Starbucks

Michael Gates Gill says he’s learned that cleaning the toilets at Starbucks is more satisfying than doing advertising for Ford Motor Company at J. Walter Thompson
reveries.com has a posting about the upcoming book How Starbucks Saved My Life.

PLoP Report Day 4

What are the boundaries of Patterns?
Given the authors for the last paper were not able to make it, we opened up our final workshop to any thoughts any of us had.

I raised the question of how important the Pattern form was. That is, how closely should a Patterns paper follow a particular structure? If we experimented more with different structures, styles, perhaps even graphical styles, would the result be appropriate for PLoP workshopping?

The general consensus seemed to be that as long as the work contributed toward helping people develop software better, then it would probably be welcome.

There was a question then of why structure might be important for searchability and scannability of a Patterns paper. We argued that this is something that should be meta-data and not influence the writing approach. The typical advice for new Patterns authors is to start with a known structure whereas I pushed for Spew, then Organise (something that I learned from Martin Fowler). Dick Gabriel claimed that no real writer ever starts out with an outline.

So my recommended approach is to just write and then use typical Pattern structure to ensure that you've covered off the important points (i.e., what's the problem? what are the forces? etc.).

The journey home
I actually had another night in Champaign since my flight was on the next day. But otherwise, another trip above the clouds back to Sydney.

View above the clouds

PLoP Report Day 3

Woke up really early on the third day.

Agile and bonobos culture
Linda Rising did a presentation on bonobos and Agile culture that she had done at Agile 2006.

I'd rather not rely on analogy to justify a particular culture. Even if the bonobos did not exist, some cultures simply work better in the work context. We should look for and follow that evidence rather than make analogies. I also remember watching a show years ago suggesting that even though bonobos do not engage in violence like chimpanzees, they will still shun members of their community.

Patterns of interactive information graphics
The first paper to be workshopped was about interactive information graphics, more specifically regarding 2D educational type software.

This made me wonder about similar patterns in games that are done to communicate boundaries without succumbing to the "invisible wall" technique. Especially with the trend toward free roaming sandbox style games, defining boundaries without actually being too "in your face" about the boundary is more important. For example, S.T.A.L.K.E.R. simply has areas of lethal radiation to shape the valid game area. Battlefield 2 used something similar but was more magic damage if you wandered too far out. Apparently Halo 3 had to adjust natural boundaries in the form of terrain in order for players not to get lost.

Nap time
In between writer's workshops there were more presentations and games but I was too tired and had to take a nap.

Connecting Patterns collections
The second paper workshopped was about connecting and representing Patterns collections.

Although I consider the effort useful, my main thought was:

Connecting collections != connecting communities
Saw a frog on the way back to Evergreen Lodge

Frog at Allerton Park

Sunday, September 16, 2007

PLoP Report Day 2

Day 2: the start of PLoP proper
Day 2 was really the start of PLoP proper though a number of people would have already been around for the Bootcamp.

One of the traditions of PLoP are the games which I've always found a bit corny. I'm not sure if the corniness is part of the value or whether there are activities that create trust and engagement that are less corny.

A related thought:

Traditions tend to create greater connection for people within the group and greater barriers for people outside the group.
The Writer's Workshop

Preparing for the start of the writer's workshop

The heart of PLoP is the writer's workshop.

Writer's workshops are like user testing. As a system designer or a writer, one of the most important truths to accept is that you won't be there when people are using your system or reading your work. User testing and writer's workshops are an opportunity to find out how your work will be received when you have no opportunity to interject.

My paper, Hands On Release Planning with Poker Chips, was up first.

Dick Gabriel facilitated our workshop and he tends to use more of a "manuscript review" style of writer's workshop. The traditional PLoP writer's workshop will have a very specific structure with certain points where positive comments are made, where potential improvements are identified, etc. With the manuscript review style, the discussion is pretty much guided by the facilitator.

My main opportunities for improvement:
  • Be more explicit about the problem
  • More examples of use
  • More details on how to do it
Otherwise, I think it was received quite well.

The other paper workshopped on Day 2 was on adaptive object models.

Presentations and Invited Talks
This year, there were also presentations and invited talks.

First short presentation on audio UI design patterns. Quite interesting.

And another on creating a unified pattern catalog. Also interesting.

Dick Gabriel gave a talk on Design Beyond Human Abilities which is about how to design something when no one knows how the entire thing works.

Ralph Johnson pointed out that we're already at this point.
How many large organisations have people that really understand all the systems that are in play?
The day ended with classical music.

Evening entertainment at PLoP

Saturday, September 15, 2007

21st century "Still Life"

Via Jason at Signals vs Noise,

Martin Klimas is an artist who uses sound-activated photography to capture the moment when clay figurines shatter when hitting the ground.

What's interesting is that I've seen most of the figurines shown in the article in Chinatown stores and I actually have the Shaolin monk ones.

PLoP Report Day 1

I attended Pattern Languages of Programming (PLoP) recently and I've now sufficiently recovered from my jet lag to record my thoughts.

----
Took the train this time instead of a cab and it's quite a bit cheaper and faster since I'm so close to Wynard station. I'll probably do this instead from now on. Someone suggested that I use our car service but the train is actually faster.

My apartment's at the edge of the APEC control zone so it was sort of convenient for me to be out of Sydney for that entire period.

My apartment is just outside the APEC exclusion zone

When I bought my tickets, I had requested seats based on what I learned from SeatGuru. At first, it seemed like it all worked out. I was in a 2 person only row with plenty of space around. But then my TV didn't work! So in the end I had to switch seats anyway. I use these trips to catch up on all the movies I haven't got around to seeing. This time around, Shrek the Third (disappointing), Next (okay), Shooter (okay), and Science of Sleep (surprisingly poor).

Very significant difference in the quality of the flying experience switching from Qantas to American Airlines. At this point, I'm very tired but can't quite get to sleep. Saw the tail end of some movie called Gracie.

Finally showed up, ate some very deep pizza, said hello to a few people and went to sleep at my room at the Evergreen Lodge which is a building a short walk from the mansion.

Rocking chairs outside the Evergreen Lodge

Last PLoP, I argued that Allerton Park is a key part of the PLoP story but I'm realising the overhead of getting to it. Perhaps the experiment of being at the same location as OOPSLA is worth doing again.

I learned later that the plan is to alternate between Allerton Park and co-locating with OOPSLA.

Tuesday, September 11, 2007

Banned until New Year 9999

Via Internode Games Network news,

A few people get illegal copies of the Halo 3 Epsilon Test. They play it on Xbox Live (i.e., their gamer tag and console IDs are visible to the server). The next day they see this:


"You have been suspended from Xbox Live. You will not be able to sign in to Xbox Live until 12/31/9999."

Ouch.

Sunday, September 02, 2007

Big visible emotions

Kenji Hiranbe has an article at InfoQ about different types of kanban boards (aka visual signal boards) that can be used in Agile software development teams.

What I found most interesting was the concept of niko-niko calendars, a smiley calendar indicating team member moods for each day. I've done this before but as a part of the story wall rather than a separate calendar. I have since proposed using magnetic South Park avatars with different emotional expressions but most of the teams I've encountered have been a bit too serious to be willing to try it out.

Saturday, September 01, 2007

20 people, 13 months