phil wilson :: a geek commodity

3:22 PM

permanent link to post No Palm phones in Europe? 

Friday, April 30, 2004

I just can’t understand why Nokia doesn’t have an app with similar functionality for its Series 60 phones. Or why some third party hasn’t made one yet – or maybe even an adapter for Palm-to-S60 switchers. I wish I could use an app that was so well written to manage my calendar, contacts, memos, etc. and I wish that installing a new app on my phone (and backup) was as simple as it is on a Palm.

This is so true it’s incredible. The Palm software is awesome – the level of integration and sheer ease of use is phenomenal.

To be fair, the level of the current Nokia Desktop software is about the same as the Palm Desktop software was about two years ago, and they’ve got plenty of time to learn from the Palm Desktop and catch up.

The ease of installation problem is interesting because I think that whilst it is still actually easier to install on Palms than phones, the compatability problems are still there – have you tried running the SCUMM Palm emu? It can be a nightmare to get running on some Palms, but as easy as pie on others.

Frank Koehntopp makes the excellent point in Russ’ comments that PalmOS phones just aren’t available to us here in Europe at the moment, and that

today Symbian is a half-ass phone OS and a bit of organiser functionality. PalmOS may not be any better in the phone functionality, but it kicks ass organsiser wise. I like Symbian a lot, but it lacks quite a bit to make a decent smartphone platform: pen entry, a decent datebook, something like hotsync, and generally better organizer features.

The organiser is what counts to me, and if I could have phone functionality in my Clié I’d take it in a second and it’d finally stop me having to carry two out of synch devices around with me all the time.

10:23 AM

permanent link to post The Sheffield Peace Gardens 

Thursday, April 29, 2004

Originally uploaded by Pip.

Just. A. Test.

Posted by Pip from Flickr.


4:59 PM

permanent link to post Jabber: framed 

Tuesday, April 27, 2004

From the Jabber Development mailing list comes news of a new Java-based gateway framework

After a REALLY long lead time I am happy to announce that the source code to the Jabber Gateway Framework (aka JGF) has finally been released to the Open Source community. Right now a very minimalist web page is available at and download files are available on our project page on SourceForge.

This project is a Java framework that provides a great deal of support for stateful Jabber gateway implementations. Using this library as a starting point, a simple Jabber server extension could be coded very quickly. The JGF provides built-in support for a Gateway administration “bot”, a web-based status/admin interface, gateway registration, gateway JUD lookups and (old-protocol) multi-user chat.

This looks great. Just the other day I was recommending Yaja! as the component library to use for this kind of thing, but as good as it is, it's not been updated for a while (since 2002!).

Jabber development libraries are really only now starting to come up to scratch, and none of the C++ Jabber libraries are very easy to use so it's good to see more gateway/transport stuff beginning to emerge (instead of client libraries, of which there are quite a few).

12:01 PM

permanent link to post A slight aside - the weather 

Monday, April 26, 2004

What? Nice weather in the UK? In Sheffield? Well, it was last week at least:

But don’t worry, it’s just started raining again. Ho hum.

9:41 AM

permanent link to post New Mozilla RDF module owner 

Hot damn! Mozilla RDF has a new module owner who has this to say:

We gonna push for both standards conformance (there are new specs out there since early 2004) and scriptability for remote web applications. This will include some serious whacking of the RDF API in Mozilla, as that is not ready for the web by a fair amount.

Great! I’ve run into a couple of issues that would benefit from the RDF module following the latest spec version, and we can only guess at what “scriptability for remote web applications” will allow us to do.

1:29 PM

permanent link to post Handy XML tag outlining 

Friday, April 23, 2004

Oooh, I’d not noticed before, but if you’re viewing an XML file in Firefox and CTRL-click an element, it puts a grey border around that element, allowing you to see where it begins and ends – useful for matching start and end tags of long elements.

9:49 AM

permanent link to post Awesome per-site CSS 

Thursday, April 22, 2004

The URIid extension for Mozilla and Firefox (via asa) lets you assign per-site CSS styles.

This is amazing. Couple this with the very useful Chromedit and you have an easy-as-pie all-in-one solution for making sites look the way you want them to.

