Neil's Place

June 22, 2003

8:16 PM Editable treecells

So I wanted to have editable XUL treecells for something, so I created a binding which seems to work. Well, except the text cursor doesn't appear, but one can still edit and select cell text.

Various Mozilla issues prevent it from working completely with custom views or RDF content (rendering bugs), or menulists in the cells (mouse events don't work). But it does work with remote XUL.

Example
(CSS) (XBL)

To edit a cell, double-click on it.

Comments ( 12 )

June 20, 2003

6:30 PM

Here is a summary of recent Mozilla related news.

Mozilla 1.4RC2 is now available. It contains various features that won't be in 1.5.

So Dave Hyatt walks into a bar and orders a drink. 65 Mac users spend the rest of the evening discusing it.

Many people are wondering what happened to Blake's weblog. Could he just be really busy? Did his parents take away his computer privileges? My current theory is that some FirebirdSQL developers found him, roughed him up a bit, stole his lunch money, and kidnapped him. He's currently imprisoned somewhere in a dark room, right near the room where the MNG users are torturing Pavlov.

Microsoft keeps cancelling their browsers to various degrees. Here's a summary:

IE for UnixCancelled
IE for WindowsStandalone versions cancelled
IE for MacintoshCancelled
IE for BeOSNo cancellation announcement

In a completely unrelated story, AOL strikes a deal to use IE for the next seven years.

Finally, to avoid confusion, XUL has been renamed XLDUIMASMAEOAIXLTUI. That stands for 'XML Language for Describing the User Interface used by the Mozilla Application Suite and Mozilla-based Applications and Extensions, but not Other Applications that use an Incompatible XML Language for Their User Interface'.

Comments ( 5 )


5:58 PM Topicalla screenshots now available

Some screenshots of Topicalla are now available.

Comments ( 0 )

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 mozdev.org 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 mailto:html@w3.org. 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.

http://www.xulplanet.com/ndeakin/weblog?id=urn:ndeakin:jun10-1

In this case, the resource 'urn:ndeakin:jun10-1' would be retrieved from the URL 'http://www.xulplanet.com/ndeakin/weblog', 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:

http://blogdex.media.mit.edu/weblogs?id=urn:ndeakin:jun10-1

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:

http://www.imdb.com/Title?id=urn:movie:FindingNemo

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):

GET http://www.disney.com/pictures?id=urn:movie:FindingNemo
GET http://www.showtimes-for-vancouver.com/Movie?id=urn:movie:FindingNemo
GET http://www.pssg.gov.bc.ca/film_class/about?id=urn:movie:FindingNemo
GET http://www.movietrailers.com?id=urn:movie:FindingNemo

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:

PUT http://www.xulplanet.com/ndeakin/weblog?id=urn:ndeakin:jun10-1

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:

PUT http://www.xulplanet.com/ndeakin/weblog?id=urn:movie:FindingNemo

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:

GET http://www.imdb.com/Title?id=urn:movie:FindingNemo

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:

PUT http://www.showtimes-for-vancouver.com/Movie?id=urn:movie:FindingNemo

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 )