Scribblings Resurrection

User interface enhancements

Thursday, 3 March 2005

I’ve added what I hope is an enhancement to the user interface for this weblog. It will not work on all browsers but is known to work on Internet Explorer 6 (Windows) and on Firefox, Camino, Netscape 7 and current versions of Safari and Omniweb on a Mac. It will only work if you have Javascript enabled and Internet Explorer 6 may also need to have Active X enabled (I have been unable to check this). It will not work on Opera 7.541 or on any version of Internet Explorer on a Mac. On browsers on which it does not work then either nothing will happen or an alert will appear to tell you about it. The alert depends on your having Javascript enabled. You should not, under any circumstances, get an error message; if you do then please tell me.

What it is

The enhancement only appears in the weblog’s “preview”2 display. To the left of the heading for each article’s preview should appear a little triangle. Like this Right pointing triangle. Clicking on this will make the browser get the full article from the server to replace the preview. The triangle will be replaced by one like this Down pointing triangle. If the server is being a bit slow then one of these Rotating thingy should appear to tell you to wait a while3. Once you have the full article you can click on the Down pointing triangle to collapse it again if you wish.

If it doesn’t work

If the new feature doesn’t work on your browser just move around using the normal links.

Bookmarking & linking to articles

If you want to bookmark an article, or you have your own site and want to add a link to one of the articles, then either choose the Read article link at the bottom of the preview or the Link link at the bottom of the full article once you’ve expanded it. Bookmark, or link to, that page since its URL will not change.

Your “back” button

If you go elsewhere after clicking the triangle to get the full article and then return to the page using your browser’s “back” button you’ll find yourself returned to the original page with all articles in preview mode regardless of whether you expanded any of them. This is beyond my control and is something the browser manufacturers need to think about in my opinion; they had a similar problem when they first introduced framesets in the mid-90s.

Update 18 June 2005

Now that I’ve updated my Mac to OS X 10.4.1 (Tiger) I’ve been able to check things out in the Safari and Omniweb browsers. I am surprised and delighted to find that with both these browsers the back button problem does not occur. Coming back to the page via the back button returns you to the state it was in when you left it with expanded articles still open. Hurrah!

It’s quicker

I’m hoping that this new feature will make the weblog quicker to use than the normal way where you have to have the browser fetch a whole new page from the server. If you don’t like it then simply don’t use it: the weblog will continue to work in the old way too. Most of the time, with a compatible browser, you only have to open previews and then click on the flippy triangles next to the articles you’d like to read.

Comments welcome

I’d welcome comments by email about this as I intend, over the next few months, to use the same idea elsewhere on this weblog and possibly on the rest of the site.

Bug (12 March 2005)

There’s a minor problem with the system I’m using. I hope to upload a fix for it soon when I’ve had a chance to check it on more browsers than I have at home. Details here if you’re interested.

A fix for this is now installed.

Geek stuff

The new feature works using a fairly recent (well, 1999) system introduced with Internet Explorer 5 on Windows. The feature, known as xmlHttpRequest, allows browsers to get stuff from the server without having to fetch a whole new page. The feature was later adapted and adopted for other browsers and now seems to be mature enough to use. It is not an “official”, W3C sanctioned system but will have to do for now until their equivalent system is adopted more widely.

I am also using a non-standard, but very widely supported, Javascript feature to write to the “innerHTML” of elements on the page. I would have liked to have used nothing but W3C DOM stuff for this but have not yet been able to find a way to do it which doesn’t cause Safari and Omniweb to crash horribly4. I’m pretty certain the crashes are caused by a bug in the browsers; the friend who checked it for me has reported it.


1 It also doesn’t work on the copy of Opera 8.0.2 I have now installed on my Mac. I’m pretty certain this is due to a bug in Opera’s Javascript but haven’t yet had the chance to look for a workaround. What happens is that the rotating ‘please wait’ thungummy appears but, since no request ever gets sent to the server, the article never expands. Ho-hum. [24 June 2005]

It does work on Opera 9 on the Mac at least (I’ve not checked the Windows version). [1 July 2006]

2 I’ve now added flippy triangles to the ‘complete articles’ display so that you can collapse them if you like. It works in exactly the same way though it’s probably of less value than the triangles in the preview display (16 March 2005).

3 I hardly ever get the whirling thingummy when using the site from home though I do at work, where the network suffers from periodic hiccups probably due to dozens of kids all downloading ringtones (or worse :-)) at the same time.

4 Although, since I don’t know of a browser which supports xmlHttpRequest without also supporting writable innerHTML it probably doesn’t matter too much.

Posted 3 March 2005, 21:39 GMT