Friday, 21 September 2007

Internet Explorer wins?

I never thought I'd discover any feature of Internet Explorer that kicks Firefox's butt, but then today happened. Just configuring an internet-facing Apache HTTP server for a service that requires client SSL certificates. Not ever having done this before, I was impressed at how simple it actually was to do: Configure Apache to see the CA cert, whip up some client certs and then instruct the server to demand a client cert with the "SSLVerifyClient require" directive. Easy.

Then to test I bring up the site in IE6 and I get a nice dialog box telling me that site is demanding a cert and brings up the certificate picker:


Ok not too shabby.

Then I try the same test in FF2, and lo and behold I am presented with this usability abomination:


So I guess its functionality that most people would never touch in either browser, but still, that's just horrible. How on earth are users supposed to infer from that error message that a client cert is required?

"Error code -12272....?"

"Ohhh that's obviously because you haven't installed an appropriate client certificate. Noob"

Monday, 10 September 2007

Convoluted Facebook App Idea

You can tell that I'm becoming a bit of a Facebook addict... but was thinking today it would be neat to have a mobile notification of new wall posts and inbox messages. I know you can probably get these if you are in the US and sign up for SMS alerts, but what about the rest of the world? How about someone builds an IMAP interface into the FB repository that implements the IMAP Push specification. This way the service itself can poll for new messages (maybe even having the notifications triggered via the SMTP alerts) and then expose the data stream via the IMAP interface. Then by establishing a new IMAP account on my phone I can then get immediate notification of the event - along with a link to the appropriate page on m.facebook.com.

Yeah yeah, there are probably a thousand ways to implement this, but this way at least you avoid having to deal with any SMS gateways. Plus I like mentally designing convoluted Wallace & Grommit-style systems (you know, where the candle burns the string that releases the ball that rolls down the ramp that fires a gun that shoots an oven on-switch that cooks some bacon and eggs...)

Wednesday, 5 September 2007

Synchronisation Bliss...

A problem I've been grappling with for a while now is how to synchronise my schedule data across Exchange, Google Calendar, and my cellphone. I've been caught out several times in the past by double booking appointments as a result of not having a unified view of my schedule. I was getting close to throwing in the towel and reverting to a tree-ware scheduler. Unfortunately my company relies heavily on Exchange scheduling and any solution I implement would need to work around this. Well today I finally found the answer and it all rests on SyncML solutions.

Previously I had been using a SyncML broker (Goosync) that exposes my GCal data to my K800i using a SyncML interface. This service works very well (so well in fact that I wouldn't be surprised to see these guys snapped up by the big G sooner or later). The missing link in this setup however is being able to merge my Exchange schedule data with GCal.

Enter ScheduleWorld...

These guys host an instance of the Funambol synchronisation server and enable you to hook up your ScheduleWorld PIM data with a GCal account. If you consider ScheduleWorld now to be the definitive source of calendar data, you can then add clients to this server which are able to conduct bidirectional synchronisation using SyncML. In my example, my first SyncML client is Outlook (using the Funambol Outlook plugin), and the secondary one is my K800i (using the SyncML client that comes bundled with my phone).

Step 1.

Google Calendar <--> ScheduleWorld

Step 2.

ScheduleWorld <--> Funambol Outlook Plugin <--> Outlook <--> Exchange

Step 3.

ScheduleWorld <--> K800i

Most of this is very well documented at this blog post, however the SyncML portion was slightly finicky. To set this up the relevant configuration details are:

Server: https://sync.scheduleworld.com/funambol/ds
Username: Your ScheduleWorld username
Password: Your ScheduleWorld password
Calendar DB: cal

The one limitation with the Outlook <-> ScheduleWorld synchronisation step is that it does require a desktop machine with Outlook running on it. I have not found any server-side Exchange SyncML clients, nor do I imagine many corporate IT departments being very keen on installing one. The Outlook plugin is a good way to circumvent IT and enable you to have your own schedule data on the devices where you need it.

But now I've gotten to the point where I can add/edit/delete schedule data from either Outlook, Google Calendar or my cellphone, and I know that I will be notified of the event wherever I happen to be. All happening automatically - no fuss, no stress.