Что такое WIMP-интерфейс и почему он до сих пор с нами?

    В 1973 году для персонального компьютера «Xerox Alto» был создан первый графический пользовательский интерфейс. С тех пор прошло почти 50 лет, однако всё те же принципы взаимодействия с компьютером используются по сегодняшний день. Что лежит в основе этих принципов и действительно ли это решение является оптимальным? Постараемся разобраться.


    Как WIMP-интерфейс появился


    Для погружения в контекст очень кратко рассмотрим историю развития пользовательского интерфейса персонального компьютера:

    • В период с 1950 по 1960 пользовательским интерфейсом компьютеров являлись физические устройства с помощью которых можно было вводить команды в компьютер (кнопки и переключатели, считыватели перфокарт...) и устройства для вывода данных (принтеры, индикаторные панели...).
    • В период с 1960 по 1980 основным пользовательским интерфейсом был CLI (Command Line Interface), позволяющий пользователю вводить команды с параметрами.
    • В 1970-х научно-исследовательский центр «Xerox PARC» положил начало новому поколению пользовательских интерфейсов, разработав первый WIMP-интерфейс. Впоследствии данный пользовательский интерфейс был использован и широко популяризован персональными компьютерами компаний «Apple» и «Microsoft».
    • В 2020 году WIMP-интерфейс всё так же широко используется при взаимодействии пользователя с персональным компьютером.

    Что такое WIMP-интерфейс?


    WIMP это аббревиатура от Windows, Icons, Menus, Pointer — окна, иконки, меню, указатель.
    WIMP-интерфейс — это графический пользовательский интерфейс, в котором пользователь передаёт компьютеру свои намерения взаимодействуя с окнами, иконками, меню и указателем.
    Чтобы ответить на вопрос «почему WIMP-интерфейс до сих пор с нами?», потребуется куда шире раскрыть концепцию взаимодействия через WIMP-интерфейс, при этом учитывая не только его преимущества, но и его недостатки. Для этого рассмотрим общие принципы проектирования таких интерфейсов.

    Общие принципы проектирования WIMP-интерфейсов


    Метафоры


    Нужно использовать знакомые метафоры из реального мира для описания элементов интерфейса.


    Преимущество

    Метафоры позволяют упростить процесс обучения человека взаимодействию с пользовательским интерфейсом. Например папка с файлами, которую пользователь видит на рабочем столе сразу даёт ему представление о назначении этого элемента, так как он знаком с соответствующим объектом в реальном мире.

    Недостатки:

    • Метафоры могут чрезмерно упрощать и некорректно описывать свойства объектов, которые они должны представлять в пользовательском интерфейсе.
    • Метафоры могут быть не знакомы пользователям. Уже сейчас есть много пользователей, ни разу не видевших настоящую дискету, которая используется для стандартной иконки «Сохранить».

    Прямое взаимодействие


    Пользователь должен чувствовать, что он физически взаимодействует с объектами интерфейса. Подобные действия должны сопровождаться соответствующей анимацией элементов интерфейса.


    Преимущество

    Прямое взаимодействие позволяет пользователю чувствовать что он полностью контролирует процесс.

    Недостаток

    Прямое взаимодействие принуждает пользователя производить все манипуляции вручную. Вместо того, чтобы передавать интерфейсу команды высокого уровня («Компьютер, скопируй все файлы из папки X, которые весят не больше 1Мб и были изменены за последнюю неделю»), пользователь должен выполнять их сам на низком уровне (пользователь обходит всю иерархию папок в папке X, и выбирает нужные файлы).

    Видеть и указывать


    Пользователь взаимодействует с тем что видит на экране, выбирая нужные элементы с помощью указателя. Этот принцип основывается на двух утверждениях: пользователь видит объекты на экране и может указать на них.


    Преимущество

    Для взаимодействия с интерфейсом пользователь использует распознавание визуальных образов и мышечную память, чему довольно быстро можно обучиться.

    Недостаток

    Способ, позволяющий только указывать на объекты находящиеся в нашем поле зрения, значительно уступает в своей выразительности естественному языку, который мы привыкли использовать для передачи сложных идей и намерений — например, мы можем говорить об объектах, которых ещё нет, или о классе объектов, использовать условные конструкции и многое другое.

    Единообразие


    Следует использовать только стандартные элементы интерфейса, которые используются во множестве существующих приложений.


    Схожие интерфейсы браузеров Opera, Google Chrome и Mozilla Firefox

    Преимущество

    Позволяет переносить опыт пользователя между различными приложениями в которых он может работать.

    Недостаток

    Разработчик интерфейса должен решать поставленные задачи в рамках, установленных стандартом — если он выходит за рамки, то его приложение кажется стилистически «оторванным», так как пользователь уже привык стандартным элементам интерфейса при работе с другими приложениями.

    Явные возможности


    Пользователь всегда должен видеть весь набор доступных возможностей приложения, когда они ему могут понадобиться.


    Преимущество

    Чтобы выполнить определённое действие пользователь не должен помнить и вводить названия команд — список доступных действий отражён в интерфейсе.

    Недостаток

    Необходимость в присутствии на экране всех возможных действий сильно ограничивает их количество, ввиду ограниченности самого экранного пространства. Таким образом, приложение с WIMP-интерфейсом, устанавливает некоторый порог на размер множества функций приложения, после которого, интерфейс становится «перегруженным».

    Контроль пользователем


    Пользователь должен начинать и контролировать процесс выполнения задач. При этом следует найти баланс между корректностью выполняемых действий и количеством доступных пользователю возможностей, так как недостаток возможностей может создать чувство потери контроля над процессом, а избыток — усложнить взаимодействие и повысить возможность допущения ошибки.


    Изменение количества доступных настроек при включении переключателя «Show advanced options»

    Преимущество

    Пользователь ощущает чувство контроля над процессом и в итоге, при достаточном уровне внимания, получит требуемый результат.

    Недостаток

    Если пользователь хочет передать контроль компьютеру, чтобы автоматизировать взаимодействие с каким-либо приложением, то это будет очень сложно сделать, так как приложение ожидает что решение будет принимать пользователь.

    Обратная связь и диалог


    Пользователь должен быть в курсе о состоянии выполняемого процесса — он должен получать актуальную, полную и понятную информацию о нём в виде индикаторов или сообщений сразу после того, как она становится доступной.


    Преимущество

    Пользователь понимает что происходит с системой, и не чувствует потери контроля.

    Недостаток

    Так как пользователь должен быть в курсе о состоянии выполняемого процесса, то он постоянно получает информацию о прогрессе выполнения задач, даже если в этом нет необходимости — пользователь может быть опытным и ожидать только сообщения об ошибках.

    Стабильность окружения


    Для создания у пользователя чувства стабильности, поведение основных элементов интерфейса (окна, иконки, меню, указатель) должно быть неизменным и предсказуемым.


    Преимущество

    Пользователь уверенно чувствует себя в привычном окружении, не тратит дополнительное время и силы на переобучение и поддержку внимания к деталям.

    Недостаток

    Недостаток стабильности является преимуществом в компьютерных играх и системах обучения — он подталкивает пользователя выделять общие свойства элементов и принимать осознанные решения. Широкое использование «нестабильных» интерфейсов является весьма спорным, однако можно предположить, что подобный подход может быть полезен для построения пользовательских интерфейсов для систем, где от пользователя требуется внимание и осознанность выполняемых им действий — в пример можно привести случай на Гавайях, когда оператор по ошибке запустил повсюду сообщение о ракетной тревоге ( en.wikipedia.org/wiki/2018_Hawaii_false_missile_alert ).

    Почему WIMP-интерфейс до сих пор с нами?


    На основании рассмотренных принципов проектирования можно выделить набор основных преимуществ и недостатков WIMP-интерфейсов:

    Преимущества:

    • Использование знакомых метафор и простой способ взаимодействия («видеть и указывать») позволяет довольно быстро обучиться взаимодействию с пользовательским интерфейсом.
    • Единообразие элементов интерфейса создаёт единый стандарт взаимодействия для большинства приложений с которыми может столкнуться пользователь, что позволяет переносить пользовательский опыт между различными приложениями.

    Недостатки:

    • WIMP-интерфейс плохо приспособлен для удовлетворения потребностей как новых, так и продвинутых пользователей. Для того чтобы продуктивно выполнять свою работу, двум типам пользователей подойдут пользовательские интерфейсы различной сложности.
    • В связи с ограниченностью экранного пространства, ограничено и множество функций приложения, которые можно предоставить пользователю.
    • Из-за очень простого способа взаимодействия («видеть и указывать»), у пользователя нет возможности естественным образом передавать сложные намерения.

    Итак, мы определили, что WIMP-интерфейс имеет свои недостатки — может эти недостатки будут устранены в скором времени? Это маловероятно, так как WIMP-интерфейсы довольно медленно развиваются — за всё время наиболее распространёнными стали только такие расширения его функциональности:

    • Ярлыки — они позволяют располагать иконки объектов в легко доступных для пользователя местах независимо от настоящего расположения объекта.
    • «Горячие клавиши» — позволяют сократить время вызова команд приложения, что несколько повышает эффективность работы продвинутых пользователей.
    • Жесты окнами — такие жесты позволяют упростить изменение расположения окон приложений (правый край — на пол-экрана, верхний угол — на полный экран).
    • Виртуальные рабочие столы — позволяют расширить рабочую область за счёт добавления виртуального экранного пространства.

    Причиной, замедляющей развитие WIMP-интерфейса, является удовлетворение принципа «единообразия» пользовательского интерфейса. Разработчики приложений стремятся создавать пользовательские интерфейсы, которые не будут сильно отличаться от интерфейсов конкурентов. С одной стороны, это позволит новым пользователям быстро разобраться в приложении, а с другой стороны разработчик не привносит значительных нововведений в способ взаимодействия с приложением. Да, значительные нововведения создают больше рисков, но если этого вообще не делать, то развитие интерфейсов в целом определённо замедлится, свидетелями чего мы и являемся.
    Однако, несмотря на свои недостатки, WIMP-интерфейс до сих пор с нами потому что это лучшее из имеющегося у нас на данный момент.
    Все альтернативные способы взаимодействия с персональным компьютером сейчас находятся на раннем этапе развития, и не способны в полной мере заменить собой WIMP-интерфейс. Среди таких способов можно выделить:

    • AR UI — взаимодействие с виртуальными элементами интерфейса в реальном окружении
    • VR UI — погружение пользователя в виртуальное окружение
    • Голосовой UI — передача команд компьютеру на естественном языке
    • Жестовый UI — передача команд компьютеру через движение частей тела
    • Осязаемый UI — взаимодействие c реальными объектами
    • Нейрокомпьютерный UI — передача команд компьютеру через мыслительные процессы

    Небольшое дополнение
    Я немного отклоняюсь от темы, но очень хочу кое-что добавить к этому списку:

    • Голосовой UI очень хорошо будет сочетаться с устройством, которое считывает субвокализованную речь, вот оно:

      Таким образом можно будет избежать смущения разговаривать с компьютером в публичных местах.
    • Хоть в примере нейрокомпьютерного интерфейса фигурирует только пример интерфейса для людей с ограниченными возможностями, этот способ взаимодействия в перспективе позволит взаимодействовать с компьютером наиболее естественно и эффективно. В это направление сейчас вкладываются большие деньги — чего только стоит Neuralink от Илона Маска:
    • Отличные сайты с концептами интерфейсов будущего, взятых из различных фильмов — www.hudsandguis.com и ilikeinterfaces.com


    Выскажу своё предположение о том, что если хоть один из перечисленных способов взаимодействия разовьётся до уровня эффективности, сравнимого с WIMP-интерфейсом, то следует ожидать, что популярность WIMP-интерфейса в дальнейшем будет только снижаться. Это будет происходить из-за того, что эффективность перечисленных методов в перспективе значительно выше, ввиду ещё более естественного взаимодействия с интерфейсом и более выразительных средств передачи информации компьютеру.

    Однако, просто сидеть без дела и ожидать появления на рынке нового способа взаимодействия, который заменит WIMP-интерфейс, является довольно сомнительным занятием. Вместо этого дизайнеры и разработчики, заинтересованные в развитии пользовательских интерфейсов, могут сфокусироваться на изобретении новых расширений WIMP-интерфейса, дабы повысить его эффективность и сгладить существующие проблемы.

    Вот несколько примеров не очень распространённых расширений и совместимых с WIMP подходов:

    • Жестовое меню — эффективная замена списочному и радиальному меню
    • Управление взглядом — замена компьютерной мыши
    • Предсказывание движения курсора — обучение особенностям поведения пользователя
    • Датчик давления для мыши — возможность расширить выразительность обычного нажатия кнопки
    • ZUI (Zoomable User Interface) — сложно объяснить, быстрее будет увидеть
    • Тегирование файлов — удобный поиск файлов, позволяющий абстрагироваться от иерархической структуры файловой системы



    Я написал эту статью с целью показать, что общепринятый WIMP-интерфейс это лишь один из множества других способов взаимодействия с компьютером. Может быть пока он и является самым удобным, но это справедливо только для текущего уровня развития пользовательских интерфейсов. Нам необходимо продолжать поиски и не останавливаться, чтобы, шаг за шагом, стирать грань между намерениями пользователя и задачами, которые встают перед ним.

    Спасибо за внимание.

    Использованные источники
    • Van Dam A. Post-WIMP user interfaces //Communications of the ACM. – 1997. – V. 40. – №. 2. – P. 63-67.
    • Apple Computer, Inc. Macintosh human interface guidelines. – Addison-Wesley Professional, 1992.
    • Van Dam A. Beyond wimp //IEEE Computer Graphics and Applications. – 2000. – V. 20. – №. 1. – P. 50-51.
    • Schilling M. A. et al. Learning by doing something else: Variation, relatedness, and the learning curve //Management Science. – 2003. – V. 49. – №. 1. – P. 39-56.
    • Gentner D., Nielsen J. The anti-mac interface //Communications of the ACM. – 1996. – V. 39. – №. 8. – P. 70-82.
    • Callahan J. et al. A comparative analysis of pie menu performance //Proceedings of ACM CHI Conference on Human Factors in Computing Systems. – 1988.
    • Beaudouin-Lafon M. Designing interaction, not interfaces //Proceedings of the working conference on Advanced visual interfaces. – ACM, 2004. – P. 15-22.
    • Gentner D. R. Interfaces for learning: motivation and the locus of control //NATO ASI SERIES F COMPUTER AND SYSTEMS SCIENCES. – 1992. – V. 87. – №. 1. – P. 227-227.
    • Moyle M., Cockburn A. Analysing mouse and pen flick gestures //Proceedings of the SIGCHI-NZ Symposium on Computer-Human Interaction. – ACM, 2002. – P. 19-24.
    • Hyrskykari A., Istance H., Vickers S. Gaze gestures or dwell-based interaction? //Proceedings of the Symposium on Eye Tracking Research and Applications. – ACM, 2012. – P. 229-232.
    • Asano T. et al. Predictive interaction using the delphian desktop //Proceedings of the 18th annual ACM symposium on User interface software and technology. – ACM, 2005. – P. 133-141.
    • Cechanowicz J., Gutwin C. Augmented interactions: A framework for adding expressive power to GUI widgets //IFIP Conference on Human-Computer Interaction. – Springer, Berlin, Heidelberg, 2009. – P. 878-891.

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 48

      +1
      >компаний «Macintosh», «Microsoft» и «Motif».
      Кто такие эти компании «Macintosh» и «Motif»? Насколько я помню, первая называется Apple, а вторая просто не компания.
        0
        Спасибо, исправил.
        Прошу прощения за неточность.
        +1

        ZUI выглядит вполне годно

          0
          Да, это очень интересный подход. Мне в нём с файловой системой намного удобнее работать, но в остальном возможности довольно ограниченные.
          Рекомендую попробовать поиграться, ощущения очень свежие и нестандартные)
          eaglemode.sourceforge.net
            +1
            Выглядит футуристично, как в научнофантастическом кино. Но боюсь многие привычные действия превратятся в таком UI будут делаться дольше. Как, например открыть две папки одновременно и перетаскивать файлы между ними? В случае с окнами это просто и понятно.
              0
              Да, два окна не получится рядом открыть, но там для копирования/перемещения механизм есть, у которого тоже свои преимущества:
              • Помечаешь как source, зажимая Ctrl, различные файлы (можно выбирать из разных папок!) и папки, которые хочешь перенести
              • Помечаешь папку куда это всё надо перенести как target
              • Вызываешь команду копирования/перемещения, и в target папке оказывается всё что ты выбрал как source

                +2
                «Как, например открыть две папки одновременно и перетаскивать файлы между ними?»
                Ну как-как, сделать zoom и открыть FAR.
              0

              Выглядит эффектно, но непрактично и громоздко.


              И вообще, когда ж от древовидной файловой системы начнут массово переходить к другим видам классификации? По тегам, группам, и т.п.

                0
                Группам и тегам чего? Папок? Или файлов? Что будет с файлами в таком случае — в Total Commander находясь в корневой директории нажмите Ctrl+B, что вызовет весь список файлов в папках и подпапках. Насладитесь жутчайшими тормозами, даже на SSD
                  0
                  После того как нормально реализуют автоматическое тегирование(руками это ж убится). Либо когда локальные поисковые системы будут не только стандартными компонентами ОС но и смогут чуть более сложные задачи решать.
                  Пример — сейчас в macOS я могу поискать книги в PDF/epub где встречается слово «компилятор» или слова «реактор» И «гиперпривод». Но при этом для epub пришлось ставить спецмодуль, c PDF это работает только при наличии текстового слоя (а с fb2/djvu не работает вообще, как и с якобы-защищенными от пользователя книгами) но я не могу попросить Splotlight найти все книги по программированию мобильных приложений если не пропишу руками теги хотя казалось бы — что — нельзя создать правило как по словам в тексте и метаданным (если в файле их нет — подгрузить откуда где они есть) определить что это книга про разработку мобильных приложений, актуальная на данный момент? Или например что это фантастика про попаданца в магический мир? Пусть не точно но хоть как то. Правила то общие — создать один раз и распространять.
                  С Windows все еще хуже — инфраструктура для индексации есть, софт есть, даже тормоза есть -:) а реально использовать затруднительно.

                  С мобильными системами все еще хуже, даже просто поиск — большая проблема а правила — да никак.
                    0
                    С Windows все еще хуже — инфраструктура для индексации есть, софт есть, даже тормоза есть -:) а реально использовать затруднительно.


                    Просто надо использовать правильный софт.
                    Есть такой Archivarius3000 например. Найдет и в fb2 и в пдф с текстовым слоем и в epub и если всё это в архив завернуто, и в поиск с условиями может.
                    Вот с djvu и pdf без текстовых слоев не справится, да — так с этим до появления реального ии вообще никто не.
                      0
                      Знаю про него. Даже где то в старых архивах лицензия была. но речь именно про штатный функционал системы, который приложение, создающие .xyz-файлы может само поддержать (у macOS это есть, у Windows тоже есть — IFilter).

                      Автоматически вешать теги Archivarius3000 не может насколько я помню.

                      С djvu и pdf без текстового слоя — а почему собственно? индексатор ведь может и OCR делать (если ресурсов мало чтобы это в реальном времени делать — можно запускать ночью например), ну да (собственно если рассматривать именно конкретный софт — Evernote умеет искать по тексту в картинках, сами делают OCR).
                      В идеале система (не отдельное приложение а именно часть ОС, хотя бы с точки зрения пользователя) должна уметь и например понимать как найти «фотографии меня и моего брата но без других людей вчера в парке, снятые с моего galaxy note».
                        0
                        Нунахрен этот «штатный функционал», который любым очередным обновлением могут внезапно поломать до безобразия. Программа должна быть отдельной и автономной.

                        С djvu и pdf — а почему собственно?

                        Ну… пожалуй, да, погорячился немного.
                        С другой стороны — я в общем предпочту точно знать что по этим вот картинкам оно не ищет, чем надеяться на то что оно их корректно отOCRит.
                        Да, это было бы неплохо, но даже FineReader, аналога которого от разработчиков A3000 ожидать не стоит, подобные вещи, особенно в плохом качестве, сканит через пень-колоду и их приходится вычитывать глазками. То есть всё равно в итоге копаться самому.
                      0
                      но я не могу попросить Splotlight найти все книги по программированию мобильных приложений если не пропишу руками теги

                      Скорее всего, не было запроса к разработчикам ПО. Т.е. такие требования уже похожи на продвинутого пользователя, которых очень мало. А разработчики ориентируются на неквалифицированные массы.


                      Так-то можно было бы и нейросети подключить, чтобы они смотрели внутрь PDF/DJVU и, если там нет распознанного текста, пытались бы по сканам определить тематику.


                      Вопрос в том, кто это всё напишет.


                      инфраструктура для индексации есть, софт есть, даже тормоза есть

                      Ну и хочется, чтобы не было тормозов. Наверняка это можно оптимизировать.

                        0
                        Вообще к quicklook можно писать плагины. Я так понимаю если что-то видит quicklook то это потом архивирует spotlight?
                      +1
                      ВЫ готовы ставить на каждый файл тег или кидать каждый файл в группу? А как вы представляете себе запуск старого ПО, заточенного под древовидную, на новой? Или как вы организуете эффективное использование дискового пространства и хранение вашей файловой системы?
                      Это все очень спорные вопросы, хотя тема интересная.
                        –1
                        ВЫ готовы ставить на каждый файл тег или кидать каждый файл в группу?

                        Это должна делать система, автоматически (с возможностью подстроить работу этой автоматики). И не только «файлы» — просмотренные страницы хабра например тоже должны быть в истории для поиска(как отдельный тип объекта). В идеале.

                        А как вы представляете себе запуск старого ПО, заточенного под древовидную, на новой?

                        В каком плане? Обычных приложений кто не знает про новую и которым надо просто открыть файл? FUSE и пусть открывают (либо даже системный диалог открытия файла поправленый). В конце концов старую систему никто не отменяет. API работы с файлами менять смысла нет. Правда может всплыть ограничение на длину пути к файлу и то что например «копирование каталога и вложенных в него подкаталогов и файлов» старым ПО может зациклится (но это можно и существующими средствами сделать если soft/hardlink'ов наплодить), ну и операция эта будет иметь немного другой смысл.

                        Как хранить такое — если у нас УЖЕ есть нормально работающий системный движок поиск — то надо просто где то хранить наборы фильтров для автоматического тегирования и возможно — кеш результатов. Не так много место по сравнению с индексом. Хранить же индекс не особая проблема. macOS ж хранит (там spotlight по умолчанию включен уже много лет.
                          0
                          Вы предлагаете полностью перейти на теги, или добавить теги к существующей древовидной структуре?
                            0

                            Это можно параллельно держать.


                            Например, для системных файлов и конфигов — дерево. Для личных файлов — дерево+теги.

                              0
                              В MacOs теги прекрасно работают. Можно задавать любой текст, любую комбинацию тегов на файл, 8 цветов на выбор. Файлы с одинаковым тегом мгновенно индексируются системой, в Finder они доступны в отдельном разделе, типа как папки. Если такую «папку» (то есть тэг) удалить то он удаляется во всех файлах на компьютере.

                              Можно соответсвенно открыть «рабочее» и «программирование» и вперед: мгновенно получите выборку файлов только с такими тегами.

                              У меня огромная библиотека фото и видео (несколько терабайт), некоторые теги автоматически скриптами из Питона добавляю.
                                0
                                Кстати на айфоне теги еще лучше работают. Там пользователю доступна только «пользовательская» часть файловой системы, при включении галочки в настройках можно получить доступ к «рабочему столу» и папке «мои документы» на маке. Все теги там тоже поддерживаются, соответсвенно «рабочие файлы по программированию» из предыдущего моего комментария там тоже найдутся.
                                  0

                                  В командной строке теги работают?

                                    0
                                    Из коробки нет, но есть пакет:
                                    github.com/jdberry/tag

                                    Для установки:
                                    brew install tag

                                    В Python все прекрасно подцепляется
                                    Там по сути надо считать расширенный атрибут с именем «com.apple.metadata:_kMDItemUserTags», расшифровать bplist встроенной библиотекой и получить list тегов.

                                    Примерно так:
                                    import plistlib
                                    import xattr
                                    
                                    xattr_tags = 'com.apple.metadata:_kMDItemUserTags'
                                    
                                    data = xattr.getxattr(file, xattr_tags)
                                    tags = plistlib.loads(data)


                                0
                                к существующей конечно (потому что иначе действительно вообще все переписывать но зачем?)
                              +1

                              Например, в Linux (и других UNIX'ах) никогда расширение файла не имело особого значения, зато есть команда file, которая по содержимому определяет типа и формат файла (JPEG/PNG/PDF/text/markdown/… определяет десятки разных) — вот уже первая классификация готова.


                              Ставить тег может сама ОС при создании файла. Либо libc.


                              Или как вы организуете эффективное использование дискового пространства

                              Никаких проблем не вижу. Начиная с того, что уже сейчас в файловых системах есть хардлинки (даже в NTFS) и расширенные аттрибуты. Если взять за основу идеи ZFS, то там уже все абстракции есть для реализации. Ну понятно, что придётся переписывать с нуля, т.к. у ZFS лицензия кривая.


                              запуск старого ПО, заточенного под древовидную, на новой

                              Например, когда к одному файлу ведёт несколько разных путей, типа:


                              /tags/:image/:png/:all/my_summer_2056.jpg
                              /tags/:image/:png/:2056/my_summer_2056.jpg
                              /tags/:image/:png/:(img.height > 1000)/my_summer_2056.jpg
                              /tags/:image/:(img.tone like blue)/my_summer_2056.jpg
                              /tags/:family/my_summer_2056.jpg

                              т.е. я сейчас «от балды» придумал какой-то язык запросов, который можно в виде древовидной структуры каталогов показывать. Можно даже какие-то частые запросы сохранять и они будут в каталоге /tags видны как подкаталоги.


                              Думаю, уже до меня такие штуки придуманы. Просто они, скорее всего, реализуются либо через 100500 симлинков, либо через FUSE (файловая система на user level), всё это громоздко и медленно.


                              Было бы круто «из коробки» такое иметь.

                            0
                            Голова закружится, если постоянно пользоваться
                              0
                              вроде ничего нового и необычного нету, наверняка вы зуминг-интерфейсами пользовались уже тыщу раз: google maps, yandex-карты
                              +3
                              Весь этот псевдохайтек-трэш только лишний раз доказывает, насколько же мощным инструментом является обыкновенная клавиатура. Шанс против нее есть разве только у нейроинтерфейсов, когда/если они достаточно разовьются.

                              А этому будет сильно мешать полное отсутствие спроса на эффективные интерфейсы. Судя по ужасающей ситуации везде, где есть хоть какой-то интерфейс, отличный от командной строки — десктопы, смартфоны, планшеты, телевизоры, автомобили и тому подобная бытовая техника — на интерфейс всем пофиг чуть более чем полностью.
                                +1
                                > на интерфейс всем пофиг чуть более чем полностью.

                                Производителям удалось навязать пользователям стереотип «нам лучше знать что вам надо», увы.
                                  0
                                  Судя по ужасающей ситуации везде, где есть хоть какой-то интерфейс, отличный от командной строки — десктопы, смартфоны, планшеты, телевизоры, автомобили и тому подобная бытовая техника — на интерфейс всем пофиг чуть более чем полностью.

                                  Считаю всяких "умных помошников" в телефонах развитием CLI-подобных интерфейсов. Только теперь команды можно вводить ещё и голосом, а сами команды могут быть нечёткими.

                                    0
                                    Нейроинтерфейсами смогут пользоваться только йоги с идеальной концентрацией. Отвлекаться ведь нельзя.
                                      0

                                      «Идеальная концентрация йогов» доступна каждому после тренировки. Кому-то больше придётся учиться, кому-то меньше. Но на пользу уму пойдёт, однозначно.

                                        0
                                        А теперь представьте, что вы с помощью нейроинтерфейса управляете движением поездов и вдруг чихнули.
                                          0

                                          Машинисты проходят медосмотр, поэтому больных и с аллергией не допустят.


                                          С другой стороны, умея концентрировать ум, можно и чихание подавить.

                                    0
                                    curunir обратите внимание на проект Tags4info. иерархические теги для фильтрации данных различных типов. я его автор. считаю что это самый красивый и мощный подход для работы с информацией. к сож не хватает ресурсов и уже очень давно не могу выкатить новую версию. интересно ваше мнение
                                      0
                                      Да, выглядит удобно.
                                      Я ранее уже встречал аналоги подобной системы, но вы, наверно, уже все их давно рассмотрели. Поэтому пропущу часть, где я скидываю ссылки на аналоги, и сразу спрошу — почему именно свою реализацию делаете?
                                      Это open source?
                                        0
                                        вам известны файл/букмарк органайзеры на основе иерархических тегов? я знаю один. на мой взгляд именно иерархия тегов дает все поэтому где этого нет это не аналоги. поэтому и пишу. в опенсорсе пока не вижу смысла. потенциально — возможно.
                                          0
                                          Пока нашёл только такие:

                                          Но они только для Windows :c
                                          Я просто спросил про open source к тому, что вы упомянули о нехватке ресурсов на разработку. Выглядит у вас приложение довольно интересным, и мне кажется, что кто-то мог бы подключиться.
                                            +1
                                            в tag2find нет иерархии и он умер. tabbles — единственный известный мне аналог, но у меня никогда не возникало желания начать им пользоваться.
                                            да возможно я пойду в сторону опен сорс.
                                            собственно я написал потому что это не описаный вами подход. например zoomui это фактически иерархические папки реализованные иначе. возможность добавить один объект в несколько папок (добавить несколько тегов) является очень мощным средством организации.
                                              0
                                              Я лишь упомянул про ZUI, я не являюсь его адептом)
                                              Основная идея, которую я хотел передать в том, что нам нужно экспериментировать и пробовать новое. Вы как раз занимаетесь именно этим, за что я вам очень благодарен.
                                              Система тегирования файлов мне кажется очень удобной — если вы не против, то я бы добавил её в список расширений WIMP в статье.
                                                0
                                                я не против. спасибо
                                      0

                                      "Вместо того, чтобы передавать интерфейсу команды высокого уровня  («Компьютер, скопируй все файлы из папки X, которые весят не больше 1Мб и  были изменены за последнюю неделю»), пользователь должен выполнять их  сам на низком уровне (пользователь обходит всю иерархию папок в папке X,  и выбирает нужные файлы)."
                                      find -type f -mtime -7 -size -1M -exec cp '{}' \;

                                        0
                                        Да, в этом отношении CLI рулит, с его помощью можно передавать намерения очень точно.
                                        Только вот кривая обучения у него довольно крутая для обычного пользователя. Я вот надеюсь на то, что обработка естественного языка разовьётся когда-то до такой степени, когда пользователи смогут вместо
                                        find -type f -mtime -7 -size -1M -exec cp '{}' \;
                                        сказать
                                        «Компьютер, скопируй все файлы из папки X, которые весят не больше 1Мб и были изменены за последнюю неделю»
                                        и компьютер сделает то же самое.
                                          +1
                                          «Компьютер!»… секунда...«Слушаю команду!» Скопируй все файлы в папках и подпапках, в том числе скрытые и защищенные от копирования, из папки Исходники, которая находится в папке ПроектHYK34.35.33фирм, которая находится в папке Проекты2019 на локальном диске, которые весят не больше 1Мб и были изменены за последнюю неделю»

                                          Чем то напоминает общение с секретарем:
                                          «Ирина, принесите правки по текущему делу» (Ирина знает что за дело, где лежит, где правки по нему итд).
                                          А если не знает (как и наш голосовой интерфейс) то поручение превращается в что то вроде: «Ирина, принесите папку с надписью ООО Техпромсельмашхоз, не перепутайте с ООО Техфирмхозмашпос, в шкафу слева от двери, полка пятая снизу, папка в дальнем ряду, пятнадцатая слева, убедитесь, что там лежат документы с датой не позднее 5 рабочих дней с учетом праздников»
                                            0
                                            А если не знает (как и наш голосовой интерфейс)...

                                            Да, сейчас я именно так и представляю взаимодействие с голосовым UI.
                                            Поэтому я сказал «обработка естественного языка разовьётся когда-то до такой степени» — под «такой степенью» я имею ввиду этап развития голосового UI, когда он сможет помнить контекст разговора и прошлые диалоги, понимать переносное значение слов и так далее.
                                            Общаясь с ним, мы не должны чувствовать что передаём голосовые команды, а должны чувствовать что общаемся с «Ириной» :)
                                            0
                                            Для обычных пользователей есть всякие файл-менеджеры. Причем, например, в том же Far даже сочетания клавиш запоминать особо не надо — всё подписано-подсвечено, и вот это вот «не больше 1мб за последнюю неделю» набивается с клавиатуры, ну, чуть подольше, чем консольная команда.

                                            У голосового управления принципиально неразрешима проблема отсутствия обратной связи, никогда нельзя быть уверенным, что компьютер понял тебя правильно.
                                              0
                                              В Finder это делается так:
                                              Переходим в папку X
                                              Alt+Cmd+f —> фокус на окно с поиском по текущей папке. Можно в него просто нажать мышкой.
                                              Далее жмем "+" и добавляем первое условие «Последняя дата изменения». Выбираем дни и 5
                                              Жмем еще раз "+". Выбираем «Размер». Ставим 1 и мегабайт.
                                              Престо:
                                              image

                                              Если что то условий там довольно много:
                                              image
                                              image
                                              image
                                              image
                                              image
                                              image


                                              Кстати, если нажать на «Сохранить» то этот поиск можно добавить в боковое меню Finder и потом возвращаться к нему мгновенно.
                                            +1
                                            Мдаааа, а ведь обычная команда «Джарвис, найди на Алиэкспресс водонепроницаемую USB type-C камеру не дороже 1 крубля и закажи, чтобы прислали мне домой через… месяц. Ну, ладно, хотя бы через два.»

                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                            Самое читаемое