Neil's Place

October 25, 2003

7:14 PM Custom XUL Rendering Widgets

I've been thinking a bit over the last week or so about support for custom drawing widgets in Mozilla. There are four possibilities:

  • Create a <canvas> tag as described in bug 102285. Although the patch needs some work, this is probably the easiest approach. However, it limits one to a single special XUL tag for drawing.
  • Create a modifiable image object. The image would have a variety of drawing functions such as drawLine, drawRect and so forth as well as pixel-level functions. It might even be possible to support transparency and animation as existing images do. It could then be used in the HTML and XUL image tags, or even CSS properties if a method was created to assign custom images to them. The canvas tag patch suggests that this technique would be quite simple to implement. It has the advantage that it could work on various different tags.
  • Create an interface with drawing functions. These would be called by the application during paint events (such as onpaint) to update the display. This would have the advantage of not necessarily requiring a buffer to hold image data, but would be slower for repeated redraws. It would however, allow extra components to implement the drawing interface, allowing for various alternate system-specific libraries to handle drawing.
  • Use SVG. This is the most work, but only really handles some cases. SVG requires a DOM node for every part of what is to be drawn, which isn't practical for pixel-level drawing or heavy animation.

There's also some security issues, for example, to ensure that unprivileged code either can't use custom drawing, or can't draw over things it shouldn't be able to.

Comments ( 13 )

October 24, 2003

11:20 PM XUL and XAML

A lot of people (here and here, for example) are discussing XAML, an upcoming MS technology which many think is similar to XUL. In case people are confused, no-one has actually seen XAML yet; we only have rumours as to what it is.

The only thing we know is that it is a markup language for describing applications and possibly a few clues from a screenshot. In fact, I don't think we even know for sure that it's for describing user interfaces at all. In fact, if it can, it may be a 'side effect' of what it's actual purpose is.

I suspect the goals of XAML are quite different from the goals of XUL (apart from any MS evil conspiracy). For instance, XUL is designed to be a cross-platform UI language, akin to HTML, that uses existing Web standards such as CSS, XML, DOM, RDF and so on, and includes some interesting features such as overlays and XBL for extensibilty. In my opinion, the only missing things could be fixed up in time with a few good developers who can dedicate themselves to it.

XAML might be similar (complete speculation, remember), but wouldn't think it used CSS or JavaScript. We find out next week sometime what XAML actually is, and then we can determine how similar or different it is.

One of the difficulties in promoting XUL and Mozilla is that many people have this misconception that XUL shouldn't be used because IE has more users. That's unfortunate. That confusion is created because people hear the name Mozilla, and immediately lump it in the 'browser' category, forever more being known only as an IE competitor, not as something more. There's really no reason to do this of course. A better way to think is to allow room for both Mozilla and IE. There really isn't any reason to think that just because a user uses IE for browsing that they shouldn't use a mail reader or an RSS reader or an IM client that doesn't use Mozilla technology such as XUL or the Gecko engine.

So, even if there are lots of competing XML UI languages (and there are many), there's no reason to think you need to use one or the other because one is more popular.

Comments ( 7 )


8:48 PM Map Creation

The RDF Interest Group logs point to a RDF file containing US States meta-info. It lists capitals, regions and the neighbours of states. Upon looking at the data, I thought of an interesting challenge: write a script that could generate a map -- perhaps with SVG -- using only the list of regions and neighbours from the RDF. Obviously, the map would be completely wrong, but it would be interesting to see what the results would be. Better accuracy would require more data: land areas, border sizes, etc...

Comments ( 25 )

October 20, 2003

10:28 PM Inline Weblog Comments

On newsgroups and forums with similar mechanics, users that want to refer to an earlier comment will quote some of the text and the newsreader will add some marks to the left or indent it or something. After several postings, you end up with long blocks of quoted text at several levels deep.

Weblogs tend to only allow comments at a single level. What if, when reading a posting on a weblog, one could select a paragraph, and then click a Respond button, which would associate the comment with that particular paragraph. Or, better, a fancy inline editor, where one could add text in-between paragraphs. To another reader, the whole text appears as it was originally, but upon selecting a Comments button, the additions are displayed in place.

It might appear something like what happens when you click the Comments button here:

Comments ( 69 )

October 12, 2003

Looking for WMD?
They can be found here

October 10, 2003

Turns out Cuba is next.
(Don't worry, Flint, Michigan can't be close behind)

October 7, 2003

12:56 PM ReoPath Templates Specification

For Topicalla, I created a more sophisticated RDF templating language than the one XUL has. It uses ReoPath expressions to bind RDF data to XUL elements. It will also work for XHTML and other XML languages.

The implementation isn't finished; some tags don't work, and the auto-updating of the display when the RDF is changed hasn't been extensively tested.

However, here is a ReoPath Templates Specification.

Comments ( 23 )

October 6, 2003

11:25 PM New Topicalla features

I'm currently working on some significant new features for Topicalla. These features are very exciting. Here are some hints as to what they involve:

  • FOAF
  • An Edit button
  • A Save button
  • Magic

Comments ( 43 )

October 5, 2003

12:34 PM An Open Letter to Movie Studios

Dear Movie Industry:

Please stop making movies involving talking dogs.

Thank You.

Comments ( 36 )

October 2, 2003

RDF Net API
I need something like this

2:07 PM Election Day

There's an election today. It was called exactly one month ago. That's thirty days. It wasn't delayed at all. Every single poll location uses the same high-tech equipment where one writes a mark on a piece of paper and puts it in a box. And as far as I know, no celebrities are running. Where I live, I could vote for someone who used to work at the same place I did, or someone who looks like Jerry Springer. There are other people too but they can only be distinguished by their opinions on real politcal issues which makes them less interesting.

Comments ( 6 )