Now Live: Fancy Sorting

We just changed how commitments in your gallery are sorted and I’m really liking it. Before I had some hopeless-seeming commitments always sorted to the top and it was kind of demoralizing. Now I have one only slightly late one at the top [update: just dispatched it!], then some kinda-embarrassingly-overdue ones, then some that are due soon, then the hopelessly overdue ones. It’s a little weird and arguably magical but I think there’s a fundamental sense in which this is the optimal order to tackle these and that makes it all feel less daunting.

Here’s my gallery if you want to see what I mean: http://dreev.commits.to

Or to catch you up if you don’t know what I’m talking about, until yesterday promises sorted in the obvious order, with the most overdue things on top. But now… well, let me quote myself from “Sorting of Promises in the User’s Gallery” in the spec:

We refer to the page shown at alice.commits.to as Alice’s gallery because it shows the list of all her promises.

We sort them as follows. All incomplete promises sort to the top. Among incomplete promises we sort by urgency, to be defined momentarily. Among complete promises we sort by decreasing completion date. So you see the most urgent things first, and then completed promises, starting with the most recently completed.

The obvious way to sort by urgency is simply amount of time till the deadline. For overdue promises that’s a negative number so the most overdue promise would sort to the very top.

But just for fun, and maybe because it’s useful, we’ll use a more sophisticated definition of urgency. Namely, we’ll sort by least absolute distance to the nearest Schelling fence. If nothing is overdue then it’s the same as the obvious definition of urgency, since the due date will in fact be the nearest Schelling fence. But when some things are overdue, the most urgent is the one where you’re losing reliability the fastest or are about to start doing so. For example, if you’re already a few days late on something then you’re probably treating 1 week overdue as the new deadline. If you have something else that just passed or is about to pass the 24-hour overdue mark, that’s more urgent.

2 Likes

Yay! I like this a lot.

Here’s a less technical explanation of the new sorting that I just gave to hardcore commits.to user @kim that might be useful to others:

Commits.to no longer sorts the most overdue things to the top. Rather it sorts the most “urgent” things to the top. Like if something is hopelessly overdue, that’s not as urgent anymore as something that’s about to hit its deadline, or is about to become 7 days late (since, as you may recall, the score has precipitous drops as it becomes an hour / a day / a week / a month / a year late).

So if you have something embarrassingly/hopelessly overdue, it won’t just sit there at the top of your gallery anymore.

Next feature to help with that problem: an “uncle” button where you can just just declare something failed, take the hit to your score, and have it go away altogether. (I actually have a commits.to promise to turn that feature request into a GitHub issue which I’m postponing until dispatching another promise to clean up some other gissues.)

:slight_smile:

<3