Is there one site where the font is always too small? Apply a style making it bigger on that site only! Annoyed with The Register’s ads? A swift #www-theregister-co-uk .Ad {display:none;} and they’re gone! Content only!

The only downside? Changes to the userContent.css only get applied when you restart the browser. So then, install the EditCSS extension and the Web Developer Extension (or some other bookmarklet which gives you the names of IDs and classes on elements), restart your browser, visit a site you want to edit, use the “View ID and class details” command, hit CTRL-8 to bring up the EditCSS window and enter the CSS you want applied to the elements you want to modify.

Bring up your userContent.css in either ChromEdit or a file editor, copy and paste your new CSS in, hit "save", restart your browser and away you go!

p.s. If you need to double-check what the generated ID/class for the page you’re on is, it won’t show up in “view source”. Instead you’ll need to view the generated DOM of the page (either by using the DOM Inspector or a “view DOM source” bookmarklet like the one on this Javascript weblog

8:34 AM

permanent link to post Gmail for Blogger-ers 

Wednesday, April 21, 2004

asa pointed out that some Blogger users are being given the opportunity to sign up for GMail accounts. So I logged in and voila!

Let the spam begin. :)

For those who've not seen it yet, this is what you get if you're a regular Blogger user:

4:59 PM

permanent link to post Mozilla link bar suXX0r! 

Tuesday, April 20, 2004

The Mozilla link toolbar doesn’t work as well as Firefox’s link toolbar extension does. For about a year now I’ve had rel="bookmark" on the permanent links to my posts, and these have quite merrily appeared in Firefox’s link toolbar, and I’ve just added rel="section" to links to my monthly archives, and these also appear nicely

But neither of these appear as menu options in Mozilla 1.7b (build 2004031616 if you care). Rubbish!

11:00 AM

permanent link to post Dashboard and Jabber 

In the Dashboard architecture, cluepackets are used to send messages between front and back-end applications. Now what if there was a way to tunnel cluepackets through Jabber? Has someone explored this already?

It would be trivial to embed a jabber client core into an application which sends Cluepackets to a transport which then does all the work.

But of course your frontend needs to actually be able to send the cluepackets in the first place, which for the majority of Windows applications, just ain't gonna happen.

I actually tried writing an Jabber cluepacketer (for want of a better word) a couple of months ago, but I didn’t have access to a GNOME box and didn’t find the cluepacket doc that Leigh links to (which is very useful - I’d been trying to read the C source to see what the structure should look like! Looking around now I suddenly find things like a useful wiki page about CluePackets but I swear it wasn’t there before! :) ).

DJ Adams (author of Programming Jabber and any number of introductory Jabber articles) hints that using the Publish-Subscribe mechanism of Jabber (JEP-0060 for those who care) would be the most interesting thing to do, but quite frankly, it also looks like it would be the hardest thing to do. :)

Looking around, there are already some interesting frontends, including one for Firefox/Mozilla (there are some good links to other Dashboard docs on the same site).

Maybe I should reinstall my linux box at home, follow the Getting dashboard Running instructions and see how it goes. Is it worth it?

The Dashboard lxr is currently offline so instead the docs are available on this URL, which I expect to become redundant as soon as the Dashboard lxr comes back online. :)

9:49 AM

permanent link to post DB eh? 

I don’t pretend to be a DBA but currently at work that’s part of my role (what was that sa password again?).

Anyway, the Java Performance Tuning website has a recent Question of the Month which just happens to deal with primary key efficiency in SQL Server – well worth a read.

1:14 PM

permanent link to post Desktop XUL apps 

Monday, April 19, 2004

I was all set to write a post about how we should be using centralised apps with XUL frontends for aggregation to provide native interfaces regardless of location but I find that Manuzhai beat me to it

I think an online XUL aggregator is perfect: a rich UI, but available from anywhere in the world.

He mentions XUL Channels which is no longer available because of hosting problems, and it’s certainly a start (the source is available and took me a grand total 2 minutes to set up). It’s missing a host of features such as multiple users, read/unread items, flagging, Atom supoprt etc. but given that the code alone is six months old this is probably fair enough.

