Бывают случаи, когда в топе элементов (в данном случае будем называть топом обратно отсортированный по какому-либо значению список объектов) некоторые из них борятся за первенство, тем самым создавая определённую динамику. В плане юзабилити интерфейсов это не всегда полезно, в большинстве случаев это делает их более заметными, отвлекающими от трудового процесса.
Судите сами. Имеем скрипт на python3+sqlite3+bottle, суть которого заключается в отображении странички для новой вкладки. На страничке отображаются поля ввода для поисковых машин, добавленных в специальный текстовый файл, и закладки, также добавленные в похожий файл.
При событии «onclick» закладок и кнопок поиска, как и при нажатии Enter в одной из поисковых строк, в фоне срабатывает функция счётчика, добавляющая единичку к количеству использований закладки или поисковой машины. При каждой загрузке страницы элементы сортируются по этому значению. В результате имеем, что элементы, у которых счётчик примерно одинаков, будут прыгать при каждом его увеличении.
Какой бы вы посоветовали алгоритм смягчения таких перемещений по топу? Возможно, стоит как-то вычислять количество использований элемента за какой-то временной период?