Adventures in Obsolete Software

Gonna keep the names in this one a tiny bit vague because I'm not sure I should be talking about it in public.

(How's that for a hook? Are you interested now?)

So I was a freelance developer for a very long time, mostly in distance learning. In 2003 and 2004, I did a gig for a major publisher, pretty much single-handedly building the front end for a tool that could generate customized websites for each of their titles -- it was a very early precursor to today's learning management systems.

Having taken a long round trip out of that industry and back again, I now work full-time for that same publisher, and just for fun thought I'd try to ask around and see if anyone remembered that old tool I built back in the day.

Friends: they're still using it. Prominently. Almost unaltered. The design is unbelievably dated, significant parts of the UI are broken, and there's still a "this feature is temporarily disabled" apology popup that I remember adding to one of the widgets a couple decades ago -- but it's still in use across a majority of their titles; subsidiary to their new products, but still in there as a top level link.

It predates git (we were using Concurrent Versioning System for code management; the "commit messages" are a string of comments at the top of each file). It predates browser support for PNGs. It predates jQuery. It predates HTML5. It *definitely* predates all current frameworks. Worst of all, it had the misfortune to be built during the years of The Great XML Delusion, when the entire industry suddenly became convinced that XML was the Way Things Should Be Done, so the entire front end was built as a gigantic wad of XSLT templates, a complicated and obsolete language that nobody in the present day wants to relearn (myself included!) Which probably goes some way towards explaining why the broken bits are still broken. Here's the best part: some years after I built it and moved on, I went to a UX conference with Kate Krolicki where one of the presentations was devoted to tearing that exact product apart from a usability point of view (I had introduced what I thought was a clever navigation mechanism, which turns out to not have been clear to a lot of users). So that was fun too.

I have found the person responsible for maintaining it and apologized. I should probably track down a generation of educators and students and apologize to them too.

All this is to say, to my tech-oriented friends: if you ever feel like your work is too ephemeral, that it'll all be replaced when the next framework fad sweeps in, if it ever seems like you're just building sandcastles that'll get washed away by the next tide.... remember that that's a good thing.