Пользователь
0,0
рейтинг
24 июля 2011 в 00:08

Разработка → Семь смертных грехов программных систем, которых в 2011-м году стыдно не замечать

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

Итак, грехи:
  1. Медлительность
  2. Блокирующее взаимодействие
  3. Неуместные ограничения
  4. Ненастроенность
  5. Несамостоятельность
  6. Забывчивость
  7. Гордыня

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

1. Медлительность

  • Вы просите Эклисп установить мейвен-плагин и он выполняет вашу просьбу в течение получаса.
  • Вы запускаете Фотошоп и успеваете прочитать пару записей в блоге.
Программы должны работать быстро. Сейчас уже понятно, насколько скорость — это фича. Пользователи уходят даже с медленных веб-страниц. А когда программа занимается ерудой на ровном месте — это гарантированное расставание на всю жизнь. И самое главное — интерфейс всегда, что бы ни случилось, должен отзываться на действия пользователя. Иначе программа признается мертвой.

2. Блокирующее взаимодействие

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

Положительный пример: Final Cut Pro X, к десятой версии обзаведшийся фоновым рендерингом материалов. Видели бы вы овацию на презентации этой фичи.

3. Неуместные ограничения

  • Описание не может быть длиннее 1000 символов.
  • Название категории не может содержать пробелов.
  • Вы должны вступить в блог, чтобы прочитать запись из него.
В общем случае один человек ткнул пальцем в небо и родил ограничения. Еще и называет это «подумал о вариантах использования». Лучшие ограничения — это те, которых нет. Мы же не байтики на дискетах экономим в 21-м веке. Пора уже привыкнуть, что вместо «vasya_poopkin» я могу логиниться по гораздо более красивому «Василий Пупкин». Если ты можешь сделать, скажем, описание продукту любой длины (а он может) — делай, не надо гадать, что скорее всего никому больше 1000 не понадобится. Никогда не угадаешь.

4. Ненастроенность

  • Первым делом в текстовом редакторе вы меняете шрифт и включаете автосохранение.
  • Первым делом в браузере вы убираете ненужные панели и включаете сохранение паролей.
В общем случае программа в изначальной конфигурации неудобна/неприятна/непригодна для использования. Люди привыкли, что в первую очередь нужно залезть в настройки. Но это не значит, что это хорошо. В магазинах не продают лопат, которые сперва нужно перековать. Вы не меняете ручку у молотка сразу после покупки. Программа — такой же инструмент, и обязанность продавца (читай разработчика) сделать так, чтобы ей можно было сразу пользоваться. Кстати, если об этом подумать, то 50..90% настроек можно будет выкинуть за ненадобностью.

Положительный пример: iA Writer, текстовый редактор без панели настроек.

5. Несамостоятельность

  • Не могу создать проект, папка уже существует (пустая).
  • Вашему репозиторию нужна компактификация. Запустите её!
  • Не могу запустить поиск, содержимое файловой системы изменилось, нажмите «обновить».
  • Среди ваших ста тысяч пятисот файлов обнаружился один защищенный, я пока остановлюсь, что мне делать???
В общем случае программа не делает чего-то простого и ждет от пользователя очевидной команды. Хуже, если задача частая, или если это происходит во время длительного процесса, когда человека нет рядом. Пользователь, конечно, ко всему привыкнет, но немного интеллекта и решительности программам бы не помешали. Обычно у программ полно свободного времени между взаимодействиями с пользователем, и хорошо бы в это время делать что-то полезное (индексировать/обновлять/проверять/подкачивать), что ускорит последующее взаимодействие.

Положительный пример: браузер Сафари сам распаковывает архивы и монтирует образы сразу после загрузки. Гугл Хром сам скачивает и устанавливает обновления без единого окошка.

6. Забывчивость

  • Вы не указали адрес, пожалуйста, заполните эту форму заново.
  • Сохранить документ? — Нет. — Ок, удалил. — Хотя подожди...
  • Вы говорите файндеру показывать файлы списком, а он в следующий раз опять показывает их превьюшками.
  • Вы выбираете один слой, но через какое-то время объекты опять создаются на другом.
  • Вы настраиваете размер окна, а при следующем запуске программа его забывает.
В общем случае я не должен предпринимать никаких дополнительных действий, чтобы то, что я ввожу (в любом виде — информацию, настройки, конфигурацию окон, яркость экрана), сохранилось. Господам программистам надо поднять жопу со стула и пойти и сделать, чтобы так и было. Это поведение по умолчанию, блин!

Положительный пример: ИнДизайн ЦС5 даже после падения поднимается ровно в том месте, где вы закончили, независимо от того, сохранялись вы или нет.

7. Гордыня

  • Обновление прошло успешно! (Аваст, голосом!)
  • Я еще не запустилась, но вот тебе мой сплешскрин поперек всего и крадущий фокус.
  • Здравствуй, дорогой друг! Я знаю, ты запустил меня, чтобы что-то сделать, но у меня тут обновление, пойди лучше скачай его.
  • А я маленькая программка управления фотоаппаратом, и я боюсь что ты меня никогда не увидишь, поэтому вот тебе мой тулбар в браузер, иконка в трей, автозапуск со сплешскрином, стартовая страница и поиск по умолчанию.
  • Вы не чистили свой рабочий стол 60 дней...
В общем случае программа считает себя центром вселенной и о любом событии беспокоит пользователя, чтобы он ей почесал за ушком, скачал обновление, даже информирует его о том, что все идет хорошо (!). Программы мигают в панели задач, прыгают в доке, суют свои иконки (я смотрю на тебя, adobe reader), чего-то постоянно от тебя требуют (нагло, не правда ли?). В результате, если ты не загружался в систему полгода, то тебе преградит путь десяток каких-то тупых окон, а тебе всего-то нужно было файл забрать, например. Все-таки, компьютер для человека или человек для компьютера? Иногда мне кажется, что мой ответ отличается от мнения большинства разработчиков.

Бонус.

Семь примеров феерической тупости из коллекции автора.
  1. Медлительность. Вы просите Виндоус зайти на самбу и ждете сначала полчаса чтобы она спросила у вас пароль, потом еще полчаса она будет «пытаться присоединиться» к соседнему компьютеру. Ощущения как будто пограничник забрал у вас паспорт и тайно пошел на обед.
  2. Блокирующее взаимодействие. Модальные целиком для браузера alert/http basic auth form — такие, что нельзя переключиться в другую вкладку, чтобы скопировать пароль.
  3. Неуместные ограничения. Что делать, если данное мне при рождении имя не удовлетворит критериям этого безымянного аналитика?
  4. Ненастроенность. Все сайты погоды, которые даже не пытаются определить по айпи город.
  5. Несамостоятельность. Введите номер телефона без пробелов и специальных символов.
  6. Забывчивость. Сохранить документ, который вы писали 7 часов? Да-нет? Упс.
  7. Гордыня. Виндоус Виста: установлено обновление, вы здесь? Ок, 10 минут никого нет, прибиваю всё и перезагружаюсь. — Эй, чувак, а что, электричество отключали?


Если кому-то показались хоть немного интересными высказанные здесь мысли, то рекомендую продолжить чтение здесь:
  • Дональд Норман. Дизайн промышленных товаров / The Design of Everyday Things. Про то, что вообще за проблемы с вещами, кто в ней виноват и кто должен ее решать.
  • Джеф Раскин. Интерфейс (выложен полный текст). Про то, как уже вполне могли бы работать компьютеры, если бы в Майкрософте тоже слушали умных людей. Знакомым с этой книгой забавно смотреть, как идеи и принципы из нее потихоньку протаскиваются в современный мир Эпплом, а затем и всеми остальными.
  • Алан Купер. Об интерфейсе / About Face 3. Очень большой и очень обстоятельный труд, по косточкам разбирающий современные интерфейсы и предлагающий адекватные решения многих проблем. Например, половина релиза OS X Lion как минимум была здесь предсказана :)
Никита Прокопов @tonsky
карма
139,2
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

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

Самое читаемое Разработка

