November 20th, 2012

Tall ships (porthole)

(no subject)

Y'know, back in the Web 1.0 days, things like the memes actually worked.

As did, well, pretty much everything.

Now it's more important that your site looks shiny and uses all the latest buzzwords than that it actually does something useful. The same seems to be happening with desktop programs as well. For example, a while back I had to upgrade TortoiseHg to get a fix for a bug in handling the executable bit on files (IIRC, it was unsetting the executable bit on merges on Windows). This meant upgrading from version 1.something to version 2.something, wherein the authors had taken the existing Gtk interface and replaced it with a ground-up rewrite in Qt. Version 1 had something called the "Repository Explorer", which was an incredibly useful tool for browsing the history of a single repository. Version 2 instead has something called the "Workbench", which is an incredibly confusing tool for doing everything to multiple repositories.

As an example, the Repository Explorer had a search toolbar with options for showing everything, tagged changesets, the ancestors of a changeset, the parents of the working directory, all repository heads, all merges (or alternatively hiding merges), a specific branch, or a drop-down for a few other things (file path filter, keyword search, date, or user). The drop-down also had an option to let you enter a custom query using the Mercurial revset syntax, if you wanted to do something that the other options didn't give you.

The Workbench got rid of almost all of those (it kept the branch drop-down) and replaced them with a single textbox that accepts a revset query. Now, technically this lets you do everything that the Repository Explorer did, so technically there's no loss of functionality... but at a massive cost to usability. The revset syntax is something I'd never come across before upgrading to TortoiseHg 2, because I'd never *needed* to use it. The version 1 GUI had all the common queries available in an easily discoverable form that didn't require learning any kind of query syntax. Version 2... to be honest, it feels like a downgrade rather than an upgrade. I'm struggling to find any ways in which it's an improvement, and I've found plenty in which it's not (not to mention other useful features that have vanished).

But at least it fixed that bug!