2
$\begingroup$

Everyone is familiar with most recently used files lists in software and in OSs like Windows.

Some programs just sort by time. I've always been fairly annoyed at this. Others like Windows take usage count into consideration. Some move the item halfway to the top each time it is used, which seems to make sense.

Rather than me blindly guessing at what combination of calculations might be nicest for my end users, is there some well-known most helpful standard for end-user recently-used lists?

(My searches turn up information about MRU caching, but I can't tell how applicable any of that is; it's server efficiency facing vs user efficiency facing.)

$\endgroup$
  • 2
    $\begingroup$ Doesn't the fact that you've observed different programs doing different things indicate that there's no standard? In any case, I'm not sure this is a computer science question. $\endgroup$ – David Richerby Jun 14 '16 at 12:34
  • $\begingroup$ That's not true for other things, for example anything web-related. I was directed here from Stack Overflow. :-( $\endgroup$ – jnm2 Jun 14 '16 at 12:40
  • 1
    $\begingroup$ That's the problem with questions that are borderline: they tend to get bounced around with everybody saying "Not here! Try these guys!" until the poor asker finds themself in a cycle. :-( $\endgroup$ – David Richerby Jun 14 '16 at 14:18
  • 1
    $\begingroup$ I'm not sure. But you can make yourself an account there and ask on their chat room (just link them to this question and ask if they think it would be better there than here). If they think it's a good match, you can flag it here and ask for it to be moved. $\endgroup$ – David Richerby Jun 14 '16 at 16:08
  • 1
    $\begingroup$ @DavidRicherby Since there's an answer straight from the data structures textbook, I think the question is fair for this site. Not the user-interface part, but the data representation part. $\endgroup$ – Raphael Aug 13 '16 at 16:19
2
$\begingroup$

This concept is indeed known in data structures as self-adjusting/-organizing lists. Possible strategies include

  • move the accessed element to the front,
  • maintain a sorted list by (potentially degrading) counts, and
  • move the accessed element one step towards the front.

Many more strategies are possible; which is most suitable depends a lot on the specific situation.

$\endgroup$
0
$\begingroup$

The recently used file list is a sort of cache for your user that saves them lookups. There are many different caching strategies. Wikipedia has an overview article about Cache algorithms.

However, since you're dealing with humans here, a good caching algorithm for a computer might be confusing to your users. For example, random replacement is very simple to implement and works decently well for processor caches, but I would hate it if a program used that for its recently used file list. So maybe you want to do A/B testing, or other kinds of Usability engineering to find out what works best for your audience.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.