Комментарии (460)

  • +15
    «Несамостоятельность. Введите номер телефона без пробелов и специальных символов.» А бывает этого не пишут и гадай потом надо плюс? А код страны ?!
    • НЛО прилетело и опубликовало эту надпись здесь
    • +7
      Нужно в таком случае сразу пример приводить. Тут уже писали, что можно воспользоваться geoip, вот и пример номера можно привести из страны или даже города, где находится пользователь. Нигде не встречал такого, кстати.
    • 0
      У вас программофобия. Пишите как хотите, программа должна разбираться.
      • +14
        «Восемь гудок девятьсот двадцать затем пять нулей» — и пусть программа разбирается :))

        • 0
          Ну буквы можно и вырезать, оставив только цифры — зачем вводить в заблуждение пользователя, что так можно вводить.

          +Пример ввода обязателен, там где должен соблюдаться хоть какой-то формат ввода.
          • 0
            Да вы сам «Господин Очевидность». Комментарий был отправлен с юмором. И если вы внимательно прочитаете статью, то поймёте, что описываются случаи когда этого примера как раз и нет.
    • +1
      Я из-за это ноутбук у леново на 10 минут больше заказывал — пришлось связаться со службой поддержки и спросить формат номера
      • 0
        Я Ipad купил там, где осилил форму заказа за 2 минуты.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Я в таком случае нажимаю кнопочку Back в Opera и получаю предыдую итерацию со всеми заполненными 500 полями. Конечно же, если разработчик не решил выпендриться и не сделал форму на какой-нибудь технологии, плюющей на поддержку стандартных действий браузера.
  • +9
    Все это может быть как оправдано и к месту, так и неоправдано и назойливо.
    • +4
      Так и представил себе оправдано и к месту медленную программу, постоянно мигающую в трее и сообщающую, что все хорошо. А что, все антивирусы как раз такие :)
      • НЛО прилетело и опубликовало эту надпись здесь
        • +4
          Вы о личных проблемах разработчиков.
          • НЛО прилетело и опубликовало эту надпись здесь
        • +3
          Я давно выбрал: скорость разработки + качество (скорость работы, отсутствие багов, общая отполированность).
      • +3
        Firefox, установка дополнения. Принудительных 3 секунды перед активацией кнопки подтверждения.
        • 0
          А причину такого поведения знаете?
            • +2
              Вместо того, чтобы убрать попап, захватывающий фокус, добавили тормозов. И кто-то еще не понимает, почему эта штука так бесит пользователей.
              • 0
                Ботам-автокликерам на это плевать
              • +1
                Firefox open source
  • +7
    Некоторые довольно спорные:
    • Описание не может быть длиннее 1000 символов.
      Идет вразрез с пунктом №1. Медлительность.
    • Название категории не может содержать пробелов.
      С пробелами да, а как поступить с символом "/", если на сайте используется ЧПУ типа /category/product?
    • Первым делом в текстовом редакторе вы меняете шрифт...
      На вкус и цвет — фломастеры разные.
    • Первым делом в браузере вы убираете ненужные панели и включаете сохранение паролей.
      Я же первым делом его отключаю. Chrome, например, в отличие от Firefox, к сожалению не имеет мастер-пароля. В результате любой троян спокойно узнает пароли от Ваших сайтов.

    А в остальном полностью согласен.
    • +1
      1. Использовать для поиска hash tree?
      2. Заменять на что-нибудь.
    • +9
      Идет вразрез с пунктом №1. Медлительность.

      Я понимаю когда технические ограничения (например длина 65535 байт), но когда кто-то решил, что должно быть 1000, (а почему не 1010 или 10000?) и при этом используется тип данных, которому всё равно хранить 1 байт или 65535, меня это всегда бесит.
      С пробелами да, а как поступить с символом "/", если на сайте используется ЧПУ типа /category/product?

      если не устраивает /true%2Fcategory/product, то /true-category/product
      • +3
        А давайте уберем ограничения на длину твитов!
        • 0
          Давайте!
          • +2
            Вы опасный человек, однако)
            • 0
              Действительно не понимаю этого ограничения, ладно в СМС появившихся 20+ лет назад, когда каждый байт в мобильных устройствах был на счету…
              • +6
                Я думаю ограничение на длину твита весьма оправдано по следующим причинам:

                1) Совместимость. Большая часть пользователей твиттера используют его посредством СМС. В США (Канаде, Индии, Новой Зеландии) пост через СМС рассылается всем фоловверам. Подавляющее большинство постов в Твиттер делается с мобильных устройств или через SMS (эту статистику не видел, но, думаю, так и есть).

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

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

                С вики:
                Первоначально, проект задумывался как возможность ответить на единственный вопрос: „Что ты сейчас делаешь?“. Дорси хотел создать некую платформу, которая позволила бы ему постоянно обмениваться с друзьями короткими сообщениями

                3) Объём и производительность. Большие твиты заметно замедлили бы парсинг этих самих твитов и вычленение из них хеш-тегов и юзернеймов. Отсутствие ограничения размера на твит, теоретически, приведёт к всеобщему коллапсу БД (с текущей популярностью твиттера — over 200 млн. юзеров с ежемесячным ростом в 1382% и рекордами over 3000 твитос/сек — вполне). С вики: когда американский певец Майкл Джексон умер 25 июня 2009 года, сервера Твиттера упали, после того как пользователи обновляли свой статус со словами „Майкл Джексон“ в размере 100 000 твитов в час.
                • +12
                  140 символов — это не ограничение, это фишка.
                  • –3
                    Не баг, но фича? :)
                • –3
                  Сервис juick.com говорит об обратном — без ограничений намного удобней, но посты пользователей в основном короткие и лаконичные. Твиттер популярен не благодаря этому ограничению, а скорее, вопреки.
                  • +14
                    и где тот жуйк, а где твиттер? :-)
              • +3
                ограничение в 140 символов порождает комфортность прочтения, — одного взгляда достаточно, чтобы понять стоит ли читать сообщение или нет.

                Так что противоречие с пунктом «3. Неуместные ограничения» лишь кажется таковым. Успех Twitter показал, что ограничение 140 символов более чем уместно.
                • 0
                  to Weageoo опередили =)
                  • 0
                    Я тут подумал, что аффтар может нас просто тролить) Хотя неиллюзорные плюсы его коментов об ограничении свидетельствуют об… впрочем, всё вряд ли так сложно.
                    • 0
                      Ниче он не тролит, Твиттер расчитан на конкреный юзкейс. Зайдите щас на Г+, там нема ограничения на длину сообщения и чтобы прочесть сообщения от 40 юзеров, надо потратить ощутимое время, помойка получается. Сравните с 300 юзерами в твиттере, где чутли не все можно окинуть одним взглядом. А вот если твит заинтерисовал, то тогда уже клацам на линку и топаем смотреть/читать больше.
          • +1
            А когда вам в твиттер упадет «Война и Мир» или Библия от какого-то шутника — материться будете?
        • 0
          А для чего оно?
        • +2
          Длина твита — это не ограничение, а идеология. Если бы этого ограничения не было, твиттер бы был очередным блогом, каких сотни.

          140 символов как бы говорит людям: «эй, чуваки, у нас микроблог, сжимай свои мысли, выражайся кратко, как будто пишешь смс». И все жмут, и получается в большинстве случаев огромная плотность содержания, вместо размазанных трактатов. Очевидно же. Убрать ограничение? Ну и получим второй обрезанный LJ. Зачем мне второй LJ, когда один уже есть.
        • +1
          а у них вроде бы сейчас акция — стань президентом США и пиши сколько влезет.
      • –1
        С кодированием слешов не все так просто — Apache, например, по умолчанию сам раскодирует URL и вместо "/true%2Fcategory/product" Вы получите "/true/category/product". Настройка эта через .htaccess не меняется, а на shared-хостинге никто специально для Вас ее править не будет.

        Если же заменять слеши на минус, то какой тогда будет URL категории «minus-category»?

        Я эту проблему заменой и решал, только не на минус, а на двойное подчеркивание, запретив его использовать в названии категории. Но все равно это грязный хак.
        • 0
          Такой и будет, преобразование «категория -> её представление в url» не обязано быть обратимо, главное чтобы по полному url можно было получить id категории. С коллизиями minus/category и minus-category можно бороться по разному, добавлять цифры, например, и прося у пользователя ввести что-то другое ручками.
          • 0
            >прося у пользователя ввести что-то другое ручками
            На мой взгляд, вообще использование slug порочно, а тем более заставлять его вводить пользователя.
            • +1
              Почему порочно? По-моему, как раз slug даёт возможность пользователю выражать своё желание средствами естественного языка, не заморачиваясь с техническими (в лучшем случае) ограничениями. Страница (вернее её заголовок) и её адрес — это разные сущности, приятно, когда адрес читаемый, но он вовсе не должен совпадать с заголовком, меня наоборот бесят адреса вроде example.com/blogs/development/sem-smertnykh-grekhov-programmnykh-sistem-kotorye-v-21-m-veke-stydno-ne-zamechat — example.com/blogs/development/sem-grekhov было бы лучше, даже чем example.com/blogs/development/124787 :)
        • +2
          Знаете, даже как-то несерьезно обсуждать вопрос качества продуктов с человеком, для которого проблема в том, что на шаред-хостинге ему дяди какую-то опцию запретили.
    • +5
      Описание не может быть длиннее 1000 символов.
      Идет вразрез с пунктом №1. Медлительность.

      ЧЁ это? Как связаны?

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

      Название категории не может содержать пробелов.
      С пробелами да, а как поступить с символом "/", если на сайте используется ЧПУ типа /category/product?

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

      • +2
        Интересно, как это ограничения несут рекомендательный характер? :)

        > Здесь нужно подходить к каждому моменту очень вдумчиво.
        Этого никто не отрицает.

        > защита от дурака, которые как известно очень изобретательные.
        Защита от дурака, конечно, должна присутствовать, но а) не в ущерб другим, и б) часто бывает, что дураками априори считают всех пользователей — с предсказуемым итогом, получается продукт для дураков, которым пользуются только дураки.
  • +16
    1. Расставание навсегда с эклипсом и фотошопом?
    2. Чаще всего модальные окна предупреждают о чем-то важном и требующем вмешательства. Они не зря модальные.
    3. Не все ограничения — зло. Например имя пользователя может быть «tonsky» или «tоnsky», почувствуйте разницу.
    4. В целом — да, но не в случае сохранения паролей.
    5. Хороший способ прострелить себе ногу.
    6,7. Это да.
    • 0
      >>«tonsky» или «tоnsky», почувствуйте разницу.
      В чем разница?
      • +7
        «о» из разных раскладок
        • 0
          Ага, и это охренеть какая проблема для админов сайта порой.
          Вот не может пользователь войти. Ты начинаешь проверять в чем проблема, набираешь его пароль ручками, а он не подходит. И вроде выглядит один в один. Или еще хлеще — логин. И ведь только догадаться можно о причине. А в логине типа «Hokonopy» можно бесконечно долго подбирать комбинации русских и английских букв"
          • +1
            Это решается просто — в логине — только латиница (причем, регистронезависимая), а в остальных полях — по вкусу.
            Более продвинутый подход — для логина использовать e-mail или openID. И ввести поле «видимое имя пользователя», которое используется только для визуальной идентификации постов пользователя (для форума например).
            • 0
              А потом автор поста будет писать: «гады, наложили ограничение».
              Это я как раз и писал к тому, что ограничения не всегда просто так накладываются. (Например, 1000 символов для названия темы поста — разумное ограничение, для того, чтобы не устраивать многострочные заголовки)
              • +1
                Да вы мне не рассказывайте, я каких только аргументов не слышал (я занимаюсь проектированием интрефейсов профессионально). Обычно пользователь в них не фигурирует, или фигурирует как в анекдоте «давайте поговорим о вас, как я вам понравилась в своем последнем фильме?»
            • 0
              Единственный правильный выход — использовать email, как вы и писали. Чем меньше вводить тем лучше, а емайл, как правило, всё-равно нужен.
    • +20
      Чаще всего модальные окна предупреждают о чем-то важном и требующем вмешательства. Они не зря модальные.

      Зачастую они зря модальные.
      • 0
        Никогда не понимал модальности окон, если это не сообщение о крахе программы.
    • –2
      С Эклипсом расстался, с Фотошопом, я уверен, все бы расстались при первой адекватной альтернативе. Вот уж за что его никто не ценит, так это за удобство использования.

      • +3
        Да уж ладно. Поставил из-за трендовости Pixelmator, плююсь. В Фотошопе отличное юзабилити.
        • 0
          Расскажите это людям, которые могут сравнить его хотя бы с ИнДизайном.
          • +1
            Я могу. Фотошоп хоть специфический, но удобный. Документацию и туториалы нужно читать хоть раз, тогда вопросов не возникает. Хотя лично мне для работы гораздо луче Corel Photopaint, но это уже мое, задротское.
          • 0
            Фотошоп имеет субъективно воспринимаемые недостатки (ну, то есть, каждый про себя думает — «я бы немного поменял бы вот это»), но в целом очень даже юзабелен. Даже очень-очень. Уверен, все могло бы быть _намного_ лучше, но действительно, сравнить не с чем, а с ходу нереально представить, каким именно должен быть инструмент такого уровня.
      • 0
        На что эклипс заменили?
        • 0
          Textmate. Почитайте, если хотите, подробнее.
          • 0
            Он поддерживает PHP и работу сразу с удаленного сервера (подключаясь по фтп или ssh), так чтобы он не грузил сразу все на локальный компьютер?
            • 0
              Вряд ли, это просто текстовый редактор с подключаемыми синтаксисами.
            • +1
              Я думаю, вам что-то из Coda, Espresso или BBEdit смотреть надо.
            • 0
              Монтировать удаленный каталог не вариант? Это же Юникс-вэй!
              • 0
                Честно говоря, я даже не знаю, существуют ли отличного от этого варианты…
                • 0
                  В винде точно существуют :) Также в некоторых кроссплатформенных IDE уже есть, а в других постоянно пользователи просят добавить.
                  • 0
                    Так для винды же давно уже сделали аналог sshfs
                    • 0
                      Года 3-4 назад бесплатные варианты были не юзабельны. Сейчас не знаю.
              • 0
                Ну эклипс может быть установлен на винде.
                Да и не всегда возможно примонтировать удаленный каталог (в случае веб разработки вам даже не всегда ssh доступ могут дать, только фтп, что тут уже говорить о монтировании?)
                • 0
                  curlftpfs не поможет? :)
                  • 0
                    Он позволяет работать по sftp? (через ssh). Всегда, когда возможно, я использую его, так как ftp очень медленный по сравнению с ним (при работе с кучей мелких файлов) на одном и том же канале.
                    • 0
                      Для этого sshfs есть.
    • 0
      > 5. Хороший способ прострелить себе ногу.

      Поясните?
      • +3
        Ну наверное дело в том, что в этой ситуации
        Среди ваших ста тысяч пятисот файлов обнаружился один защищенный, я пока остановлюсь, что мне делать???

        система действительно не знает что делать.

        Разблокировать файл? А может он не зря заблокирован.
        Продолжить работу с другими 100500 файлами? А может операция не имеет смысла без этого единственного заблокированного файла

        Конечно неплохо было бы вывести диалог с возможными вариантами решения, ну и чекбоксом «для всех». Но Вы ведь говорили про автоматическое решение.

        А когда я захожу в интернет с 3G-модема, то мне не очень нравится что Хром или еще кто-то обновляются и тратят мои деньги, хотя я бы и потерпел предыдущую версию до подключения к Wi-Fi
        • +8
          При копировании/удалении нужно обработать то, что понятно, и потом уже спрашивать про остатки. Иначе удаление большой папки — прям нянчество какое-то, на минуту отойти нельзя.
          • +1
            Про копирование/удаление я согласен.
            Я говорил про то что не во всех ситуациях все очевидно.
            Вот к примеру тот же коммит, или создание архива.
        • +1
          Ну если пользователь уже согласился удалить все 100500 файлов, то пусть система по-умолчанию удаляет все, что можно.

          «А может операция не имеет смысла без этого единственного заблокированного файла»
          Да ладно! Не могу себе представить. Если хочу удалить все файлы — то хочу удалить все. Что значит операция не имеет смысла?

          Комп должен сделать все, а потом сказать, что операция выполнена успешно, но есть вещи, требующие вмешательства пользователя, после чего показать список файлов, по которым операция заэпикфейлилась, и предложить варианты решения (обычно это будет какое-то дополнительное подтверждение типа «разблокировать и удалить заблокированные файлы»).
          • 0
            Необязательно потом, делать он это может и в процессе, правда универсальный вариант в голову не приходит — отдельное окошко для каждого файла — «спам» может получиться, одно окно со списком — можно случайно что-то удалить.
        • 0
          тут более кричащий пример это в виндах — при копировании найден файл с таким же именем, заменить? И выбор: да, нет, «применить для всех». А вот «не применять для всех» нету. Это жутко раздражает.
          • +2
            Забудьте уже проводник, вы же профи…
            imageshack.us/photo/my-images/703/clipboard01lda.png/
            • 0
              Для профессиональных целей я cygwin и rsync пользуюсь, если приходится с виндами дело иметь.
              Но дело то не во мне.
              Будем считать что вы предлагаете всем устанавливать тотал командер, но это все костыли к странно устроенной ос. Об этом и речь.
              • 0
                Только не говорите, что штатный файловый менеджер в Линуксе удобнее.
              • +1
                И это не костыли, это софт для работы.
                Вы же не назовете костылями Photoshop, хотя есть же Paint.
            • 0
              Что мешает МС этот диалог прикрутить? Меня вполне устраивает проводник, но такого диалога не хватает.
              • 0
                МС уже засудили за IE и WMP, не думаю, что они захотят усиленно продвигать проводник, нагружая его дополнительными функциями.
              • 0
                Э… мммм…
                Для меня проводник — средство, чтобы вытащить ярлык командера, как и IE — средство для скачки другого браузера. Я лет пять, как не пользуюсь проводником плотнее, чем выбор папки для сохранения, но…
                imageshack.us/photo/my-images/109/clipboard01hf.png/
                Это проводник…
                • 0
                  По ссылке — мы же понимаем, что это не тот функционал, который был приведен в примере выше…
                  • 0
                    Разумеется. Но и не надо ожидать от встроенных в ОС инструментов функционала профессионального набора. Это стартовый комплект, наращивать возможности он позволяет, а больше — придут злые дядьки из европейских судов и скажут, что производитель ограничивает конкуренцию и т.д.
                    • 0
                      Собственно почему я не могу ожидать от встроенного инструмента максимальной удобности именно для себя?
                      • 0
                        Потому, что вы пользуетесь инструментом не один. Не устраивает функционал встроенного — есть куча сторонних. От xplorer² до монструозных сборок TC.
                    • 0
                      Злые дяденьки — это разговоры в пользу бедных, коими MS не являются
                      • 0
                        С одной стороны люди жалуются, что им не хватает самую малость функционала встроенного софта, а с другой — поставщики стороннего ПО жалуются на МС потому, что она встраивает в операционку софт, не оставляющий необходимости в стороннем. Где выход?
          • 0
            Зажимаем Shift и жмем нет. «Нет для всех»
            Юзабилити тут на высоком уровне, да...
            • 0
              В XP, видимо, именно так. Как в семерке я показал чуть выше.
              Пора, наверное, уже отказываться от устаревших версий…
        • 0
          А когда я захожу в интернет с 3G-модема, то мне не очень нравится что Хром или еще кто-то обновляются и тратят мои деньги, хотя я бы и потерпел предыдущую версию до подключения к Wi-Fi


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

          это конечно костыль, но может помочь сберечь трафик.
    • 0
      3. Если вам уже с кирилицей сложно, то как же бедные японцы живут? А сайты, которые кроме латиницы, кирилицы, канджи еще и арабский итд поддерживают?
  • +11
    мой интернет-провайдер (фринет) после неоплаты отключает весь трафик кроме своего сайта, из админки можно оплатить с помощью банковской-карточки, но гетвей через который оплата уже считается внешним сайтом и оплата невозможна

    другой мобильный интернет-провайдер (интертелеком (CDMA)), просто без объяснений сбрасывает соединение модема

    так что, да, глупостей хватает
    • 0
      та же фигня и у других поставщиков инета. хотя, они могут оправдаться, что не хотят баловать пользователей, поскольку те начинают всё чаще забывать оплатить доступ в интернет. а так — пользователи в тонусе, помнят о будущих проблемах и оплачивают услуги заранее :-)
    • 0
      У моего провайдера можно в «админке» взять кредит, а потом оплатить через гейты :)
    • 0
      а у меня при отключении все гетвеи открыты, от вебманей, Я.д, банковских карт и тд, и внутрисеть полностью открыта
    • +2
      Похожая ситуация была со мной недавно…

      Внезапно отключили интернет по неуплате (как обычно, забылось вовремя оплатить), «ну не беда», подумал я и зашел в админку (она доступна всегда на их сайте, даже при неоплаченном интернете). Варианты: взять «кредит» на два дня (после опять отключат) или же оплатить кредиткой. Ну, кредитка есть, почему бы не оплатить?
      Далее по шагам:
      1. Пытаюсь оплатить, указываю сумму, попадаю на сайт банка с подтверждением
      2. «Уф, слава богу сайт банка они догадались разблокировать», жму подтвердить
      3. «Оппа, а вот второй сайт банка они таки не открыли!», #$@#$%, отменяю дело
      4. Звоню другу с инетом, прошу заплатить за меня и тут выясняется такое чудо… В админку никто кроме владельца канала зайти не может! Да, она проверяет заходящего по IP. Удобно, да, не надо вводить логин-пароль, только… #$@#$%!
      5. Ок, раз так, заплачу с банкомата, а пока возьму кредит, иду опять в админку…
      6. «Спасибо, кредит принят, интернет оплачен» — «Ну слава богу...»
      7. "#$@#$%! Них он не оплачен!" — оказывается после кредита оплата доходит где-то через день-два (напомню — время работы кредита — 2 дня)

      В итоге после грозного звонка в их суппорт — кредит активировали сразу.
      Вот такой волшебный провайдер наш Avangard.
  • +6
    2. Есть процессы, которые невозможно распараллелить, и их нужно выполнять строго последовательно. Вы же не кидаете пельмени в пустую кастрюлю, потом сливаете все в дуршлаг, а потом только зажигаете огонь и кипятите воду?

    Тогда еще пример с фотошопом. Представим, что программа дает возможность рисовать на слое во время применения фильтров. Вы запустили размывку по Гаусу, и в это время карандашом линии наносите. Скорее всего вы получите весьма забавный результат: часть ваших линий может остаться четкими, а часть размоется. Это не тот результат, который вы ожидали, и вам придется переделать работу. Чтобы снова не напортачить, вы будете ждать, пока программа не завершит свое действие. Есть еще один вариант. Программа может не давать вам рисовать на слое, на котором идет трансформация. Ах да, с этим же и боролись…
    • 0
      Пока кипит вода, я же могу почитать книгу или включить чайник. Так что я бы вполне понял, если она бы блокировала один только слой — у меня наверное есть куча дел на других.
      • 0
        Немного другой вопрос — у Вас часто операция применения подобных фильтров занимала более секунды-двух? Понятное дело, что есть и другие варианты и вообще, но я говорю о конкретном примере…
        • 0
          Я вообще не сильно photoshop guy, но есть там медленные фильтры.
          • 0
            «Там есть медленные фильтры» и «Я постоянно использую медленные фильтры» немного разные вещи, правда? :)

            Давайте всё же придерживаться рамок и говорить о частоиспользуемых вещах. Какой смысл говорить «А там вот есть кнопочка, которая вешает приложение на 5 минут — не знаю, что она делает, но омг — 5 минут!», если вы не используете ту самую «кнопочку» или же используете раз в год…
            • 0
              Я с этим не спорю.
              • 0
                Кстати, если опять возвращаться к фильтрам — сложилось так, что сижу я рядом с нашим дизайнером, который использует в основном PS/AI — честно говоря не видел никогда чтобы она чего-либо ждала (будь то отработка фильтров, настройка чего-либо или сохранение). Пару раз только видел как Mac OS повисал на открытии Finder'а :)
      • +2
        Да, вы можете делать с любими программами аналогичные действия. Пока что-то рендерится, вы можете почитать интернет или запустить еще одну копию этой же программы, чтобы там что-то делать еще. Суть претензии в чем? Нельзя параллелить процесс? Так я вам привел пример непараллелящихся процессов, которые, даже если захочется сделать параллелизируемыми, все равно пользователь будет исполнять последовательно.
        • 0
          Пока выполняется один процесс, блокируется взаимодействие с программой вообще. Не с конкретным одним объектом в документе, а со всем документом, или даже со всей программой. В этом суть претензии.
          • +2
            Ваше возражение истинно только для программ, в которых пользователи могут выполнять несколько параллельных действий одновременно. Во всех остальных случаях претензия мимо кассы.
            • 0
              Ну что же это за программа, где пользователь может работать только последовательно? (кроме установки ОС, понятно).
              • 0
                Да тот же Фотошоп. Чтобы рисовать в пределах маски, нужно сначала выделить эту самую маску. Чтобы выделить маску, нужно выбрать нужный инструмент. Вы не сможете делать несколько действий одновременно, даже если сильно хочется.
                • 0
                  Ладно, что-то мы с вами друг друга не понимаем. В ваших программах все действия выполняются мгновенно, в моих нет. Вы довольны жизнью, я нет. Я не знаю, как еще объяснить.
        • 0
          Если хотите примеров: пока уходит коммит, я хочу смотреть историю. Пока я пишу комментарий к коммиту, пускай жмется репозиторий и синхронизируется состояние. Пока открыта страница, пусть браузер сходит к ДНС и порезолвит исходящие линки с нее. Пока браузер спрашивает, куда сохранять файл или запомнить ли пароль — пусть уже грузит файл или входит на сайт.
          • +1
            Используйте консоль со скринами. Множество последовательных действий легко параллелить путем создания копий программ. Чтобы не париться с написанием коммитов, используйте -m «мой коммит». Ваши претензии к одной конкретной программе. Не распространяйте их на все программы, это неверно. Измените подход к работе, не мучайтесь.

            Пока браузер спрашивает, он уже давно качает файл. Этой фиче сто лет в обед, еще покойный Netscape Navigator 4.xx умел такое делать.
          • 0
            Пока браузер спрашивает, куда сохранять файл или запомнить ли пароль — пусть уже грузит файл или входит на сайт.
            Ну так сейчас практически все браузеры делают.
            Вот другой вопрос: я не хочу, чтобы во время диалога на сохранение браузера не шла закачка (может быть у меня дорогой помегабайтный сотовый тарифный план или я в роуминге), а браузер самовольно мне начакачает кучу трафика на момент, когда я откажусь от сохранения.
            • 0
              (может быть у меня дорогой помегабайтный сотовый тарифный план или я в роуминге)

              Так вам шашечки или ехать?
              • 0
                Это тут не причем. Сейчас, когда безлимитный интернет очень распространен — проблема не столь актуальная. А чуть ранее можно реально из-за этого было попасть на деньги.
      • +1
        пока кипит вода, вы не сможете поджарить яичницу на этой же конфорке ;) Суки проектировщики плит, не предусмотрели одновременную готовку!
        • 0
          Но на той же плите ведь смогу! Вообще, аналогии — дело такое, ничего не доказывают, ничего не опровергают.
          • +1
            А если плита одноконфорочная походная?:) Я веду к тому, что программа, которая не дает юзеру делать что-то еще во время выполнения операции, делает это по одной простой причине — она не предполагает параллелизм на своей платформе. Примеров можно накидать хоть тысячу. Есть параллелизм процессов, если уж на то пошло.
            Ваша статья уж слишком критичная и не учитывает, что некоторые ограничения налагают сами юзеры. Что параллелизм может быть просто не нужен, ибо ждать все равно придется.
            • 0
              Причем тут примеры, где параллелизм не нужен? Я могу вам накидать тысячу, где компьютер не нужен. И что?
              • 0
                Мы так можем далеко зайти с примерами:)
                Контраргумент «И что?» вообще интересный, против него ничего не скажешь, да.
                Но, возвращаясь все таки к теме обсуждения: не все йогурты полезны. Параллелизм должен быть только там, где он возможен, и то, это исключительно по желанию разработчиков. Причислять это к грехам ко всем программам — имхо перебор
                • 0
                  Параллелизм должен быть только там, где он возможен, и то, это исключительно по желанию разработчиков
                  А почему вы очки под столбом ищете? А тут светлее.
            • 0
              А если мы в лесу? Я веду к тому, что места, где нет электричества, не имеют его по одной простой причине — они не предполагают там электричества. Примеров можно накидать хоть тысячу. Есть ручной генератор, если уж на то пошло. Моя статья уж слишком критичная и не учитывает, что некоторые ограничения налагают сами люди. Что электричество может быть просто не нужно, ибо электроприборов все равно с собой нет.
              • 0
                газовым конфоркам не нужно электричество:)
                • 0
                  Газовые конфорки должны быть только там, куда удобнее ехать монтажникам, и то исключительно по их желанию, если им нечего делать и водка закончилась.
                  • 0
                    Если уж на то пошло, то газовые конфорки никому ничего не должны:) Походные плиты, как правило, газовые =) Монтажники тут вообще не в кассу;)
                    • 0
                      Ну то есть вы сюда языком почесать пришли, а не по сути разговаривать?
                      • 0
                        Главную мысль я изложил выше. Вы же категорично встали в позу и всяко даете понять «Я все написал правильно, потому что я работаю юзабилистом и знаю, как правильно».
                        Думаю, на этом можно остановиться, аргументы вы, похоже, из принципа слушать не хотите. Дело ваше.
                        • 0
                          Вот что вы написали:
                          1. Там, где параллелизм не нужен, он не нужен. («параллелизм может быть просто не нужен, ибо ждать все равно придется.»)
                          2. Там, где он невозможен, его делать не нужно. («Параллелизм должен быть только там, где он возможен»)
                          3. Там, где он нужен, он должен появляться только по желанию разработчика. («и то, это исключительно по желанию разработчиков»)
                          Первые два утверждения — тавтология. Абсурдность третьего я показал вам на примере газовой плиты и монтажников. Ну а вы продолжили сводить это в шутку.
                          • 0
                            Хорошо. Пусть вы будете правы.
                            Возражу только, что вы таки выдернули контекст как вам захотелось.
                            Юзер может быть и захочет параллелизма, но от этого задача быстрее не решится и ждать придется все равно. Пример? Форматирование диска C:\ перед установкой винды. Даже если я очень захочу, я не смогу начать установку сразу же, как почистилось достаточное количество секторов — головка диска от этого быстрее метаться не станет.
                            Не всегда стоит прогибаться под юзера, потому что, зачастую, юзер хочет совершенно противоположных вещей. Разработчик интерфейсов и программ должен в первую очередь решить задачу. Это потом появляется «желательно, побыстрее» и «и еще кнопку ПЫЩЬ».
                            Абсурдность примеров началась с примера про кипячение воды.

                            За сим, откланиваюсь. Желания вести беседу в пустоту нет.
                            • 0
                              Вы что-то все норовите привести пример из ситуаций, когда параллелизм невозможен или не нужен, как будто я отрицаю существование таких ситуаций. Напротив, я пытаюсь объяснить, что есть также ситуации, когда параллелизм возможен и нужен, но его нет. Один из очень ярких примеров буквально комментом ниже: habrahabr.ru/blogs/development/124787/?reply_to=4106849#comment_4104130

                              Давайте чуть повернем ваш пример. Я не хочу начать установку сразу же, как почистилось достаточное количество секторов. Я хочу вообще заниматься своей работой, пока ОС ставится на соседний раздел. Как вам такой пример? Чувствуете и возможность, и осмысленность?
                              • 0
                                Отрицаете, да. Final Cut это хорошо, но этой программой мир не заканчивается. Заниматься работой во время установки будет значительно дольше, чем установить и потом работать. Упираемся в тот же винт, в те же ограничения по оперативной памяти, в необходимость блокировки периферийных устройств (все та же защита от дурака — где гарантии, что юзер не прострелит себе ногу и не удалит папку в процессе инсталляции).
                                Даже MacOS не дает вам работать параллельно с установкой ОС.

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


                                  Я ж не полет обсчитываю, а в браузере сижу да код пописываю. Человек взаимодействует с компьютером небольшими всплесками активности, все остальное время компьютер может заниматься своими делами, и это прекрасно параллелится.
                                  • 0
                                    То есть надо ограничить параллельность браузером и текстовым редактором? И это нужно всем юзерам, потому что у вас так?
                                    То есть я не смогу монтировать фильмы в Final Cut Pro?
                                    Чем отличится работа за компьютером во время установки от работы при полностью установленной системе? В любой момент времени вы можете захотеть сделать что-то, что может не только усложнить жизнь программистам, но и усложнить жизнь самому себе.

                                    Лучше почитайте книжку, как и во время кипячения воды ;)
                                    • 0
                                      Еще раз, я, равно как и любой другой пользователь, готов понять и принять ограничения, накладываемые возможностями железа, программ, человеческого организма.

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

                                      А вы все приводите примеры из серии «я смогу это сломать» и «я знаю, кому это не нужно». Но продукт определяется не этим.
                                      • +1
                                        Я лишь показываю вам примеры того, когда ваш стройный список грехов разваливается. Примерно половина «грехов» применима только к простому софту вроде блокнота. Когда речь заходит о сохранности данных, о безопасности, о защите от кривых рук — приходят ограничения и блокировки, устранение которых может стоить разработчиков больших денег и времени. А это в нашем изменяющемся динамичном мире, порой, равносильно смерти.
    • +1
      Я кстати вспомнил просто потрясающий пример. Недавний релиз Final Cut Pro X, уж куда профессиональнее, да, голливудские блокбастеры на нем делают? Так вот, на презентации аудитория чуть ли не овацию устроила, когда им background rendering показали. Раньше, грубо говоря, нужно было после каждого эффекта нажимать Cmd+Shift+R чтобы перерендерить выбранные клипы, теперь она это делает сама в фоне и не мешает никак редактировать остальной таймлайн (включая даже рендерящийся клип между прочим).
  • 0
    >Описание не может быть длиннее 1000 символов.

    Окей. Представь абстрактный коллективный блог, в котором нет ограничения на количество символов в названии поста. А если попадётся придурок, который напхает туда 100к символов? Спасёт только обязательная премдерация… или уже постмодерация со всеми вытекающими.
    • +5
      Как минимум можно сделать вывод не полностью, а первую 1000 и ссылку «читать ещё 99к символов».
      • 0
        Это вандал. Какой смысл хранить эти данные? Напомню, что время програмиста довольно дорого стоит, а список фич все растет, растет…
        • +1
          Вы сейчас на очень опасную дорожку вступили. Вы говорите, что программист важнее пользователей, для которых он работает.
          • +2
            Программист как раз не важнее — важнее соотношение «потраченные заказчиком деньги / полученный от этого профит». И порой заказчик не понимая всей важности удобства пользователей выдает вердикт «это же работает так? зачем еще тратить деньги на разработку? Привыкнут!»
          • +1
            Неверное утверждение. Мнение программиста может быть важнее мнения пользователя, если пользователи не генерируют естественные требования к функциональности программы.

            Даже у бесконечности в мире программистов есть предел. Размеры жестких дисков не бесконечные, память сервера имеет конечный размер. Требование ничего не ограничивать может привести к отказу работы сервера или программы. От этого будут страдать в первую очередь пользователи.
            • –4
              Передергиваем? Ну-ну.
        • +10
          На самом деле почти все указанные автором недостатки являются следствием следующей позиции:
          — будем делать ограничение на длину заголовка статьи?
          — зачем. пусть вводят что хотят!
          — но тогда какой-нить «интеллектуал» сможет ввести 100500 символов в заголовок и другим будет неудобно
          — но ограничения в программах это зло, я предпочитаю свободу!
          — тогда надо сделать вывод не полностью, а первую 1000 и ссылку «читать ещё 99к символов»
          — но это лишний гемморой! Я потрачу целый день ради одного интеллектуала, который еще может и не появиться!
          — тогда ставь ограничение при вводе заголовка в 1к символов и не парь мозги!
          • +1
            Ага, а потом у нормальных людей (которых не один, я тысячи) заголовки обрезаются без всякого повода (я смотрю на тебя, ЖЖ).
            • +1
              разработчики в большинстве все-таки идут за процентами пользователей — если 95% потенциальных пользователей так делать не будут, то на фичу можно забить, если у тебя нет лишних программистов и их есть чем занять. На фичи которые делаются один день, забивать не стоит, но реально такая фича может стоить и человеко-год.

              При этом 5% пользователей у большого сервиса это может быть и 10 миллионов человек.

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

              Пример — всегда было полно народу, которых раздражала размерами сообщения в френд-ленте ЖЖ и через какое-то время для них появляется твиттер.
            • 0
              Мне кажется, что понятие «заголовок» все же отличается от «статья», чтобы пихать туда большой объем текста. Я все же за разумные ограничения, а не предвосхищение каждой из 9999999 глупостей пользователя.
          • +3
            — а если вандал напишет «йух», то что делать? До двух символов сокращать? Или «вы все у блюд ки»?
            — ставь ограничение на количество символов, и не вякай, я тебе сказал!
            • +4
              Не надо утрировать. Все требования к функционалу должны быть обоснованы. Чтобы вандал не написал «йух» есть модераторы (НЛО?), банхаммер и прочие методы воздействия на зарегистрированных полльзователей, можно настроить антимат и еще много всего.

              Но объясните мне, зачем настраивать антимат (да и вообще тратить на это силы и дньги) для, например, сайта профессиональных филологов, на котором регистрация только по инвайтам? Этот сайт будет саморегулируемым сообществом профи. Вдруг они захотят обсудить особенности употребления слова «йух» в 70-80-е годы нашего века, или историю возникновения этого слова? И что? Им теперь из-за антимата писать везде «х*й»?
              • 0
                Красивейший пример, спасибо!
        • +3
          Необязательно вандал. Вот на хабре люди иной раз вынуждены разбивать пост на несколько частей.
          • 0
            Я думаю это не просто так сделано, а под формат. Люди привыкли определенным образом взаимодействовать с сайтом как с периодическим изданием и по любому есть статистика средней сессии юзера. Если материал по своему объему в эту сессию не укладывается, то логично попросить автора разбить его на несколько частей или сделать статью более лаконичной. Для сайта это хорошо тем, что люди будут возвращаться снова и снова, что-бы не пропустить продолжение интересующей их темы. В противном случае статья рискует пройти мимо большинства пользователей и становится бесполезной.
            • 0
              Не понял про среднюю сессию юзера…
              • 0
                Есть статистика, по которой видно, что люди заходят на сайт на 15 минут в перерывах на чай / пока компилируется модуль / поднимается дамп. Как только окно заканчивается — сайт закрывается. В сухом итоге статье нужно успеть быть прочитанной за эти 15 минут, иначе ей придется либо попасть в закладки на прочтение потом (что снижает ее шансы до 1-2%) либо быть забытой навсегда…
                • 0
                  Вообще интересно откуда такая статистика. Открытые страницы вроде сервер не пингуют. На либрусеке, например, у меня страницы могут неделями быть открытыми.
                  • 0
                    Это довольно просто все измеряется с технологической точки зрения. Я.Метрика или Аналитика Гугла показывает все из коробки -> пример h1813090.stratoserver.net/files/share/24_7_2011/IEOpY7AO6UCjauSdYLsCAQ.jpg

                    По поводу либрусека это фиксится отслеживанием вашей активности. Если более 5 минут на странице нет происходит никаких действий, считаем человека ушедшим.
                    • 0
                      Эти сервисы пингуют свои счётчики в фоне?

                      Как бы на либрусеке тексты в несколько мегабайт не редкость. Даже владея скорочтением «Лабиринт отражений» «Войну и мир» не прочитать за 5 минут.
                      • 0
                        Да просто висит js, который следит за вашей активностью на странице и периодически сливает данные на сервера статистики. Про 15 минут я говорил на примере хабра (на самом деле у меня подобных данных нет, могу только предполагать). На либрусеке другие показатели и аудитория приходит с другими целями. Но в любом случае любой успешный проект следит за этим и в идеале оптимизирует работу пользователя с ресурсом в том числе выставлением рамок и ограничений.
                        • 0
                          Поубивал бы :) Хотя отключены они у меня по другой причине.
                • 0
                  Бывают и исключения. Хотя конечно интерфейс хабра не способствует написанию длинных статей
                  1) нет поддержки внешних клиентов, а для длинного текста это намного важнее, форматирование текста на ~100k знаков в редакторе хабра у меня заняло 8 часов (текст сейчас снят, долгая история)
                  2) нет поддержки якорей (ссылок внутри страницы), так бы я поставил вначале оглавление, и человек мог переходить по тексту
    • 0
      Хм. А если ваш вандал напишет «йух», то что делать? До двух символов сокращать? Или «вы все у блюд ки»?
    • 0
      Надуманная проблема. Вон на стековерфлоу проблему успешно решают исключительно средствами коллектива. Ни авторы, ни посетители не страдают.
  • +9
    В целом, немного излишне нагнетено, и совершенно выпущен из поля зрения пользователь «средней категории». Например, очень часто приходится делать модальность там, где без нее можно было бы обойтись, просто для того, чтобы обозначить оператору какие-то этапы работы программы — им так удобнее, и никакие журналы операций, уведомления и щеголяние многопоточностью им не нужны и даже мешают.
    П. 4 практически спор о вкусах — угадать, какое расположение панелей и начертание шрифтов нравится большему проценту пользователей — нереально.
    П. 5 разумен, увы, диаметрально. Программа должна делать только то, что хочет пользователь, и в порядке, ему понятном. И, например, откладывание решения «по 100500 защищенному файлу» эту схему сразу ломает. К сожалению, не имею большого опыта работы с сафари, но если она реально сама распаковывает архивы после загрузки — первое, что я сделал бы — отключил эту самодеятельность.
    • +3
      Ну вот мне не совсем понятен порядок обхода дерева ФС при удалении каталога и от того, что программа удалит все файлы, которые может, а не приостановит удаление где-то на середине, пока я кофе пью хуже не будет.
      • +1
        Предполагаю две ситуации:
        1. Файл read-only/hidden
        2. Файл в настоящий момент открыт

        В 1 случае можно задуматься, случайно ли файл сделан read-only/hidden. Не стОит забывать о большом разбросе квалификаций пользователей. Кого-то такое предупреждение может спасти от удаления ntdetect.com

        Во втором случае подобное предупреждение может спасти от потери данных по какому-нибудь проекту, если открыто только несколько файлов, в него входящих — удаление споткнется на первом же открытом. Да, программу unerase'а запускать всё равно придется, но лучше уж пытаться воскресить пару файлов, чем весь проект кроме того, что было открыто.

        Все мы не безгрешны, и что выделено перед нажатием «Shift-Del» под конец рабочего дня или в 4 часа ночи — не всегда соответствует желаемому.
        • 0
          Первый случай не в тему — удалятся все не read-only/hidden файлы, а о них программа спросит или сообщит об ошибке. А при текущем подходе она спросит на первом попавшемся read-only/hidden, приостанавливая удаление остальных не read-only/hidden.

          Во втором да, дополнительная защита от дурака, но очень не надежная для неграмотного пользователя, имхо, а если пользователь знает про unerase, то наверняка знает и про системы контроля версий и бэкапы :)

          • 0
            Да, первый случай не такой. Не ntdetect.com, а содержимое папки system32. Останутся только readonly.
            Про системы контроля версий и бэкапы не согласен. Вы делаете репозитарии для работ, рассчитанных на 10-12 часов? А потерять неприятно.
            • 0
              >Про системы контроля версий и бэкапы не согласен. Вы делаете репозитарии для работ, рассчитанных на 10-12 часов? А потерять неприятно.

              Хм, конечно. Не отдельный конечно. Есть один, общий, проэкты лежат в git и коммитятся по крону.
              • 0
                А я обычно сажусь делаю за два приема, не отвлекаясь на всякое.
                • 0
                  Так на это не надо отвлекаться, все автоматически происходит.
            • +2
              Бэкапы делаю, да (их Dropbox делает абсолютно прозрачно).
              Для любителей нажимать Shift-Del специально придумали корзину, но нет, вы сами себе злые буратины.
              • 0
                Недавно совсем стал пользоваться DropBox, до этого нужды не возникало, с такой т.з. его функционал не рассматривал, спасибо за наводку.
        • +1
          Во-первых для этого уже придумана корзина. Если я удалю лишнего в корзину, то ничего страшного не случится. Если же я удаляю мимо корзины, значит я осознаю что делаю и принимаю ответственность за свои действия, плюс об этом мне показали уже мессаджбокс, в котором я нажал «да».
          • 0
            Но в винде-то этот самый мессаджбокс и при перемещении в корзину! Уже лишнее подтверждение.
            • 0
              Мессаджбоксы все равно никто и никогда не читает
    • +1
      В десяти случаях из десяти сразу после скачивания архива я иду и распаковываю его руками, поскольку качал его только ради того, что внутри. То же самое с .dmg образами. В остальных случаях я не сильно асстроюсь если архив распаковался или образ был примонтирован, а мне это не нужно.

      Я тоже не пользуюсь Сафари и мне досадно, что этой крутой фичи нет в моем броузере.
      • +1
        А если предположить вариант, что вы работаете не не очень быстром компе, при этом закачка очень длинная. Вы, чтобы не скучать, запустили одно приложение, что-то в нем делаете, потом другое, потом третье, система еле ворочается, и тут та-дам! запускается распаковка двухгигового архива, которая и сама-то работать не может, и все остальное подвешивает…
        • +1
          Что проще — нажать кнопку «распаковать» 200 раз, или нажать кнопку «остановить распаковку» 1 раз?
          • +2
            При разработке продукта следует проанализировать как его будут использовать и обеспечить чтобы основной сценарий проходил максимально возможно гладко. Побочные сценарии тоже надо предусмотреть, однако там уже можно оставить какие-то шероховатости.

            Если пользователь 99% времени проводит в каком-то одном режиме, и 1% времени — в другом, то каждый мессаджбокс в первом будет на счету, а во втором его никто не заметит.

            P.S: еще распаковке можно поставить низкий приоритет.
          • 0
            Не нужно за пользователя решать что для него лучше. Я, например, зачастую скачиваю файлы-бэкапы сайтов весом по 300-1000 мб, содержащие десятки тысяч файлов. И если за меня кто-то примет решение, что их нужно распаковать автоматически — я буду зол.

            Так же зачастую скачиваю я архив во временную папку, потом распаковываю куда мне нужно, а архив удаляю.

            А если программа позволит настраивать все эти сценарии, то настройки у нее будут монстроуозные.
            • +2
              Если настройка массового продукта выгодна 99 пользователям и не выгодна 1, то делать ее в пользу 1 пользователя — есть ошибка. В таком случае этому пользователю просто следует выбрать другой продукт, в большей мере удовлетворяющий его потребностям.
              • 0
                Совершенно верно. Но с другой стороны, у вас есть статистика того, с какой целью скачиваются архивы?
                Думаю возможные проблемы при автораспаковке архивов значительны и процент людей, которым распаковка по умолчанию не нужна — значительно выше.
                Тут другой вопрос встает, да можно пренебречь 1-5 процентами пользователей, но только если у этих 1-5 процентах не будет фатальных ошибок, проблем и невозможности использовать продукт вообще.
                • 0
                  Для сбора подобной статистики применяются не мнения, а специальные исследования, и у компании Apple такие данные есть. И некоторым процентом пользователей можно пренебречь всегда, если не идет речь о бортовых системах самолетов или системах жизнеобеспечения больниц. Эти пользователи всегда смогут найти другое, более пригодное для них решение, не заставляя 99% людей мириться с их прихотями.
                  • –1
                    Apple зачастую навязывает свое видение. Да, возможно, это подходит большинству, но я знаю массу людей, которым это не нравиться и это их раздражает. Т. е. Apple хорош, им нравиться, но к высокой цене, как к минусу, добавляются такие вот неудобства, которые не изменить. (сколько копий было сломано по поводу отсутствия нормальной клавиатуры, когда можно отображать одновременно русскую и английскую раскладку)
    • 0
      > им так удобнее, и никакие журналы операций, уведомления и щеголяние многопоточностью им не нужны и даже мешают

      Откуда дровишки? Вы проводили сравнительное тестирование? Мой лично опыт показывает, что так называемый вами «средней категории» пользователь часто даже не понимает, что то компьютер в модальном окне к нему обращается и надо бы прочитать — вместо этого сразу зовет на помощь.

      > П. 4 угадать нереально
      Объясните существование iA Writer, kod, MacOS X (в котором внешний вид окон не настраивается, например), айфона/айпада, приложения для которых как правило тоже почти не настраиваются, и так далее.
      • +4
        А это гордыня — разработчики решили, что лучше пользователей знают, что им удобно. :)
        • 0
          Я обожаю программы, разработчики которых лучше меня знают, как мне будет удобно. Как минимум потому что я не считаю себя величайшим юзабилистом в мире, и еще по тому, что не занимаюсь размышлением над этим 40 часов в неделю.
          • +2
            А я нет, потому что я с этими программами работаю, а они, похоже, нет, или их юзкейсы сильно отличаются от моих. Чтоб далеко не ходить: смотрю на браузер сейчас, в котором пишу ответ — штук 40 вкладок, которые отображены лишь «треугольничками» — мне бы было очень удобно, если бы я мог разместить их несколько строк, задав минимальную ширину, по которой я мог бы эту вкладку идентифицировать, не наводя на неё мышку. Но нет, разработчики лучше меня знают, что мне хватит одной строки вкладок.
      • 0
        Дровишки из опыта разработчика ПО для работников узкоспециализированной области. Пользователи программ, в написании которых я принимаю участие — не IT-люди, но технические специалисты. И таки под пользователем средней руки я имел ввиду всё-таки чуть более понимающего человека.

        Продукты Apple рассматривать не буду, извините. Это holywar.
        • 0
          iA Writer, kod — не продукты Apple. Приложения под iOS в большинстве своем тоже. Хорошо, веб-приложения тоже, как правило, не настраиваются. Подойдет?

          ПО для работников узкоспециализированной области проектировали профессиональные юзабилисты? Проводилось ли _сравнение_ вариантов? Потому что если вы просто прислушиваетесь к тому, что вам говорят пользователи, это ни о чем — они могут говорить только о том, что видели в своей жизни.
          • +1
            Давайте так — любая серьезная система настраивается. Это высечено в камне, иначе будет просто неудобно работать из-за обилия элементов интерфейса. Приведенный iA Writer к таковым не относится. Что такое kod я не знаю, гугль выдает всякую чепуху. Веб-приложения сюда также не относятся. Это издательские системы, системы звукозаписи, сведения и мастеринга, CAD-системы и пр. Охватываемый такими программами круг задач слишком широк, чтобы единый вариант интерфейса был удобен для разных работ.

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

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

              Не понимаю, чем вызвано ваше недоверие
              Ну собственно я написал, чем вызвано мое недоверие. Вы не ответили. Про пользователей я говорил в том смысле, что они могут (да и то если повезет) сформулировать, что их не устраивает, но не как это исправить. Потому что они не занимаются проектированием профессионально. Иногда они могут даже не замечать проблемы, а когда она исправлена — вдруг удивиться «ух ты, как удобно стало!»
              • +1
                Но — в данный момент — в программах — профессиональных, потребительских — также миллионы таких настроек, которые на самом деле не нужны

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

                Вы не ответили

                Мне кажется, что ответил — и про сравнение, и про профессионализм разработчиков.
  • +2
    И ещё.

    >В общем случае программа в изначальной конфигурации неудобна/неприятна/непригодна для использования.

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

    > браузер Сафари сам распаковывает архивы и монтирует образы сразу после загрузки

    А если я не хочу чтобы он монтировался? Это уже навязчивость.

    >Несамостоятельность. Введите номер телефона без пробелов и специальных символов.
    Не понял, если честно %(

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

    А вот за эту фразу готов пожать руку :)
    • +3
      Не понял, если честно %(

      Заставляют вводить номер не как вам удобно (+7(812)114-68-36, например), а как «ей хочется» (88121146836)
      • 0
        Это, кстати, и неплохо, но (!) только в том случае, когда поле ввода является интуитивно-понятным place-holder'ом: "+ _ (___) ___ — __ — __"
        • 0
          Рискну предположить, что вы живёте в крупном городе в крупной стране :) Турки, например, пишут свои номера так: +90 212 555 55 55. Будет ли ваш плэйсхолдер для них интуитивно понятным? А ещё телфон может быть в виде +7(812)114-68-36, доб. 42
          • 0
            Ну я тогда уточню — это только для тех случаев, когда плейсхолдер применим или возможны его вариации. Например, когда известна страна, или вообще конкретное место. Для мобильников по всей России вообще один формат. Но согласен, тут нету «one size fits all», так что иногда могут быть и трудности.

            Как по мне, номер телефона не так уж сложно распарсить — пусть пишут как хотят, можно убрать все лишние символы, включая скобки, дефисы и пробелы. Единственное с чем, возможно, придется повозиться, это +{код страны}. В лучшем случае, тут можно уже знать страну (например, если ее и так надо выбрать, то пусть "+7" подставляется автоматом).

            Насчет добавочных — спорный вопрос, может стоит хранить отдельно? Зависит от задачи.
    • +2
      > Настройки — сугубо индивидуальная особенность

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



      > А если я не хочу чтобы он монтировался?

      А зачем вы его качаете? Как часто вы качаете образ, который не хотите монтировать?
      • 0
        > А зачем вы его качаете? Как часто вы качаете образ, который не хотите монтировать?

        Эмм. Обычно люди качают образ чтобы прожечь его на болванку или развернуть на флэшке, не? Вот честное слово, за последние года 3-4 не припомню случая чтобы мне нужно было смонтировать скачанный ISO образ.
        • +4
          Речь о Safari в OS X, вряд ли она в виндах монтирует ISO, в них просто нет для этого встроенных средств. А в OS X большинство программ распространяется в виде DMG-образов.
        • 0
          А еще бывают извращенцы, которые качают образы с MSDN дома, т.к. на работе инет дорогой, не монтируют их тут же (зачем?), тащат его на работу, и пришпиливают к виртуальной машине разработчика прямо в виде ISO =) (я о себе, если что). И мне много милее, когда программа не делает того, чего я ее не просил.
          • 0
            > И мне много милее, когда программа не делает того, чего я ее не просил.

            Так вот о чем и речь. Браузер должен сначала спросить что делать со скачанным контентом, и, только если выставлена опция «запомнить мой выбор» — делать выбранное действие автоматически.
            Еще, в идеале, хорошо бы иметь возможность потом изменить это действие в настройках браузера.
            • 0
              совершенно верно: меня жутко бесит, что браузеры по умолчанию теперь стали скачивать все в папку «загрузка», а не спрашивать меня куда загружать.
        • 0
          Тут правильно сказали про dmg-образ. Считайте, что речь об архивах с программами/msi установщиках.
          • 0
            Ок, но все равно имхо браузер должен спрашивать что делать. А что если некий сайт тебе подсунет вместо указанного по ссылке файла совсем другой с троянчиком и браузер радостно его тебе поставит…
            • 0
              В Сафари эта опция называется «Открывать безопасные файлы после завершения загрузки». От распаковки зип-архива еще никто не умирал.
              • +2
                О зип-бомбах в фидошные времена слышали? Были такие специально подготовленные архивы, которые при распаковке создавали файл размером, несоизмеримо большим чем размер самого архива (скажем с коэффициентом расширения 100000%). В итоге получив несколько таких файлов под видом эхо-почты, узел переставал работать, т.к. у него заканчивалось место на диске. Шутника конечно было легко вычислить, но способ был известен.
                • 0
                  Да далеко ходить не нужно. Достаточно сжать плакат A0 в CMYK TIFF, там коэффициенты сжатия больше сотни точно. :)
      • 0
        Если кому-то не нравятся дефолтные несменяемые особенности iawriter, за 2 минуты он скачает себе что-то новое и забудет про iawriter.

        А эклипс или студия -это профессиональные среды, люди в них проводят от 8 часов в рабочий день, и если кто-то привык к double-click, а кто-то к single — он все равно не может сменить eclipse на netbeans. Через 10 лет использования такой среды переучиваться на какой-то модный в этом году вариант взаимодействия уже не хочется (переход во многих местах с double-click на single-click это фишка 99 года, насколько я помню :) ). Так что большое спасибо им за настройки…
      • –1
        Именно за эту гибкость я и люблю эклипс. Ибо можно сделать чтобы он сам пускал задачи в фон когда сочтет нужным, а можно вручную при необходимости, если железо слабое и это очень долго и этого желательно избегать.
    • 0
      > браузер Сафари сам распаковывает архивы и монтирует образы сразу после загрузки
      А если я не хочу чтобы он монтировался? Это уже навязчивость.

      Когда-то давно из-за этой опции я потерял немало времени, скачивая, кажется, прошивку для айфона на полудохлом интернете — после скачивания прошивка распозналась как архив (она, по сути, архивом и является, да и расширение файла было зипом, видимо, для успешной закачки на форум) и распаковала, не оставив оригинал. Обратно запаковать не получилось, пришлось качать заново.
      Считаю данную фишку злом, особенно, учитывая последнюю активность малвари, использующей это.
  • 0
    насчет блокирующего alert окна, когда входишь в phpmyadmin например с Мозиллы, согласен.
    приходится в новом окне открывать… а Мозила, при запуске «ну очень» быстрый браузер.

    А вот в Хроме как автоматом пароли подставлять. Ввожу пароль-Пишет сохранять-да-выхожу -ввожу логин-а пароль не подставляется((

    в цело статься хорошая.
  • +1
    Я согласен со многими комментариями оставленными выше, ибо зачастую упомянтые ограничения или схожие с ними могут быть полезны. Однако главный посыл верен. Очень часто ограничения не дают нормально работать, хотя уже не являются необходимостью. При этом особо смешно, а точнее печально, что каждый программист является и пользователями, сталкиваются с теми же проблемами, и должны делать свои программы так, чтобы не повторять этих ошибок. А почему то наоборот происзодит…
    • –2
      Мне кажется, у программиста в голове «я пользуюсь другими программами» и «я пишу свою программу» — два в принципе не связанных вида деятельности, и ему в голову не приходит, что первое следует из второго.
      • +1
        Мне кажется, что вы сильно рьяно чешете всех программистов под одну гребенку. Программист не обязан рисовать интерфейсы у программ и продумывать схемы взаимодействия пользователя с интерфейсом. Для этого есть специалисты UI, UX, дизайнеры, тестеры и т.д.
        • –1
          Это никак не отменяет того, что я сказал, верно?
          • 0
            Неверно.
  • +7
    >Вы должны вступить в блог, чтобы прочитать запись из него.

    Вот это действительно неуместное ограничение.
    • 0
      Абсолютно согласен с этим ограничением: приходится тестить существование qwerty/qwerty что бы увидеть «скрытый текст» из-за которого я попал на сайт. Но вот приходится проходить 4 страницы регистрации в новом окне, поскольку тебя не вернет на важную для тебя страницу. Лезть в почту. И только потом ты смотришь скрытый текст, а в нем оказывается совсем не то, что нужно…
      И так за поиском инфы ты регишься на десятках сайтов в день, которые любат слать тебе спам, сообщения от администрации и фейковых пользователей (есть такой сайт, который кидал сообщение от фейк пользователя, чтобы поднять твою активность).

      Не впечатляет.
    • 0
      А при чем тут программы вообще?
      Обычно это решение администрации того или иного сайта/блога/форума. Даже на хабре есть ряд блогов, которые просматривать можно, только вступив в них.
      • 0
        по-моему об этом и речь!
  • +1
    Не хватает масштабируемости, хотя её в принципе можно объединить под третьим пунктом.
    • +1
      Масштабируемость конечному пользователю до лампочки, ему важно, чтобы у него все летало. Поэтому нет её.
      • –1
        Если бы конечному пользователю действительно было до лампочки, то сейчас никто бы не знал, что это за зверь такой «масштабируемость».
        • +1
          Вы думаете, они знают? Спросите у своей мамы, масштабируются ли одноклассники?
          • –2
            Если я ей объясню суть своего вопроса, то она легко ответит на него.
            • +2
              А маме не пофигу будет насколько масштабируемые одноклассники?
              Да и кто-нибудь представляет масштабируемый ворд?
              Масштабируемость не важна для программ для обычных юзеров.
              • –2
                Пофигу или нет, это уже другой вопрос. Одному человеку пофигу, другому — нет.

                Я представляю масштабируемый Word. Он перед вами. В нем написано много всего, чтобы его можно было легко расширять и дополнять. Макросы — это один из способов масштабирования.
                • +1
                  Пофигу или нет, это уже другой вопрос.

                  Масштабируемость конечному пользователю до лампочки.


                  Да тот же самый.
                  • –2
                    Вы сделали веб-сервис, на который ходило по 10 человек в день, и эти пользователи были счастливы. Но, однажды, кто-то выложил ссылку на ваш сервис на Хабре. И сервер лег от хабраэффекта. На лицо отсутствие масштабируемости вашего продукта. Пофиг ли будет тем 10 человекам на масштабируемость, если они были жертвами ее отсутствия?

                    Хорошо, другой пример, если такой не нравится. Вы купили операционную систему, потом вы приобрели компьютер, в котором не 1 процессор, а два процессора по 8 ядер. А операционная система не умеет работать более чем с одним ядром. Вот незадача.

                    Так пофиг пользователям на масштабируемость?
                    • 0
                      Мне кажется, в первом примере вы неправильно понимаете значение слова «масштабируемость». Тынц.

                      Во втором — правильно. Но опять же, ему совершенно пофиг на масштабируемость, ему важно, чтобы эта ОС работала на его конкретной конфигурации. Если она только 16 ядер поддерживает и не больше не меньше — все равно ок.
                      • 0
                        Это пример горизонтального масштабирования, вернее его отсутствия. Если уж потрудились давать ссылки на Википедию, то читайте хоть их :)
                        • 0
                          Это не пример горизонтального масштабирования. Горизонтальное масштабирование — это если вы добавили 10x серверов, а производительность выросла в два раза. А то, что какой-то сервис в текущей конфигурации не держит какую-то нагрузку, ни о чем не говорит. Если разработчики могут просто докинуть в него серверов и он начнет держать нагрузку — значит, горизонтально масштабируемый. Если для этого надо перепроектировать архитектуру — значит, предел масштабируемости достигнут.
                          • –1
                            Это говорит, что сервис недостаточно масштабирован на текущий момент времени.
                            • 0
                              Ок, подставляем в определение:
                              Сервис недостаточно способен увеличивать свою производительность при добавлении ресурсов.
                              И что, откуда вы знаете, способен он или нет, если в него никто ресурсов пока не добавлял?
                              • 0
                                Почему мы должны подставлять именно в это определение?
                                • 0
                                  Предложите же другое!
                                  • 0
                                    Вы читали статью, которую сами выше приводили? Там есть пункт «Горизонтальная масштабируемость».
                                    • 0
                                      Переводчик вместо «Горизонтальное масштабирование» написал «Горизонтальная масштабируемость», so what?

                                      На всякий случай, масштабируемость — качество, масштабирование — процесс.
                        • +1
                          Это не пример горизонтального масштабирования. Абсолютно. То, что какой-то ресурс не рассчитан на какую то нагрузку — нормальное положение вещей (не все в облаках хостятся). Даже тот же гугл при какой-то большой нагрузке «упадет». И в слово «масштабируемость» не входит, что ресурсы под текущую нагрузку должны автоматом увеличиваться.
                          Возможно сайт лежит на очень старом и медленном железе, а перетащи его на более производительный сервер — проблема нагрузки уйдет. И масштабируемость тут ни причем.
                          Другой вопрос, что нагрузка такова, что не позволяет уже размещаться на одном физическом сервере. Приходиться распределять нагрузку — тогда и встает вопрос о масштабируемости конкретного приложения.
                          • 0
                            Возможно сайт лежит на очень старом и медленном железе, а перетащи его на более производительный сервер — проблема нагрузки уйдет. И масштабируемость тут ни причем.

                            Это способность сайта к вертикальному масштабированию и большинство приложений ею обладает (максимум конфиги подкрутить). Просто на каких-то значениях вертикальное масштабироание становится очень дорогим — грубо говоря, дешевле поставить три восьмиядерных сервера чем один шестнадцати.
                            • 0
                              Вы о чем? Возьмем систему на php. Ей пофиг сколько ядер и оперативной памяти. Она будет работать, если минимальные требования удовлетворены. Нелепо говорить о вертикальной масштабируемости php приложений.
                              Сайт легко должен переноситься с одной физической машины на другую, не говоря уже о замене процессора или увеличении оперативки.
                              Аналогично обстоит дело и с вордом, например. Ворд успешно будет работать на одноядерной конфигурации и на восьмиядерной. Поддержка процессора, оперативной памяти и т. п. — это дело операционной системы.
                              • 0
                                На ВДС за 100 рублей, она будет обслуживать, скажем, 10 запросов в секунду, на 8-ядерном сервере со 16Гб оперативки, скажем 1000 запросов, на 16-ти ядерном с 1Тб оперативки — 2000. Разве не налицо вертикальная масштабируемость? Вот только она не линейная и после какого-то предела проще переписать приложение (может даже и не на PHP), чем заказывать 1024-ядерные кластеры с петабайтами оперативки, выглядящие для ОС как одна очень мощная машина.
                                • 0
                                  При чем тут масштабируемость самого приложения?
                                  Вот когда приложение можно разнести на несколько машин, сделать кластер средствами самого приложения, а не ОС.

                                  Кстати, тот же в контакте или фейсбук как-то не спешать переписывать ядра своих систем с php, на что-то другое, а просто масштабируют само приложение.
                                  • 0
                                    Это приложение может обслуживать только 10 запросов и на 1024-ядерные кластере с петабайтами оперативки — на все процессы и потоки, например, одна глобальная очередь запросов к внешнему сервису — не не только горизонтальной масштабируемости, о которой говорите вы, но и вертикальной, о которой говорю я.
                                    • 0
                                      Не буду спорить о прикладных программах, но в вебе, в частности в php такого ограничения нет. Могут быть не оптимальные настройки php, не оптимальные настройки оси или сайт писал криворукий программист (когда на каждый запрос он блокирует БД до его завершения).
                                      Ну или следуя этой терминологии обычно все приложения по умолчанию обладают вертикальной масштабируемостью.
                                      • 0
                                        Задача может быть такая, а вообще конечно да, по умолчанию все приложения, если они не завязаны на внешние ресурсы (или эта завязка при любой нагрузке не является узким местом) обладают вертикальной масштабируемостью.
            • 0
              Хм, даже я сходу не могу на него ответить — черт его знает, что у них там, может, они на каждую сотню тысяч пользователей код переписывают?
              • 0
                Вы можете не знать как выглядит процесс масштабирования, но будете сталкиваться с проблемами его отсутствия чуть ли не каждый день.
                • 0
                  Как и с проблемами аварий питания, неоптимальным кодом, и что? Я буду сталкиваться с какими-то проблемами. Я знать не знаю из-за чего они. Мне совершенно пофиг, станет ли сайт быстрее, если они поставять 2x серверов. Мне хочется, чтобы конкретно для меня он быстро работал.
  • +3
    Частный случай ограничений, но жутко раздражающий — программа/сайт пишет «максимум 1000 символов», ввожу 1000, а она мне «вы ввели 2000 (или 5000 — если символы из какой-нибудь древнешумерской кодировки)», а то и вообще «больше 1000». То есть ограничение на 1000 бай, а выдают его за 1000 символов, забывая, что используется многобайтовая кодировка с переменной длиной кода символа.
    • 0
      True. Недавно, почти аналогичный случай, был у меня. Только с точностью наоборот. Считали символы мультибайтовыми функциями, хотя надо было считать байтовыми, ибо длина передаваемых данных почему-то не совпадала с реальностью…
  • +1
    Вы просите Виндоус зайти на самбу и ждете сначала полчаса чтобы она спросила у вас пароль, потом еще полчаса она будет «пытаться присоединиться» к соседнему компьютеру.

    Свойственно и тому же MacOC, действительно невообразно бесит.
    • +3
      Это свойственно самбе. Независимо от операционной системы.
    • 0
      Если сеть настроена, этого не будет. А если каждый раз как в разведке на враждебной территории, то конечно. Таймаутов ведь надо дождаться, как же иначе.
      • 0
        Каких таймаутов, она что, не может сразу ответить, что пароль не правильный? Один комп заходит к другому на расстоянии вытянутой руки. Кроме них в сети никого нет. Соединение прекрасное. Какие нафиг таймауты?
        • 0
          Там много заморочек. В Семерке многие из них устранены. После настройки домашней группы все должно летать без запинки.
          Это я про винду, про МакОсь не в курсе.
          • 0
            На обоих компьютерах Windows 7. Ничего не летает. Что за домашняя группа и зачем ее настраивать, не знаю. Почему, если она не настроена, я не получаю отлуп сразу? Что Винда делает эти 30-120 секунд?
            • 0
              Знаком с проблемой. В небольшой сети желательно исключить динамические IP-адреса или привязать выдачу по макам, тогда можно будет обращаться не по имени компа (чтобы видна не тратила время на поиск), а сразу по ip. Можно и ярлык вывести, чтобы не из сетевого окружения лезть. Пароль тоже сохранить. Тогда всё должно срабатывать моментально — щёлкнули ярлык, винда постучала тот комп, он пустил.
              Кстати, в семёрке домашняя группа, может, и выход, но в целом с шарингом у семёрки ещё больше заморочек стало, и настроек огромная страница (не листаемая колёсиком, что странно), и временами доступ теряется и прочее. С хп как-то всё стабильнее и прямолинейнее было.
  • +2
    Ограничения часто бывают вполне оправданными, но в целом да — когда новая версия программы, практически не отличающаяся от старой, грузится и работает на моем новом компьютере дольше, чем старая грузилась на старом, который был в тысячу раз медленнее по всем параметрам, это вызывает недоумение. Дистрибутивы на много сотен мегабайт тоже вызывают некоторое непонимание, особенно когда есть аналоги раз в сто или тысячу компактнее при той же функциональности.

    Положительный пример: iA Writer, текстовый редактор без панели настроек.
    А это явный пример пункта №7: «я лучше знаю, как тебе будет удобнее».
    • –4
      > я лучше знаю, как тебе будет удобнее

      А с этим никаких проблем нет, программа действительно должна знать, как мне будет удобнее. Кому еще, не мне же это знать, ее делали профессионалы, а я так, покурить вышел.
      • –2
        is something wrong with it?
        • +1
          Yes
          Вы уверены, что то, что удобнее Вам так же будет удобно мне и не будет раздражать какого-то третьего пользователя?
          • –3
            Ну, вообще говоря, в эргономике большинство законов универсальны для всех людей. В восприятии информации тоже, только в рамках одной культуры.

            Вы, наверное, просто привыкли с плохо сделанными программами иметь дело — в таких настройки действительно спасают от дурака-разработчика.
            • +1
              А я почему-то замечал, что настройки и предпочтения в интерфейсе у меня и моих знакомых часто различаются.
              Причем некоторые вещи противоположны
              • 0
                А не замечали, что и вы, и они могли бы, если настройки бы не было, пользоваться любым из вариантов? Или, что еще интереснее, один из вариантов был бы чуть более удобным, чем другой?
                • 0
                  Конечно могли бы, куда деваться то. А по поводу удобней — удобней кому?

                  Ну вот конкретный пример:
                  На работе я много времени провожу в ИДЕ. И когда у меня открыто несколько файлов, то вкладки расположены справа от текста. И это не настройка по умолчанию, я сам так выставил.

                  Соответственно мне было бы удобнее, если так бы было по умолчанию и не надо было лезть в настройки. А Вам? Ну и на счет остальных читателей не уверен.

                  Ну и напоследок — дома на широкоформатном ноутбуке с маленьким дисплеем у меня панель задач Windows расположена также справа. А на компьютере — снизу. Как по Вашему — в данной ситуации Windows должна сама определять положение панели по соотношению сторон и разрешению экрана? Или лишить меня возможности выделить максимум места под браузер?
                  • 0
                    Я без всякой задней мысли спрашивал — вы абстрактно выразились, я уточнил.

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

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

                    Я, кстати, не занимаю тут никакой предопределенной позиции — если выяснится, что у обоих способов есть неоспоримые существенные преимущества, проявляющиеся в разных ситуациях, не определяемых автоматически — я вполне согласен, что здесь будет нужна настройка.
                    • 0
                      А если они не существенны? Пускай эта настройка улучшает юзабилити на 1% для 1% пользователей — неужели её убирать, если она уже есть (разработка по фичереквестам — отдельный вопрос).
                      • 0
                        Я бы убрал. Это сразу бы уменьшило взаимонепонимание между разными пользователями, упростило бы инструкции, не ставило бы новых пользователей перед выбором, упростило бы реализацию, что повысит надежность.
                        • 0
                          Но нанесло бы ущерб, как минимум, имиджу продукта.
                          • 0
                            Пара человек в блоге бы поныла — не забывайте, что мы о 0,0001 ухудшении. Остальные бы радовались тому, что продукт стал проще. Это, поверьте, важно. Никто же не переживает, что в Хроме раз в сто меньше настроек, чем в ИЕ.
                            • 0
                              Если речь идёт о продуктах, которыми пользуются сотни миллионов людей, то 1% пользователей это миллионы. Пускай десятки тысяч из них повайнят в блогах, на форумах и т. п. — для пользователя, который выбирает себе новый браузер это может быть критично.

                              Вот что в Хроме практически ненастраиваемый UI я очень переживаю.
                            • +1
                              Именно поэтому Хром практически не влияет на процент пользователей Фаерфокса, а ограничивается долей Эксплорера.
                              • 0
                                Ну то есть новые-то пользователи выбирают таки хром.
                                • 0
                                  Хром часто ставят не разбирающимся пользователям. Именно за его самостоятельность и простоту. Плюс он меньше ресурсов требует, что делает его лучшим выбором для старого или слабого компьютера. Но отбить пользователя фаерфокса всё же получается редко.
  • +3
    «Ненастроенность:
    Первым делом в текстовом редакторе вы меняете шрифт и включаете автосохранение.
    Первым делом в браузере вы убираете ненужные панели и включаете сохранение паролей.

    В общем случае программа в изначальной конфигурации неудобна/неприятна/непригодна для использования.»

    это уже дело личного вкуса, а всем не угодишь.

    «Семь примеров феерической тупости из коллекции автора.

    Блокирующее взаимодействие. Модальные целиком для браузера alert/http basic auth form — такие, что нельзя переключиться в другую вкладку, чтобы скопировать пароль.»

    только не в последних версиях оперы :)
    • +2
      Последняя версия оперы: настройка почтового клиента, после ввода имени, адреса почты надо ввести пароль. Ни одна вкладка, а, тем более, панель записок, недоступна.
      • 0
        Изначально речь шла о других окнах. Но если вы недовольны модальностью этого диалога, напишите в opera wishlist, объяснив ситуацию и предложив решение, и ждите. Я, например, в своё время внёс подобное предложение по поводу javascript alert-ов, и они исправили. В конце концов, некоторые диалоги настроек в опере уже немодальны, так что может и этот переделают.
        • 0
          Я привык уже, не настолько часто мне приходится настраивать почту в Опере, да и прекрасно знаю, что пароль надо класть в буфер обмена заранее.
  • +1
    Никита!

    Алилуйя, плюсы в карму, толпы поклонниц и долгих лет здравствия тебе!!!

    Я вот всегда удивлялась: почему эти элементарные вещи всегда очевидны пользователям, и недоступны сознанию дизайнеров и разработчиков? Ан есть, оказывается, исключения в этом мире!!!
  • +1
    А почему никто не говорит о таком поведении программ под Виндовс, которые всегда при старте проверяют весь комплект файлов в своей папке и не могут понять, что мне, например, не нужны многомегабайтные файлы помощи и их дурацкие примеры?

    И ещё — ну почему нельзя сделать маленькую, компактную процедуру деинсталляции программ? Разве нужно всегда хранить (где-то там, у себя в кишках, недоступных пользователю) полный дистрибутив программы, только чтобы я мог удалить её?

    В идеале операционная система должна всё сделать сама — если я удалил папку, где была программа, значит надо удалить всё что было поставлено в систему силами этой программы — все копии дистрибутивов, расширения фалов, какой-то мусор в реестре…
  • +5
    Редкий на Хабре случай, когда статья:
    1) авторская
    2) ценна сама по себе и существенно интереснее комментов к ней (большинство статей читаешь скорее из-за комментов, нежели из-за самой статьи).
    • +2
      Спасибо :)
      • +3
        Это вам спасибо :)
    • 0
      Статья — ни что иное как выдержка из Алана Купера — Об Интерфейсе с довольно спорными примерами.
      • 0
        Так единственная проблема с Купером — что его 600-страничный труд никто не читал. Если бы все про него знали — я был бы спокоен, сидел бы в уголочке и починял примус.
  • +1
    Насчет Самостоятельности — очень спорный вопрос. Хотя он фундаментальный — кто отвечает за порядок на компе? Если человек, тогда любая мелочь должна делаться с его разрешения, и допустимый максимум самостоятельности, это «я тут посчитала что раз вы хотите удалить read-only файл, то этот атрибут можно проигнорировать. Желаете ли чтобы я сняла атрибут и удалила этот файл? Чтобы удаляла все read-only без предупреждения? Пропускать read-only? Повторять запрос на каждый read-only? Вообще отменить операци и восстановить уже удаленные файлы?».

    А вот медлительность — это действительно беда. Я могу терпеть медлительность от антивируса, потому что незнаю, сколько там у него сигнатур в базе и насколько сложные эвристики, поэтому допускаю, что проверять на вирусы он может долго — ок. Так же во всяких вычислительных программах, в том числе и графических — возможно определенная операция действительно долгая. Но убивает, когда система тормозит там, где ты точно знаешь, что она не должна тормозить! Сто лет назад на компьютере с 32М памяти за 3 минуты можно было загрузиться, запустить браузер и открыть, скажем, lenta.ru. Дизайн lenta.ru не изменился за это время. Сейчас чтобы сделать ту же простую операцию вам в лучше случае потребуется комп _на порядки_ мощнее. Не 32Мб, а 4G минимум.

    Причем самое забавное в том, что первый этап — отрисовать рабочий стол, дождаться клика на иконке браузера, отрисовать окно браузера — это можно сделать за четверть секунды после завершения POST. Ах, мы не подмонтировали второй и третий диск, и не выполнили еще настройку по DHCP… но это можно сделать в то время пока пользователь пишет адрес в браузере. Или в крайнем случае уже заставить его подождать потому что выполнить желание пользователя сейчас — невозможно в принципе. Это достойная причина. Но сейчас при всей «многозадачности» чтобы написать простую записку в текстовом редакторе, то что в досе делалось быстро, надо ждать пока загрузится и проинициализируется все-все-все.
    • +2
      А вы представляете, сколько служб в Windows 7 грузятся в фоновом режиме уже после предоставления пользователю возможности действовать?
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Какие транзакции? Сформировал payload — отсылай себе в фоне, зачем мне дальнейшую работу блокировать?
      • НЛО прилетело и опубликовало эту надпись здесь
      • НЛО прилетело и опубликовало эту надпись здесь
        • +1
          Запускаю программу. Переключаюсь в браузер. Читаю два предложения. БАЦ! Оба-на, привет, я сплешскрин. Я еще не запустился, но посмотри на мою красочную картинку. И че? Причем я могу переключится в браузер, но он еще пару раз в процессе запуска выскочит.

          Хорошая программа должна забиться в угол и сидеть, пока про нее не вспомнят (на маке вот иконка один раз подпрыгивает, когда все готово. Мне кажется, идеал).
          • НЛО прилетело и опубликовало эту надпись здесь
            • 0
              Не скажите.

              Во-первых, программа совершенно спокойно может запускаться в фоне, не забирая себе фокус.

              Во-вторых, уведомить пользователя сплешем можно или сразу (действительно сразу — нажали значок и сплеш появился в то же мгновение, а не через пару секунд), или этот слпеш должен быть мелким, ненавязчивым и вообще больше походить на уведомление. Если говорить о Маках, к примеру, — во втором случае можно выползать в той же стороне, где и док, через некоторое время исчезать. Причем, в обоих случаях красть фокус не нужно, нужно просто выползти один раз поверх всех окон. И если пользователь отправил на задний план (или, что скорее, перекрыл чем-то другим), ни в коем случае нельзя опять вылезать вперед просто чтобы покрасоваться еще разок.
              • 0
                На маках тоже достаточно софта со сплешскринами, крадущими фокус. Charles и IDEA, например. Это я только свой dock окинул взглядом.
                • 0
                  Возможно дело в том, что эти программы кроссплатформенны и нативным поведением под каждую ось разработчики особо не заморачивались?
                  • 0
                    Вы надеюсь это не считаете их оправданием?
                    • +1
                      Ситуация двояка — с одной стороны, мне бы хотелось чтобы продукты JetBrains выглядели в ГномеЮнити нативно, с другой стороны, я понимаю, что это или бы замедлило цикл релизов, или увеличило бы себестоимость (и почти наверняка конечную стоимость). Потому, пожалуй, считаю оправданием с экономической точки зрения.
              • НЛО прилетело и опубликовало эту надпись здесь
                • 0
                  Если вы запускаете программу, то наверное хотите с ней работать.

                  Не для всех программ это верно. Например почтовик или ИМ, который запускают, чтобы проверить нет ли новых сообщений. Может нужна настройка на урове ОС (типа свойства «ярлыка»)?
                • 0
                  Да, я хочу работать с программой, но если она грузится достаточно долго, я лучше в это время почту гляну, трифаунд, да что угодно.

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

                  Но чтобы дать понять, что все ок, я запускаюсь, достаточно же именно показать сплеш. Какой толк от фокуса на сплеш-скрине?

                  Представьте ситуацию, человек запускает программу не мышкой, а иначе, так, что фокус остается по идее у текущего приложения. Пусть будет хоткей, к примеру. Мне кажется, в данном случае куда очевиднее, что фокус лучше в текущем прилодении и оставить, а когда новое запустится, как-то об этом пользователю сообщить. Ясно, но ненавязчиво.
                  • 0
                    Да хотя бы перевести фокус когда программа уже будет готова обрабатывать пользовательский ввод — и то хорошо.
              • 0
                К сожалению, даже тот же iPhoto после запуска вылезал на передний план. Не забирал фокус, но перекрывал весь обзор. Сейчас запустил для проверки после его обновления — вроде такого нет, радует.
                С IDEA какую-то мелочь замечал, но не критичную (сплеш не держит себя поверх всех окон, и иконка в доке рисует прогресс бар даже при запуске).
            • 0
              > Возможно, но только маки — это не подавляющее большинство компьютеров.

              Ну я же не про маки, а про решение. А отговорок можно много придумать.
              • НЛО прилетело и опубликовало эту надпись здесь
                • 0
                  Я не предлагаю использовать док в качестве решения. Я говорю, что их решение отличное. Не вижу, почему того же нельзя сделать в программах под вин/линукс.
  • +2
    Странное ощущение после статья: все знакомо.
    Потом вспомнил — это называется проектирование взаимодействия. А читал я про это в книжках Алана Купера. Там и про модальность окон, и про медлительность, и про забывчивость программ, и про ограничения.