Sunday, May 06, 2007


Ward Cunningham at the last PLUG meeting

I delayed over writing up this report for the simple reason that I still don't completely understand Ward's presentation last Thursday night at the last Portland Linux/UNIX Group meeting. It's not hard to conclude that the problem lies with me: after all, he's a well-known software developer ("Mr. Wiki" as someone called him that night), and I'm just a guy who pays the bills by doing things with computers. However, knowing full well what follows is incomplete and likely fails to explain some of what Ward said, I'll try to write about it from my notes.

He was very excited to talk about the portal he helped to build for the Eclipse foundation. Not so much for something an end user might see as a new, attractive feature -- he emphasized through his talk that he aimed to keep the software simple and under tight control. Not because it pushed the boundaries of what one could do with Java -- the portal is written in PHP, and his approach to writing the code was for it to read a line, eval it, and if that resulted in HTML output, print that output. Nothing very exciting there.

His excitement was that the working code at every turn was anchored to the tests that assured the quality and accuracy of each tool in the portal. He did this in a simple manner: every time a user opened a field to add or update information, next to the button that would save the changes there was a link marked "explore". If the user followed this link, it would take the user to those test cases which were used to validate the code. By providing the visuals and the text cases used to verify that the software did what it was expected to do, Ward believed that he and Bjorn had provided the users with everything that they knew about the software. "Well, except for how the code itself worked," he added, "but after dealing with so much code, after a while I stop thinking about the code itself." At another point in his presentation, he made the memorable quotation that doing this exposes "your business model to the people you're inflicting it on."

Because these tests focussed on the business logic of the software -- not the webserver, the browsers or anything else about the CGI mechanism -- it helped keep the development simple. Ward reported that they made 76 breleases to production in the last three months due to this simplicity.

He did spend some time talking about the code itself, but I won't attempt to paraphrase him here; I'm stopping while I'm still behind. Ward has written about this in his blog about this portal. I direct the curious to look at his readable account there.

An addendum: after every PLUG meeting, we adjourn to the Lucky Lab brewpub on the other side of the Willamette to talk shop; the gathering after the meeting is a tradition that started in the first year or so of the user group. Sometimes the conversation is dull, and sometimes it can be more interesting than the meeting itself. This time, I was very lucky: that night two of the most recognizable names in Portland's Open Source community decided to sit down next to me and talk shop: Ward and Randal Schwartz. Well, Randal did most of the talking, specifically about his recent presentaion at the Eighth International Free Software Forum about git -- proud that his talk had been approved by Linus Torvalds himself. Randal complained about how hard it was to pierce the patina of Americanization in foreign countries order to experience their native culture (e.g., Brazilian kids prefer American pop music over their own samba, television channels full of dubbed bad American tv shows). Of more interest to Ward, Randal talked about git, and how much more powerful it was than other kinds of version control systems.


Technocrati tags: , ,


Comments: Post a Comment

Links to this post:

Create a Link

<< Home

This page is powered by Blogger. Isn't yours? Site Meter