4

The list of all StackExchange sites (at https://stackexchange.com/sites?view=list) can be sorted by Traffic, Oldest, Newest, Questions, Answers, Percent Answered, Users, Questions Per Day and their Name.

The Oldest and Newest options are opposites, but for every other sorting option no opposite sorting method exists. I suggest that there should be another toggle for reversing the lists order.

This toggle could be located next to the other sorting options:

5
  • Why? You can just go to the bottom of the page and go up the list.
    – Laurel
    Commented Sep 8, 2020 at 14:10
  • 1
    @Laurel It simplifies things and that is the reason technology exists for (in my opinion). Why would you implement a search feature for StackOverflow if you can just scroll throgh the list and look for the question you are looking for? ^^ Commented Sep 8, 2020 at 14:19
  • 1
    The ability to sort on more than one column and other features like a parts list would improve this request; over one basic ability inconveniently offered by the scrollbar.
    – Rob
    Commented Sep 8, 2020 at 14:37
  • @Rob Yes, the scrollbar, or even faster: the End key. Commented Sep 8, 2020 at 15:18
  • @user289905 "Scrollbar" was used generically, as mobile users don't have one on that page, and unless you install a Hacker's Keyboard your handicap doesn't Ctrl+End there.
    – Rob
    Commented Sep 8, 2020 at 15:32

1 Answer 1

4

Adding another toggle to reverse the sorting would require an overhaul of that view without a clear benefit.

The easiest thing that could work and wouldn't require a ton of dev time, in sites.js find function initializeListView() and change the getSortData object to:

getSortData: {
    oldest: function (elem) { return parseInt($(elem).find('input[name="creation-date"]').val(), 10); },
    newest: function (elem) { return -parseInt($(elem).find('input[name="creation-date"]').val(), 10); },
    questions: function (elem) { return -parseInt($(elem).find('input[name="questions"]').val(), 10); },
    answers: function (elem) { return -parseInt($(elem).find('input[name="answers"]').val(), 10); },
    percentanswered: function (elem) { return -parseFloat($(elem).find('input[name="percent-answered"]').val()); },
    users: function (elem) { return -parseInt($(elem).find('input[name="users"]').val(), 10); },
    traffic: function (elem) { return -parseFloat($(elem).find('input[name="visits-per-day"]').val()); },
    questionsperday: function (elem) { return -parseFloat($(elem).find('input[name="questions-per-day"]').val()); },
    name: function (elem) { return $(elem).find('input[name="name"]').val(); },
    // sort almost all the things
    questionsasc: function (elem) { return parseInt($(elem).find('input[name="questions"]').val(), 10); },
    answersasc: function (elem) { return parseInt($(elem).find('input[name="answers"]').val(), 10); },
    percentansweredasc: function (elem) { return parseFloat($(elem).find('input[name="percent-answered"]').val()); },
    usersasc: function (elem) { return parseInt($(elem).find('input[name="users"]').val(), 10); },
    trafficasc: function (elem) { return parseFloat($(elem).find('input[name="visits-per-day"]').val()); },
    questionsperdayasc: function (elem) { return parseFloat($(elem).find('input[name="questions-per-day"]').val()); },
}

And then in the list view add more options to the site-sort dropdown:

<select class="site-sort">
        <option value="traffic" selected="selected">Traffic</option>
        <option value="trafficasc">Ghost towns</option>
        <option value="oldest">Oldest</option>
        <option value="newest">Newest</option>
        <option value="questions">Questions</option>
        <option value="questionsasc">Hardly any Questions</option>
        <option value="answers">Answers</option>
        <option value="answersasc">Lacking Answers</option>
        <option value="percentanswered">Percent Answered</option>
        <option value="percentansweredasc">Lowest Percent Answered</option>
        <option value="users">Users</option>
        <option value="usersasc">From no Users to all Users</option>
        <option value="questionsperday">Questions Per Day</option>
        <option value="questionsperdayasc">Reversed Questions Per Day</option>
        <option value="name">Name</option>
</select>

(Maybe needs better wording for the sort options)

I've done the work that is needed. If this is really useful then a dev needs to make those changes the code base, test, merge, get it reviewed and deployed. Allow for at least 6 to 8 weeks before this happens, if at all.

I'm not convinced the alternate sort orders are that useful or beneficial for regular visitors of that page.

Last time I heard news about those pages I was told they were going away / getting redesigned anyway. Maybe sorting /filtering gets some new love as well then.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .