amarao (amarao_san) wrote,
amarao
amarao_san

Размышления об инвазивности софта

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

Так что останусь на общих терминах.

Итак, источники раздражения:
- Нелокальность изменений. Изменения в одном месте приводят к неожиданным сбоям привычных последовательностей действий в других местах, причём в каких именно пользователь (администратор!) не может придумать и догадаться до того, как столкнётся с изменениями.
- Потеря контроля. Установка/адаптация софта диктуется необходимостью, и он, вместо того, чтобы эту необходимость удовлетворить, создаёт проблемы (совместимость, необходимость настройки без адекватного сопроводительного документа и т.д.). Изменения в соседнем софте таковы, что пути назад нет, так что пользователь бессильно вынужен терпеть навязанные ему изменения в работе, привычках и удобствах.
- Отсутствие консистентности. Если абстракция прорывается в типовых случаях, то это плохая абстракция, и необходимость пользователю работать в терминах нижележащего уровня ради обеспечения (ручного) работы абстракции, которая планировалась как базовый блок - это "глубокий внутренний мир", который вываливают на пользователя (oversharing).
- Принуждение к полиси вместо инструмента. Хороший инструмент работает одинаково хорошо для плохих и хороших парней. Плохой инструмент объясняет пользователю, что его случай неправильный и так делать не надо. Это не отменяет failsafe защиты, защиты от дурака и т.д., но энфорсинг полиси на пользователя в вопросах, в которых может быть неаргументируемые варианты с равной предпочтительностью - это то же насилие.

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

  • systemd-networkd, netlink и arp флуд

    Нереально странный баг пофикшен с помощью eBPF затычки. Для меня большой неожиданностью является реакция на него.…

  • Rust soundness

    Каждый раз, когда я сталкиваюсь с маленькими "но" в Rust'е, это ощущение тщательной продуманности. Например, простейшие fold-функции для итераторов:…

  • still_ntp

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

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 5 comments