Presumably with a bit of hacking it would be possible to make this an executable app (loading it via the chrome:// command like ChatZilla). It could also read any feeds for which an RDF transformation is available, and the missing features don't seem like they'd be that hard to add in - XUL's a doddle after all ;)

The hardest part would probably be dealing with HTML entities, which it currently appears to struggle with, but they could always be stripped out in the first instace. Do I smell the future burning bright?

11:02 AM

permanent link to post saucereader praise 

Thursday, April 15, 2004

Wow, I'm famous!
9:49 AM

permanent link to post Mark me up, Scotty 

Tuesday, April 13, 2004

Simon writes about the legion of non-HTML text markup languages and introduces his own (we have enough. please stop now. Maybe writing your own markup language is the new “writing your own wiki“, which was the new “writing your own aggregator” ?)

Anyway, he points out that anyone entering italic*italic-boldbold* into most engines and that includes Markdown, Textile and [his] home-rolled Python solution… will output vadly (sic) formed XHTML.

I’m glad to be able to say that JTextile gets it right, producing:


It still doesn't do normal line-breaks, but hey, nothing's perfect. ;)

G fixed the linebreak problem at long last. Stupid StringTokenizer :)

10:40 AM

permanent link to post RSSx from Atom 

Thursday, April 08, 2004

Manuzhai emails to tell me that FeedDemon doesn’t actually support Atom yet, so my last plea is futile.

He points to a coverter which produces an RSS 2.0 feed from my Atom feed.

There’s also a converter which will produce an RSS 1.0 feed from my Atom feed (which I actually linked to back in February), so FeedDemon users need not despair!

9:33 AM

permanent link to post Won't anyone think of the children? 

If you‘re subscribed to my RSS feed then STOP! Move to my Atom feed.

My RSS feed doesn’t have proper titles, doesn’t tell you when items were published and is the result of five minutes of PHP.

I won’t be turning it off any time soon, but please—think of the children.

9:57 PM

permanent link to post This platform happens to be my soapbox 

Wednesday, April 07, 2004

I think Anil Dash is missing a trick.

Anil says Platforms, not programs. But why? The most widely-known application-as-a-platform of recent years is probably Mozilla, and has that succeeded in real terms? No. Firefox has. Thunderbird has started to. ChatZilla is starting to take off the IRC world thanks to its low entry requirements (Mark Pilgrim wishes there were a standalone version of chatzilla but he might be taking the piss, so pretend I never mentioned it).

Breaking the Mozilla platform (we’re not talking about the GRE) was the best thing that could possibly have happened because it lowered user expectations. Your website doesn’t render? That’s a Firefox problem. IMAP connection keeps dropping? That’s something wrong in Thunderbird. Without them being separate applications all these errors are perceived as being due to “Mozilla”. Ergo, for the users, Mozilla sucks. Users are much more willing to forgive the same number of errors spread over different executables.

I’ve got to confess that I’ve not used Outlook as much as Anil has. In fact, I’ve only been using it for the past two years or so, but you know what? Every single time I have to use it it disappoints me. Every single time. Startup, shutdown. Mail notification. Mail rules. Calendaring. Reminders. Everything. I’m permanantly dissatisfied with every single bit of Outlook. It’s possible that there’s a mountain of stuff going on in the background that I don’t know about, but get this – I don’t care – user impressions are built on what they can see and touch, and using Outlook feels like having to hold a week-old turd.

Outlook doesn’t work as a platform because none of its constituent parts are good enough. Maybe if they were all separate apps I’d give it a break (actually, I’d probably just use different apps). The fact that the Outlook monolith is extensible is irrelevant. Anil mentions five extensions he uses despite the fact that one of them is simply a replacement for Outlook’s utterly broken searching (he even says so). Another two (Plaxo and MS Business Contact Manager) are replacements for Oulook’s utterly broken address book. If people have to release extensions to fix core functionality in your enterprise, corporate product, then what does that say about it? And because it’s a massive and closed environment, how do you know that installing these extensions isn’t going to fundamentally break something that you may not find out about for six months when you really need to send that important reply to your biggest client?

If you want platforms, then that’s great, but why write one single massive application on top of it? Why not write several, smaller, interacting applications?

Products, people. Products based on platforms, people.

9:03 PM

permanent link to post Idle sods 

SharpReader turns One.

