Neil's Place

June 18, 2003

12:59 PM Topicalla - Now with View Source

Here's what I've added recently to Topicalla:

  • Tabbed Browsing, although the back and forward buttons don't enable/disable properly when switching tabs.
  • Multiple Views - so, for example, you can view a list of movies or RSS feeds in an icon view, a tree view or a normal view. Both the icon and tree views have a simple filter field for showing only certain items.
  • Two forms of View Source, the normal browser style, and an RDF source form, which outputs the current RDF data as a list of triples. I may modify the output later to be in N3 format or something like that.

The CVS doesn't sem to be working at the moment so I can't check in the view source changes. I'd also hoped to have a build of the component as well, but I can't seem to get it to be recognized on a non-debug build of Mozilla.

Next, I think I'll work on some customize UI.

Comments ( 32 )

June 16, 2003

8:05 PM Oh well.

Looks like my former employer has turned pure evil. For those who don't know, here's the pattern used:

  • Hire new president to help become profitable.
  • Partner with large US company.
  • Hire new president to help become profitable.
  • Realize large US company provides no value and break deal.
  • Hire new president to help become profitable.
  • Partner with large US company

Comments ( 18 )

June 13, 2003

2:33 PM Getting and Putting Semantic Information

Below, I'm going to discuss how I think information can be retrieved and edited using a Semantic Web/Microcontent Client.

One of the things about RDF is that things (resources) are identified by a URI. While it is sometimes the case that that you can enter the URI into a browser and get some RDF-XML out, this isn't always true. There are many resources identified by an HTTP URI which aren't actually accessible at that location. Some XML namespaces are like this as well. I find this disturbing as using http:// at the beginning implies that the URI has something to do with HTTP. In fact, the XHTML namespace might as well be Actually, it should probably be something starting with urn:

Anyway, because resource URIs in RDF don't indicate where information can be found, I need some consistent way to find RDF data based only on the resource. It's possible that such a thing has been suggested by someone already. I'd imagine something like the following.

In this case, the resource 'urn:ndeakin:jun10-1' would be retrieved from the URL '', which would be some script which looks to see if knows about the resource and returns information about it, or returns nothing if not found.

The user's client (say a Semantic Web Client or Microcontent Client), would recognize the URL form, and could decide what to do based on user settings. For instance, if the resource was already known by the client, it would get the new data and add it to the existing data. Or, the client could modify the URL, based on some user setting, to retrieve from:

This gets the same resource from a different source, which might return additional info about trackbacks and so forth. The example that actually got me started into the Semantic Web is like this:

The client could handle this directly, or it could transform into the following four separate requests (the sites don't actually exist, I've made them up):


This would gather general movie info, local showtimes, the localized rating and the trailer all combined together. Of course, I wouldn't expect Disney to actually allow this kind of thing, but it's just an idea. The client would combine the data from all four sources and present them into a single UI to the user. Here comes something even more interesting. What if I changed my Weblog request above to:


The only change is that the HTTP request type is now PUT instead of GET. This request would allow me to post information about the resource to my weblog. Hmmm, but what about if I wanted to post about a movie? I'd probably do this:


Notice the similarity to those examples above. The resource is the same, but I'm doing a PUT instead of a GET and the URL is different. Let's say now that Jack, who works for Showtimes for Vancouver, wants to upload the showtimes for the movie Finding Nemo for the week. First, he'd enter the resource ID for the movie into his client, the same kind of client everyone else uses (actually, he'd use a search facility that converts movie titles into IDs). The client might translate the ID into a request:


This returns various info about the movie, presented to Jack in a dynamic UI. Jack has customized the UI for the work he does at Showtimes for Vancouver. Although other users would just see general movie info, Jack sees a Showtimes Entry Area. Of course, this might be pre-filled from the data coming from the theatres that supply the showtime information. (which is just a request to their site with the same resource ID.) Jack enters data and hits the Upload button, which makes the following request:


Then, when a user makes the four request list from earlier, he would see the updated showtimes. Remember, no URLs were entered -- the client figured them out based on user settings and previous requests. Jack entered only a movie title, uploaded showtimes, and then users may view the info using the movie title. Also note, in this example, Showtimes for Vancouver doesn't have a Web site, just Jack entering movie showtimes.

Of course, all this requires that companies start using RDF for everything, and this system makes it harder for them to slap enormous logos and long license agreements on everything, so it probably won't ever happen. But then again, I'd rather build things for the user, which is why I'm interested.

Comments ( 7 )

June 8, 2003

11:19 PM My first attempt

mpt links to Gerv's early attempt at programming. I too am one of the ones that can say my first attempt was writing a text adventure, way back when I was 10 years old.

I implemented a rather random text adventure in Commodore 64 Basic, and I called it 'Advenure II'. What makes it interesting is that I accidently spelled it wrong when saving it, so it is forever known as Advenure II with no T. Also unusual, is that at the time, I didn't know of any game called Adventure, so the game was a sequel to something that didn't exist. As well, I don't remember playing any text adventures before then either, so it's possible I re-invented the genre myself.

The game was pretty primitive and random. At the beginning you had two choices, either A or B. If you chose A, you got into a boat, and a version of 'Michael, row your boat ashore' played which I'd copied the code for out of some book (which might have been the C64 user manual). If you chose B, you started "WALKING HOME FROM SCHOOL AND SUDDENLY, YOU FALL INTO A PIT." After falling in the pit, you find it filled with alligators and you have to escape on one of four vines.

After the boat trip or vines, the game is pretty random. The game might say you can go south or east, but really either way takes you to a random room. There wasn't any end to it, but there were several ways to die, of course.

I still have the disk I saved it on, but unfortunately I have no means in which to read it.

Comments ( 31 )

June 7, 2003

3:37 PM Searching for Actors

OK, I spent an hour or two, and threw together an icon view for actors for Topicalla. I didn't even have to change the client in any way.

Comments ( 0 )

June 5, 2003

7:39 PM Macromedia Central breaks my law

I just viewed a presentation on Macromedia Central, linked from Anil Dash's site. It seems to be a launching tool for Flash applications, with a bit of UI for connecting them together. Reminded me a bit of Mozilla Firebird's Extensions system, which also supports installling applications that do Web services, and sharing data and so on, as the presentation describes are features. Macromedia Central also seems to want in on the Watson/Sherlock territory.

However, it breaks Neil's Fundamental Law of Products: Never trust a product with marketing materials that contain the word synergy.

Comments ( 32 )

June 4, 2003

2:10 PM Some Mozilla Docs

Creating XPCOM Components - the upcoming book is available online.

Transitioning a Mozilla package to Mozilla Firebird

Comments ( 6 )

June 3, 2003

9:54 PM New Project Created

I've created a mozdev project for the Semantic Web stuff I'm doing. Nothing much to see yet, although you can look at the code and try compiling it yourself if you like. The client uses XUL and XBL and so on. It also uses a custom native XPCOM component written in C++. I used RH8.0 Linux gcc 3.2 to compile. Since I don't have any other compilers, I can't test if it works anywhere else. I'll write some actual documentation soon.

Comments ( 19 )