Neil's Place

August 18, 2003

5:54 PM Significant Topicalla Changes

I haven't posted much lately. One reason was that I went on a sudden vacation to my parents' new house for a few days.

The other reason is that I have been busy working on significant changes to the template building code for Topicalla. Before, it used to crawl the DOM looking for template related tags and attributes every time a change was made. While it isn't particularly a performance problem at the moment, it would be too slow and tedious for more complicated cases.

Now, instead, it builds up a list of dependencies so that when something changes, it only needs to recompute those nodes in the DOM which would have changed as a result. For example, if template expressions only exist on a <tree> and some <treecell> nested lower down, the builder only looks at those nodes. It also handles changes to the underlying RDF and should be able to ensure that even complex expressions are only recomputed when necessary.

There's still a few things to clean up and a few regressions have occured, but I hope to have those fixed soon. With a bit more work, it should be enough to handle everything that XUL templates can handle, except of course, a lot more -- for example, working in X/HTML.

Comments ( 38 )

August 16, 2003

10:40 PM Quote from the news yesterday

Heard on the news:

Reporter: Do you think you'll get through this power cut?
Woman: I think we will. Wal-Mart is open.

Comments ( 8 )

August 10, 2003

Persistant Alternate Stylesheets
I just noted a checkin to Mozilla Firebird about persistant alternate stylesheet support.

August 9, 2003

Some notes about Phoenix/Firebird
I wrote this back when Phoenix/Firebird was first getting started. I'm just posting it here to remind me to ensure it's up to date. And because I realized it isn't linked from anywhere.

August 7, 2003

Firebird Blackmail
Sadly, blocked by a three year old bug

August 5, 2003

8:48 PM A sudden thought

The difference between communicating in person and communicating online is that in person you can almost always tell whether someone is trying to insult you or not, whereas online you can't tell, so if there is any doubt, everyone just assumes that they are.

Comments ( 13 )

12:13 PM Topicalla Timelines

I've added some date handling functions to Topicalla. So now, I can view a set of weblogs in a timeline view. It shows when postings were made. There's a bit of overlap as the entries were made fairly close together. Eventually, you'll be able to zoom in to see each entry better.

Comments ( 27 )

August 4, 2003

Web Service Browser
Some thoughts on one

August 1, 2003

Mini RSS Faq
Also includes some RDF info

11:07 PM Why use XUL?

A number of people have been coming to XulPlanet after being referred by someone who suggested they investigate XUL to see if it is suitable for their purposes. They have wondered why there is no introductory text as to what XUL is and why one might want to use it. So I added a Why use XUL? page.

Comments ( 30 )

July 31, 2003

Any Key
Tip on where it is

July 30, 2003

11:46 AM What is a killer feature?

I posted this on Mozillazine. I thought I'd repost it here because I found it interesting:

Over the last few years, I've seen many people talk about how there isn't a good killer feature in Mozilla. Or in Opera. Or Linux. Or in any other product one might mention. Marc Andressen recently thought so too. Why? Because killer features don't exist. You can't create them.

One could say that tabbed browsing, or popup blocking or any of the Firebird extensions, or 'tools to organize and information-overflown workflow need' (this quote from the post I was repying to) are killer features. Are they? They could be. But they really aren't. Even though I use Mozilla because of them and wouldn't use a different browser.

You see, when a new kind of product is created (the very first browser, the first spreadsheet, the first music downloader,... ), nobody knows much about it. So the creator adds feature after feature. By the time 3.0 or 4.0 comes out, people pretty much know what the application is all about. 'Killer apps' will have millions of users by then. At this point, all of those users have a hard-wired notion of what that kind of application does. For a browser, for example, it views web pages, has a back and forward button and you can use bookmarks. Any feature you add beyond the 3.0/4.0 release simply gets ignored. The users don't care any more about features.

Microsoft keeps coming out with new versions of Office. Every version has lots of features, but no one notices them. Some people yell 'Bloat!", and complain. People figured out what a word processor was supposed to do 10 years ago. Features added after people decided on what the hard-wired definition of word processor was simply go unnoticed, regardless of how useful they might be.

People won't switch to Mozilla or Firebird because of any great features, because those features aren't what people think of as a browser. The only way to get people to use a browser is if that browser is something else. Like, a complex information-overflown workflow organizer.

Oh, and to anyone who wants to create that, don't put a Back button in it -- people will think it's a browser.

Comments ( 39 )

July 26, 2003

12:35 PM Phil discusses bug tracking tools

Phil discusses bug tracking tools. I've used a number of bug tracking tools, both free and commercial. The commercial ones weren't particularly very good either.

In fact, one of them, which I won't mention by name, was so horrible that had I been a part of the company that produced it, I would have been embarrsed by the product, and would have strongly recommended that customers use something else. It's UI had unlabeled fields that you couldn't type into (only one of the fields allowed that), no scrollbars -- to get to bug 60, you had to click Next 10 times -- and you couldn't search by word, you had to search by selecting from a list of criteria. In addition, there were two different classes of bugs. Both were entered and modified in a similar way but with subtle differences in UI. In one bug type, you had no search capability whatsoever; in the other you had to save a bug in a different fashion. A key problem with that was that both bug types used a separate list of indices, meaning there was a bug 45 of one type and a bug 45 of the other. At least, I think there was. The email notifications didn't make it clear which kind it was, so you had to look through both types -- involving many presses of the Next button. Oh, and did I mention that you couldn't resize any of the windows? To top it all off, our company didn't want to pay for a separate license for everybody, so we only had one account per team. It's great fun when you can't reassign a bug to a particular person.

Phil doesn't like Bugzilla. He says:

So how did I manage with it as a user? Trying to see if a bug had already been logged? Failed. Simple search to return all bugs? Failed.

He didn't mention what installation of Bugzilla he was testing with. I assume he was using In Bugzilla's defense, neither of the two failed cases would easily pass on any system with over 200 000 bugs logged in it. One just can't easily narrow down a search from 200 000 to just one bug that easily. And displaying a list of all bugs? Er, no. I'm pretty sure that's wouldn't be a good idea.

Bugzilla does have the advantage over some other tools I've used in that you can easily bookmark searches and bugs. It also has a commenting system which is clearer. While it does have a lot of fields on screen, many of them aren't actually necessary in a non-Mozilla situation. Many users wouldn't need a patch review/acceptance system, for example.

Comments ( 31 )

July 25, 2003

9:33 PM Topicalla Update: customizing

I just added a few things to Topicalla. I put together a simple script to read and convert RSS0.9/RSS2.0 and subscription lists in OPML. Selecting an item in the OPML view opens the corresponding RSS. Of course, it will also work no matter what kind of content it is -- if the URL pointed to by the OPML turns out to be FOAF instead, it will be displayed as such.

I also made the customize window do something useful. One can now add, modify and remove UI associated with particular types of content. For example, given a musician (which has an RDFS class of, I might add some UI which presents the list of albums created by that artist. This works, although I had to pull from a local RDF file, since the MusicBrainz RDF doesn't seem to contain a lot of useful info.

In addition, one can add additional datasources for a type. That means that I can load data from MusicBrainz and from somewhere else -- for example, a source containing music reviews -- whenever I display an artist.

Next, I plan to add the ability to add support for any kind of content.

Comments ( 6 )