So what the fuck's been going on the aggregator scene in that time? SharpReader is *still* the most professional of all the Windows desktop aggregators (despite being free!), a crown it took when it launched and looks unlikely to be forced to give up

This must mean that I've been using JabRSS as my main aggregator for about 11 months, and explains my recent interest in desktop aggregators.

I've been really disappointed though. There's nothing new, nothing exciting. The only thing which looks to be pushing the envelope is the RSS and BitTorrent work being done by Andrew Grumet. Maybe when someone realises that Atom was designed to handle binary content from the start someone in that camp will release an equivalent (which if done soon should knock his Support the creation of better tools---and create better ones ourselves---for production and consumption of BT-enclosure feeds. for a loop - not that I actually expect it to happen).

To be fair, there's been prolifigation, but I can't believe that's all. What have I been missing? Let me know.

5:47 PM

permanent link to post RSSOwl 

RSSOwl | RSS & RDF Newsreader

A cross-platform desktop aggregator in SWT

Looks pretty good, works OK although slightly unintuitive in places and laborious in others, but very feature-complete (including blogthis functionality, grouping, well-implemented searching, multiple languages built-in etc.), cross-platform and open source (it's Java, but fast) ! What more could you ask for?

Something different that it's got going for it is the export of single or multiple feeds as HTML or PDF. This is a decent way to aggregate data so that it can be printed.

It seems to support Atom A-OK although it doesn't actually say so on the website, which is a bit disappointing, and it doesn't run as using the XP theme as default on my machine (although there are instructions in the extensive and detailed documentation on how to do this).

Definitely worth another look.

It's actually come to my attention that RSSOwl features in the Weblogs Compendium which I purported to cover in Part One, Part Two and Conclusion. Ah well :)

1:14 PM

permanent link to post Time to meet the (foaf:)maker 

Monday, April 05, 2004

Whilst writing my LJ Friends Feed script I noticed that in the section of every livejournal user’s page there’s a meta tag describing the foaf:maker of that page. G’s page, for example, contains this:

<meta name="foaf:maker" content="foaf:mbox_sha1sum '1ac73dd5910fd8615d2ae27efaf24258a84c3e66'" />

Paired with the foaf:weblog statement in his FOAF file this provides simple validation for both statements. Awesome. I hadn’t thought of using meta tags like this, and had really assumed that rdf-in-xhtml would have to be used for it, but provided there’s a common way of doing it (especially within a closed system like LJ) then there’s no reason not to.

Interesting stuff!

12:29 PM

permanent link to post Uninstall those extensions! 

It’s a doddle to install firefox extensions but near impossible to uninstall them unless you know what you’re doing, and if you’re like me, you’ll see a new extension and go “Oooh, that looks good”, install it and before you know it have twenty installed of which you use about five.

However there’s one extension you should definitely grab: the extension uninstaller! Yes now you too can uninstall all those unused extensions that you once thought would brighten up your daily browsing experience with the click of a single button!

(via Jacob’s Mozilla Tips)

12:19 PM

permanent link to post iScrobbler 

It seems I’m not the only one who’s been busy. G has written a lovely little AudioScrobbler plugin for iTunes/Windows which means that audioscrobbler is now available on all of the most common music players available for Windows machines. Woohoo!

8:57 AM

permanent link to post aiiie 

My website is now in serious need of a redesign. I know it's bad when even I can't stand to look at it :)

6:47 PM

permanent link to post The Sunday Post 

Sunday, April 04, 2004

G says that there are never any posts on a Sunday, so here’s one just for him (late in the day as it may be).

A few days ago I finally got around to knocking up what I’ve decided to give the short title of The LiveJournal Friends Feed Creator.

My first foray into the murky world of Python it takes a LiveJournal nickname (say, Xurble), retrieves that user’s FOAF file, parses it to retrieve his list of friends, then locates and downloads the RSS file for each friend, and smushes them all together to make one big RSS file which can actually be subscribed to.

And so after all that you end up with (more or less) and RSS representation of that user’s LiveJournal Friends page.

(G – I should have just let you write your screen-scraper!)

Anyway, after some wise words from Jim on Friday I’ll have a go at actually turning this into a web service in the next few days, by which point the LJ authors will probably provide this functionality built in and all my work will be wasted. Here’s hoping.

2:45 PM

