{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Блог Ильи Бирмана: заметки с тегом ясность",
    "_rss_description": "Блог Ильи Бирмана о дизайне, городах, музыке и жизни.",
    "_rss_language": "ru",
    "_itunes_email": "ilyabirman@ilyabirman.ru",
    "_itunes_categories_xml": "<itunes:category text=\"Arts\"><itunes:category text=\"Design\" \/><\/itunes:category>\r\n<itunes:category text=\"Society &amp; Culture\"><itunes:category text=\"Personal Journals\" \/><\/itunes:category>\r\n<itunes:category text=\"Technology\" \/>\r\n",
    "_itunes_image": "https:\/\/ilyabirman.ru\/meanwhile\/pictures\/userpic\/userpic-square@2x.jpg?1573933764",
    "_itunes_explicit": "no",
    "home_page_url": "https:\/\/ilyabirman.ru\/meanwhile\/tags\/yasnost\/",
    "feed_url": "https:\/\/ilyabirman.ru\/meanwhile\/tags\/yasnost\/json\/",
    "icon": "https:\/\/ilyabirman.ru\/meanwhile\/pictures\/userpic\/userpic@2x.jpg?1573933764",
    "authors": [
        {
            "name": "Илья Бирман",
            "url": "https:\/\/ilyabirman.ru\/meanwhile\/",
            "avatar": "https:\/\/ilyabirman.ru\/meanwhile\/pictures\/userpic\/userpic@2x.jpg?1573933764"
        }
    ],
    "items": [
        {
            "id": "6728",
            "url": "https:\/\/ilyabirman.ru\/meanwhile\/all\/sort-vs-filter\/",
            "title": "Сортировка и фильтрация",
            "content_html": "<p>Заметил, что многие дизайнеры интерфейса не отличают сортировку и фильтрацию. Говорят: «тут можно отсортировать квартиры по конкретному району». Иногда это просто оговорка и на понимание не влияет. Но в моей жизни такие разговоры чаще всего случаются как раз в обсуждении деталей поведения сложных интерфейсов. За неверным выбором слов часто скрывается и недопонимание сути, а как следствие — фиговое проектирование.<\/p>\n<p>Сортировка — это когда у вас есть массив данных, и вы выбираете в каком порядке показывать эти данные: по убыванию цены, по возрастанию рейтинга или по дате изменения.<\/p>\n<p>Фильтрация — это когда у вас есть массив данных, и вы выбираете, какую его часть показать: только у моря и с завтраком, с массой в пределах от 0,5 до 3 масс Солнца или только содержащие подстроку «жопа».<\/p>\n<p>Если у вас 1183 записи, то как их ни сортируй, их останется 1183, а при фильтрации будет показана только их часть.<\/p>\n<p>Значения какого-то поля у многих записей могут совпадать, скажем, у сотни треков в музыкальной коллекции может быть один и тот же исполнитель. Тогда сортировка может быть вложенной, например треки можно отсортировать по названию исполнителя; внутри исполнителя — по дате релиза; внутри релиза — по произвольному порядковому номеру трека в релизе. Дать пользователю управлять такими нюансами в интерфейсе — нетривиальная задача.<\/p>\n<p>Ещё замечу, что когда мы говорим «сортировать по тому-то», мы можем иметь в виду как само поле, которое используется для упорядочивания (по имени), так и принцип этого упорядочивания (по убыванию, по алфавиту). Мы можем брать даже какую-то производную поля и уже её упорядочивать, например, можно отсортировать студентов по убыванию длины имени или города по возрастанию населения.<\/p>\n<p>Строго говоря, сортировка по алфавиту это тоже сортировка по производной поля: мы упорядочиваем по возрастанию порядковых номеров букв в алфавите. Причём это сортировка вложенная: все слова, у которых первая буква одинаковая, мы ещё сортируем по возрастанию порядковых номеров вторых букв в алфавите и так далее. Разумеется, мы об этом не задумываемся, когда говорим «сортировать по алфавиту», но это полезно понимать для стройности мыслей при проектировании сложных систем.<\/p>\n<p>Путаница между сортировкой и фильтрацией возникает потому, что и то и другое связано с полями отображаемых записей. Какая-нибудь вклада «новые» в интерфейсе может как сортировать сообщения по времени, например, показывать более новые в начале, так и фильтровать их, например, показывать только добавленные с прошлого раза.<\/p>\n<p>Отсортировать по району можно: сначала показать записи из Аннина, потом из Бутова, потом из Внукова. Придётся ещё решить, как сортировать записи уже внутри района, ведь их явно будет много в каждом. Но вот отсортировать «по конкретному району» невозможно: это всё равно что отсортировать всех по конкретному росту 172 см.<\/p>\n<p>Когда вы проектируете систему, в которой люди будут работать со сложными данными, у вас должны быть сценарии использования, связанные с необходимостью взгляда на эти данные под разным углом, и понимание буквального смысла каждого из этих углов. Если вы путаетесь в сортировке и фильтрации, скорее всего, у нас нет ясности о том, что именно человек сможет увидеть в интерфейсе и каким образом он этого добьётся.<\/p>\n",
            "summary": "Заметил, что многие дизайнеры интерфейса не отличают сортировку и фильтрацию. Говорят: «тут можно отсортировать квартиры по конкретному району»",
            "date_published": "2026-05-12T14:58:59+08:00",
            "date_modified": "2026-05-12T14:58:51+08:00",
            "tags": [
                "пользовательский интерфейс",
                "ясность"
            ],
            "_date_published_rfc2822": "Tue, 12 May 2026 14:58:59 +0800",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "6728",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "6625",
            "url": "https:\/\/ilyabirman.ru\/meanwhile\/all\/kak-razvivat-yasnost-myshleniya\/",
            "title": "Как развивать ясность мышления?",
            "content_html": "<p>Сначала поделюсь наблюдением, а потом уже спрошу.<\/p>\n<p>Иногда я замечаю, что люди вообще не в состоянии следить за разговором, в котором сами участвуют. Они отвечают как Сири, вообще забыв о контексте, хотя зачастую сами же являются его источником.<\/p>\n<p>Вот недавно я наблюдал обсуждение продвинутости российских банковских приложений над среднемировыми. И там идёт примерно такой обмен репликами:<br \/>\n— Да уж, очень продвинутые приложения, кредит 20%, а в Европе — 3%!<br \/>\n— Но это же не банк виноват.<br \/>\n— Да, но от этого не легче!<\/p>\n<p>В этом месте я попадаю в ступор, потому что я просто не понимаю, как это может быть. Последняя реплика же фактически значит примерно «признаю, я неправ, но, тем не менее, я прав». От чего «не легче»? Если ты пытался привести довод против банков, но признал, что это не довод против банков, то получается, ты не привёл довод?<\/p>\n<p>Тут дело не в том, что я как-то особо строг к людям или требую от них компьютерной точности или не могу простить несовершенства в рассуждениях. Я ничего не требую — я вижу, что людям это не мешает общаться. И простить я всё готов, никаких проблем. Но тут реплика просто обессмысливает весь диалог, то есть я просто перестаю понимать, о чём тогда вообще разговор.<\/p>\n<p>Я могу понять, что в светской дружеской беседе предмет обсуждения может быть не так уж важен. Один сказал про банки, другой просто пожаловался на жизнь вроде тоже на тему банков. И тогда реально пофиг, кто виноват в высоких ставках — можно просто поддержать, мол, да, жизнь тяжёлая. Но тут-то общение незнакомых людей в интернете! Зачем писать эти реплики друг другу, если содержание вас не волнует и вы даже не знакомы?<\/p>\n<p>Так вот. Главное в этом наблюдении для меня — что сами люди, о которых я пишу, вероятно, даже не замечают, что говорят что-то нелогичное или вообще забыли, о чём шла речь. А я сам явно не являюсь эталоном внимательности и ясности мышления. Наверняка бывают ситуации, когда кто-то общаясь со мной наблюдает подобные же глюки, когда я сбиваюсь с мысли или теряюсь в логике.<\/p>\n<p>Вопрос в этой связи вот какой: как развивать ясность мышления? Как не путаться в аргументах и рассуждениях на более сложные темы, чем в примере с банками?<\/p>\n",
            "summary": "Сначала поделюсь наблюдением, а потом уже спрошу",
            "date_published": "2026-01-06T19:25:26+08:00",
            "date_modified": "2026-05-12T14:59:49+08:00",
            "tags": [
                "вопрос",
                "философия",
                "ясность"
            ],
            "_date_published_rfc2822": "Tue, 06 Jan 2026 19:25:26 +0800",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "6625",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4269,
    "_e2_ua_string": "Aegea 12.0a (v4269e)"
}