Archive for February, 2007

Mauvespace 0.1.0

Tuesday, February 27th, 2007

Yesterday evening I finally managed to release Mauvespace. You can read more, download or signup on mauvespace.com.

Version 0.1.0 is a kind of halfway house to a full social network. It’s got a blog, user details, photos and a templating language, but it can’t syndicate any of the information that it exports.

I’m eyeing up Magpie as the parser behind blog syndication, and RAP can already parse RDF/XML so that’s a pretty good start. The main issues are in finding profiles to syndicate, importing them into the database and making sure that it’s all updated properly.

I keep thinking of new mashups that the Mauvespace model allows. In fact it’s a bit rich to even call them mashups. Mashups are usually defined as third-party scripts that combine and relate data from various large online databases to display interesting or useful things. With Mauvespace everything is a kind of mashup. Its data is (well, will be) drawn from a distributed semantic web and the templating language makes no distinction between local data and syndicated data.

My next task is to do some publicising. I’m also going to do a couple of more varied themes for 0.1, I think, before I start doing anything involved for 0.2.

IE DOM Tables

Monday, February 19th, 2007

More outstanding issues are biting me with Internet Explorer 7, specifically these two well-known issues:

IE doesn’t render table row elements <tr> unless they are added to an explicit <tbody> element. (The HTML and XHTML DTDs allow <tbody> to be optional/implicit.)

IE doesn’t accept XHTML attribute names as XML DOM setAttribute() keys, requiring instead HTML DOM HTMLElement member variable names. (The HTML DOM is defined as subclassing the XML DOM without overriding these methods.)

I’m now using the Internet Explorer Developer Toolbar, which comprises a few of the features of Firefox’s Web Developer Toolbar and Firebug extensions. It’s really helpful in diagnosing these IE issues.

Looking through some of the unofficial bug lists for Internet Explorer, you start to get an idea of just how far behind Internet Explorer still is.

Subtle IE tab order glitch

Friday, February 16th, 2007

In Internet Explorer, both 6 and 7, automatically reloading an <iframe/> breaks the tab order and makes IE focus the address bar instead of the next field when you tab.

I wonder if anyone else has spotted this; it seems triflingly minor, but the client is so keen on tab order working correctly that they want me to rewrite the <iframe/> with AJAX polling.

Writing an RSS client

Tuesday, February 13th, 2007

Interestingly, my latest paid project is to build an RSS reader. I am doing this not out of bloody-minded determination to reinvent the wheel, and I would be perfectly happy to adapt an existing project to work in the way I want, but none of the apps I have seen or tried does what I want it to do.

This project is a desktop feed notifier. It will poll feeds and pop up messages (non-intrusively) either when it starts or when it first sees them.

I have mentioned my views on RSS before, but happily they don’t conflict this project. Because this is aimed at intranet service notifications there is a contract between producer and consumer, not merely a shared protocol.

I think that one good aspect of RSS is its ubiquity. Several apps already in use in this Intranet are RSS-aware and can be wired into this system with a minimum of work.

Without wanting to revisit the previous arguments too much, I might as well summarise them for completeness. I can envisage only two useful strategies for a syndication format:

  • Fixed contract: Specify a unique set of obligations for producer and consumer including both syntax and semantics. eg. RSS 0.90
  • Negotiated contract: Specify obligations of syntax, but encourage producers to offer a complete semantic representation, and allow consumers to build a customised syndication from within it. eg. RDF.

Rape Conspiracy

Monday, February 5th, 2007

Channel 4 news was just reporting on the conviction of three men for conspiracy to rape children. The details are horrific, obviously. I’m not trying to get into the details of that.

However I was amazed that Channel 4 proceeded from details of the crime to an absolute rinsing of the hosting company that was hosting their website. It was introduced by some woman from the NSPCC who was demanding that web communications be restricted in some non-specific but utopian way.

There followed a confused explanation of the DNS system that sounded accusatory but didn’t really serve to illustrate anything even if viewers had understood it. Were they claiming that the company hosting the DNS should be policing websites?

Then they started talking about the hosting company - and by this point I assumed it was the web host and perhaps the DNS guff had simply been a red herring - and how the hosting company, while not bound by law to police its websites, should be doing so anyway.  And then they actually contacted the hosting company’s other clients to badger them on the issue.

The web is being policed. It is being policed by… the police. The police are ideally placed to locate and identify sex offenders online due to access to a wide variety of data from a range of sources. The police received public funds to do this. The police have powers to demand that members of the public turn over encryption keys. The police can obtain warrants, confiscate computers, detain people, and if they have a case, they can prosecute.

And the story, if you actually remember what the story was and haven’t just been sold on the idea that hosting companies are to blame for child abuse, was that this exact strategy has just put three potential sex offenders behind bars.