permanent link to post Ascetic 

Friday, April 02, 2004

Fewer, people, fewer. Not "less".

This is one of my favourite bugbears, and on Monday I’ll post a picture of the only supermarket I know which labels its checkout tills correctly.

9:54 AM

permanent link to post Aggregators: Conclusion 

In between looking at Sauce Reader, Sharpreader and Syndirella, I looked at pretty much all the other desktop aggregators in the weblog compendium and none of them were as good as these, by a large margin.

All in all, what I’d like from an aggregator is just about covered by these three, but not by any one. The startup speed of the .NET apps is appalling, and the SharpReader toaster effect repels me. The SauceReader UI is just not professional enough. On the other hand, SharpReader is desperately underpowered for such a popular aggregator. It just doesn’t let me do anything – I suspect that this is largely to do with the inoperable browser component (Syndirella’s was the most usable, for the record), but the fact that I can’t even see the source of a feed bothers me too. Comparatively, Sauce Reader provides masses of functionality but could do definitely do with full-on menu and toolbar customisation so we can sort the tools we want to be the most accessible (or copy Syndirella and take the simplistic approach).

And so, in tedious conclusion, if I was thinking about writing a new aggregator, I’d probably start with Syndirella’s model, with something like SauceReader’s functionality as my end goal.

9:54 AM

permanent link to post Aggregators: Part Two 

Sauce Reader

Nice installer, nice tutorial/introduction screens. Slow startup (as with all the aggregators that use the .net runtime). Listens for feed:// URLs and listens on the radio port so you can click on the orange coffee mug on sites (although I hardly ever see these). Also auto-detects feeds for the current page viewed in the embedded web browser.

Imported my OPML file well. Good internal AND web search. Nicely breaks up posts into periods. Has a nice address bar. Overall pretty good. A couple of minor UI tweaks I’d like, like being able to turn on text to describe the buttons on the toolbar, as well as a couple of internal inconsistencies. Also there’s no OCS import. Supports Atom, which is great, seeing as my RSS feed is shit. I managed to make it crash a few times, but I was using a beta version, so I can’t complain too much about that. Has a great right-click “blog this” functionality as well as linking in to technorati. The developers are very receptive to feedback in their dedicated newsgroup and seem very keen to hear from users.

An extra bonus is that its built-in post viewer allows the use of different styles, which are just CSS files which you can edit to your hearts content. Find yellow on red easiest to read? Just change the CSS and you’re away.

Sauce Reader has a different target than most of the aggregators I looked at in that it hopes to become a fully-fledged desktop-based weblogging tool, with the ability to make new posts, add comments and so on so it’s definitely one to keep an eye on.

The main desktop aggregators I’ve used before this are Syndirella and Sharpreader. In terms of features I’d say this is much better than either.

Sharpreader revisited

In all fairness, it’s probably been at least six months since I used Sharpreader, and it’s a lot better than I remember it being. The URL bar is still only really used for adding new feeds, but you can also type the URL of a site and it will autodetect the feed, which is nice. But it means no navigation via the URL bar, and if you use the embedded IE pane then you can’t see the URL of the page you’re on. There’s also a good “filter” functionality which is basically a search across your feeds and works pretty well, although now I’ve got it, I want to be able to save filters and have them appear as internal feeds. It supports Atom, which is good. It doesn’t import or export OCS, which is bad. The originally much-vaunted advanced threading for related posts is kind of nice, but nothing to get too excited about. The pop-up notification of new posts is terrible. Drag’n’drop support for URLs is OK. You can drag a URL to the URL bar or on top of an existing feed to subscribe to it. You can’t just drop it anywhere in the left pane, which is what I expected. Still, much more professional feel to it than Sauce Reader.

Syndirella revisited

Ah Syndirella, my old friend. I spent many months living in Syndirella, and even now, with no development for the past year (at least on the version I downloaded) still outstrips SharpReader and SauceReader in terms of core functionality. There’s no Atom support, because it didn’t exist when Syndirella was written, but it does import and export of BOTH OPML and OCS (for which it gets double points) as well as providing a good user experience – everything I could want to do with a feed is just there, all just a click or two away. Plus it seemed to have better error reporting. I suspect that it wasn’t better, just a lot more obvious.