Jamie's Blog

Ruby developer. CTO. Swimmer. Always trying to write more

Stuck in the OpenID wilderness

I’ve been stuck in a rut with ShutterScouts recently. I started out creating a basic template, moved onto the domain model and coded the basic user authentication system. So far, so good, so easy(ish). But then I really wanted to support OpenID — I’d done it for one of my other sites so I figured it wouldn’t be too difficult.

Since Smugmug and Flickr provide OpenIDs, most potential users (i.e., photographers) were likely to already have one so it’d be easy for them to participate in ShutterScouts (and an ID Selector makes it really easy to use). The difference this time is that I a) needed to support multiple OpenID providers (previously I just tested with the excellent MyOpenID) and b) not all providers support the same features.

Smugmug, like many providers, doesn’t support the optional attribute exchange so you still have to ask the user for their name, email address etc. That’s just a pain in the neck because you can get these attributes from some providers and not others. So sometimes you’re left with a full user profile object and others it’s invalid (i.e., missing email address etc). On top of this, the Yahoo support for OpenID is the most complicated series of steps that I’ve ever tried. Now, I’m no Yahoo fan and I’m still confused by their range of mailing list settings, but I’m not the only one that has found it too complicated.

So, in the end I’ve dropped OpenID support from the first iteration of ShutterScouts. I probably should have done it sooner too as OpenID issues have been complicating my code, making the site hard to test and generally stressing me out. It’s also still too complicated for general users to figure out.