Last night we posted a preview of the new Laszlo Calendar application.

You can sign up for an account on goWebtop or just read more about it on the blog.

This is a huge milestone for Laszlo. For years Laszlo has had a demo app that has been widely referenced for its innovative cinematic user experience. It was one of the very first applications built in Laszlo, and a key influencer in the creation of the LZX language. For years customers would ask us about whether they could buy that application, but it was less than half an application and there were some usability issues with the UI of that demo. Late last year, we finally decided to kick off a project to build a full calendar app as part of Laszlo Webtop. I’m pleased to be offering this initial sneak peek…

In January 2002, Elden Nelson wrote “Extreme Programming vs. Interaction Design: When two development design visionaries meet, there’s room for consensus–but not much (via The Sticky Bit and the Internet Archive). This fabulous interview with Kent Beck and Alan Cooper contrasts two modern methodologies for getting software right. These challenging questions are no less relevant six years later. I believe that we should take guidance from both philosophies, and that they are not mutually exclusive.

Alan is absolutely right that there needs to be up front design. He talks about designing human behaviors before you even consider defining an interface, thinking about what buttons go on the screen. He notes that interaction design focuses on the behavior of complex systems, of humans and of organizations. He comments: “I think XP has some really deep, deep tacit assumptions going on, and I think the deepest tacit assumption is that we have a significant organizational problem, but we can’t fix the organization.” In my experience, sometimes we can fix the organization and sometimes we can’t. Usually we can just nudge it in the right direction, but some of the age old problems will exist. It’s easy for a management team to just remove design from the process in the name of XP.

Alan would keep engineers away from customers, fearing that engineers lack insight into human processes and will merely “automate the pain.” He draws an analogy with an architect and a builder; however, I believe architects study construction and the engineering principles behind building a lot more than most interaction designers study the technology they work with. After much discussion, Alan agrees that needs to be a back-and-froth and that engineers need to be involved with the design.

The major contention in this article seems to be about whether the engineers start work day 1 or day X, but afterwards both believer they should work together. I’d like to see a project with Alan and Kent both on board where Alan’s team was doing interaction design while Kent’s team was writing stories. I love Kent’s ideal of writing code that is flexible and becomes more resilient over time not less, but it is clear that Alan just doesn’t believe it, and I agree that ideal is pretty tough to achieve.

Here are some quotes from the interview which I enjoyed….

Cooper: It’s my experience that neither users nor customers can articulate what it is they want, nor can they evaluate it when they see it.

Kent Beck:
One of my goals in XP was creating teams that even in highly constrained and emotionally charged business environments could produce programs that didn’t lose their ability over time but, in fact, gained capacity over time. As components are factored out, as configurations emerge from the customer team–which you might call the interaction team–the program is still getting better and better in five years. The team gets the attitude where they go back to the customers and say, “You’re giving us easy stuff. Give us a hard one.” The customer team is actually challenged, over time, to think bigger and bigger thoughts as development goes on.

And here’s my favorite exchange, following where Alan Cooper was talking about how the right design up front keeps the requirements from shifting, since you get them right upfront (which I don’t know if I agree with, I suppose it depends on the length of the development cycle):

Beck: Yeah, but I would say exactly the opposite. For all its Dilbertesque qualities–and I’m still proud of having said “Embrace Change” in the title of the first XP book. I’ve consciously decided to give up the ability to predict the future.

Cooper: I see that in XP. It’s an abdication.

Beck: Is Zen an abdication?

I’ve been letting comments build up in my moderation queue, since I have been overwhelmed by the amount of spam. Today, I decided to upgrade to mt4 to see if the new version offered anything better. I got a 500 error at first, but found in my apache logs:

error: “file is writable by others”
Found via google that I needed to: chmod 755
I usually just a+x, but that seemed to work.

Other than that, MovableType was a delight to install, as always.

Eek! All of the comments I had marked as junk were simply unpublished after the upgrade. I couldn’t deal with 45,000 comments via the GUI, so I decided to walk on the edge and edit directly via SQL… I had just backed up my database, right?

So… for the record, this is what worked:
mysql> DELETE FROM mt_comment WHERE comment_visible IS NULL;
Query OK, 45176 rows affected (7.54 sec)

Then, I decide to go after my trackback spam:
mysql> DELETE FROM mt_tbping WHERE tbping_blog_name LIKE “%Jhony%”;
Query OK, 46535 rows affected (5.31 sec)

mysql> DELETE FROM mt_tbping WHERE tbping_blog_name LIKE “%sex%”;
Query OK, 37 rows affected (0.03 sec)

mysql> DELETE FROM mt_tbping WHERE tbping_blog_name LIKE “%loans%”;
Query OK, 171 rows affected (0.04 sec)

finally, I decided my time was more important than finding the elusive valid trackback, so I deleted them all:

mysql> DELETE FROM mt_tbping;

Ok, all is good, or so I thought. I’ve got my old blog with the new MT. However, I wanted to try out authentication for comments, but when I turn it on, I get an error when I post a new comment that registration is required. I suppose I need to update my “Entry” template, so I look up the MT4 default templates. However, if I paste in the entry template, I get an error. Sigh.