In Portland last week I visited with Ward Cunningham, whose pragmatic and humane approach to the art of software informs everything he touches: the Wiki, object-oriented, agile, and test-driven programming, the framework for integrated test. (InfoWorld stuff about Ward here, here, and here.) Ward’s living the startup life these days, at aboutus.org, which describes itself as a “socially editable directory of the internet.” Think WHOIS morphed into a Wikipedia where you are not only permitted, but actively encouraged, to write the biography of your company or community.
But that’s not what we mostly talked about. Instead Ward took me behind the scenes at the portal for the Eclipse Foundation. Only members can participate in the workflows accessible through this portal: electing new committers, scheduling project reviews. But it turns out that anybody can explore the portal use cases.
Here’s a simple one: Change Personal Address. This is the part of the system that runs when a member changes facts about his or her address. You can see a test script that exercises this part of the system. You can even run the test script and inspect the results. Try that, and you’ll see that the output interleaves lines of script with renderings of what the users sees: screenshots, emails.
Finally you can swim the test. Here the steps and results are laid out in a table. Time advances as you move down the rows, and there’s a column for every actor in the workflow.
When you hover over an action step or a notification, the corresponding screenshot or email message pops up. This is a great way to visualize a complex email-mediated workflow that can involve many actors, and unfold over many days. But here’s the kicker: the visualization is also available to users, directly from the interface. Here’s the screen that you see when you’re changing your address:
Next to the Save button there’s an Explore link. If you click it, you’ll discover the same swim visualization that anyone, anytime, can explore here. Note the variations, most interestingly the one for the case where the person is a committer, and where the address change either does or does not coincide with a change of employer. If you did change employer, you’re going to get this email informing you that additional paperwork is required:
This isn’t just an innovative approach to software testing and workflow visualization. It’s also a radical statement about business process transparency. For most of us, most of the time, business systems are black boxes whose internal workings we can only discern in the outcomes of our (often painful) interactions with them. But what if you could find out, before pressing the Save button, what’s going on in that black box? And what if your way of finding out wasn’t by reading bogus documentation, but instead by probing the system itself using its own test framework?
It’s a huge idea. In a blog about this project, Ward writes:
The MyFoundation portal, once again, respects the curiosity and intellect of its users by exposing all aspects of the processes it supports. Who asked for this? No one. No one thought to. That doesn’t mean it isn’t needed.
Brian Marick calls this Visible Workings. He identifies a middle ground, between the traditional GUI presentation and the raw source code that produces it. This middle ground makes the application both explanatory and tinkerable. The portal’s swim diagram is our middle ground. We know it makes our work explanatory and look forward to investigating the tinkerable aspects too.
Online forms have too much in common with income tax forms. Nobody likes filling out either one. Each is a sea of fields, each field another question, one question after another. It is like being interrogated. Can we make filling out a form more like a conversation than an interrogation? The portal’s explore links suggest a way toward this goal. These links let you ask a question every now and then. You get to ask, “why do you ask?” Wouldn’t it be great if you could always do that?