Как стать автором
Обновить

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Я эту проблему заменой и решал, только не на минус, а на двойное подчеркивание, запретив его использовать в названии категории. Но все равно это грязный хак.
Такой и будет, преобразование «категория -> её представление в url» не обязано быть обратимо, главное чтобы по полному url можно было получить id категории. С коллизиями minus/category и minus-category можно бороться по разному, добавлять цифры, например, и прося у пользователя ввести что-то другое ручками.
>прося у пользователя ввести что-то другое ручками
На мой взгляд, вообще использование slug порочно, а тем более заставлять его вводить пользователя.
Почему порочно? По-моему, как раз 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 :)
Знаете, даже как-то несерьезно обсуждать вопрос качества продуктов с человеком, для которого проблема в том, что на шаред-хостинге ему дяди какую-то опцию запретили.
Описание не может быть длиннее 1000 символов.
Идет вразрез с пунктом №1. Медлительность.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

Но объясните мне, зачем настраивать антимат (да и вообще тратить на это силы и дньги) для, например, сайта профессиональных филологов, на котором регистрация только по инвайтам? Этот сайт будет саморегулируемым сообществом профи. Вдруг они захотят обсудить особенности употребления слова «йух» в 70-80-е годы нашего века, или историю возникновения этого слова? И что? Им теперь из-за антимата писать везде «х*й»?
Красивейший пример, спасибо!
Необязательно вандал. Вот на хабре люди иной раз вынуждены разбивать пост на несколько частей.
НЛО прилетело и опубликовало эту надпись здесь
Не понял про среднюю сессию юзера…
НЛО прилетело и опубликовало эту надпись здесь
Вообще интересно откуда такая статистика. Открытые страницы вроде сервер не пингуют. На либрусеке, например, у меня страницы могут неделями быть открытыми.
НЛО прилетело и опубликовало эту надпись здесь
Эти сервисы пингуют свои счётчики в фоне?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ну я же не про маки, а про решение. А отговорок можно много придумать.
НЛО прилетело и опубликовало эту надпись здесь
Я не предлагаю использовать док в качестве решения. Я говорю, что их решение отличное. Не вижу, почему того же нельзя сделать в программах под вин/линукс.
Странное ощущение после статья: все знакомо.
Потом вспомнил — это называется проектирование взаимодействия. А читал я про это в книжках Алана Купера. Там и про модальность окон, и про медлительность, и про забывчивость программ, и про ограничения.
Угу, еще Норман и Раскин. Но пока у разработчиков на них нет времени, может мою статью в блоге «Разработка» заметят.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Всё же я не согласен с этим в корне.
К примеру, работая в среде IntelliJ Idea — комитишь свои изменения, да, появляется блокирующий диалог коммита (который можно кстати закрыть, отменив действие). Предположим он был бы фоновый — что дальше? Классы трогать пока идет коммит — нельзя. Что ещё делать то? Пойти покрутить настройки со скуки? Весьма сомнительно. Примерно так же в большинстве Ваших примеров (скажем с теми же фильтрами в Photoshop).

Не буду спорить, что можно сделать неблокирующие интерфейсы во многих случаях, но обычно оно просто того не стоит. Воротить груду кода и проблем ради 1-2 человек, которые просто «не переносят блокирующие окна»? Это абсурд.

P.S. Мне кажется что блокирующие интерфейсы имеют место быть, так как человеку несвойственно делать параллельно несколько вещей — он будет отвлекаться, забывать и теряться в деле (не важно каком). Именно поэтому линейная работа с приложением (Редактор 1 -> Редактор 2 -> Диалог 3 ->… -> Что-то ещё N) намного проще и ближе в большинстве случаев, чем «откладывание» процесса в фон и переход к другому делу «meanwhile». Про Наполеонов говорить не буду…
> Воротить груду кода и проблем ради 1-2 человек, которые просто «не переносят блокирующие окна»?

На самом деле это кардинально другой опыт взаимодействия, поверьте мне. И оно того стоит. Просто пока какой-нибудь гигант не подсадил всех своих пользователей на это (кроме Эпплов не представляю, кто бы это мог быть сейчас), люди не видят в этом проблему, как не видели ее в том, что файлы нужно постоянно сохранять вручную. Когда подсадят, сегодняшние программы будут казаться корявыми неуклюжими мамонтами.
Даже если 1 гигант использует идею — не обязательно все на неё перейдут. Мне кажется блокирующие окна останутся в любом случае (в текущем виде или ином — не суть важно).

P.S. Вы, опять же, ушли от ответа на конкретный вопрос — чем Вы будете заниматься во время коммита в какой-либо IDE? Скорее Вы пойдетё заварить кофе или же почитать хабр, нежели, как Вы уже где-то в груде комментариев писали, читать историю коммитов/изменений (нет, ну серьёзно — Вы это будете делать?). Для того чтобы почитать хабр или выпить кофе, Вам не нужно приложение с неблокирующими диалогами, согласитесь :)
Зависит от используемой SCM. Если у нас, например, git, то мы спокойно коммиттим свои файлы. Они уже staged, версия фиксирована. Если мы в этот момент начнем менять классы, это не повлияет на этот идущий коммит и будет показано как отдельное изменение.
Ок, предположим коммит будет идти параллельно. Предположим идёт крупный коммит (сотни классов и прочей требухи) и вот возникают проблемы — что-то разошлось/у Вас не актуальная версия/проблемы с соединением или ещё что — что Вы будете делать? У Вас на руках предыдущие изменения, и ещё новые поверх них. Конечно можно и тут найти хитрожопое решение, всё это оформить, разделить по версиям, хранить копии и т.д. и т.п., но стоит ли оно того?
если ты коммиттишь сотни классов за раз, перед этим не обновившись до последнего мастера, то кто ж тебе виноват? :-)
А так, если что-то при коммите не удалось (ну там, соединение пропало), то те твои изменения так и останутся в отдельном месте (staging area), а новые — в другом.
Ну, тоже верно)
[sarcasmus]Программа виновата! Не, даже не программа, а программист, который ее писал. Программа должна была догадаться, что ты не обновлялся, самостоятельно все обновить, зарезолвить все конфликты, и тихонько себе там что-то yfобновлять, только бы хозяин не увидел...[/sarcasmus]
Вот кстати гит (ну не сам гит, который консольный, а какой-нибудь клиент) вполне бы мог ремоутные ветки в фоне синхронизировать, как почтовые клиенты в фоне почту забирают. Мега была бы фича.
И к такой мега-фиче прилагался бы набор редких мега-сюрпризов ;)
Настройте эту операцию по cron'у. Для этого даже не обязательно переделывать программу.
Что, на каждый репозиторий?
Это уже как настроите.
Ну я рад, что даже вам моя идея понравилась :)
А в в случае конфликта что делать? В логи ошибку записать?
Попытаться самостоятельно решить конфликт, а потом уже результат в лог записывать. Неча пользователя от важных дел отвлекать…
Хорошо если проект компилируемый и/или на 100% покрыт тестами, запускающимися перед деплоем на продакшен. А если нет? Да и вообще поведение «только что всё работало, я ничего не делал, а теперь не работает» как-то не юзабельно, по-моему, и в итоге отнимет больше времени, чем сэкономит.
Конфликт только при мерже может возникнуть. Здесь только закачка новых ченжсетов на компьютер.
Да, тут я что-то ступил, но всё равно такое фоновое обновление может привести к необходимости ручного вмешательства (изменился API библиотеки, например), а то, что оно происходит в фоне, без уведомления пользователя, может привести к неоправданным потерям времени.
Если редактор не умеет отслеживать состояние файла, то фоновый апдейт приведет к тому, что открытый раннее файл будет сохранен без нового кода. Откуда ему там взяться?
Есть проект под гитом, в нём подключен сторонний репозиторий с какой-то либой, вот я сделал все нужные изменения, прогнал все тесты, погонял ручками на локальном сервер, вроде всё готово к деплою, но тут, пока гонял, втихаря (то есть в фоне) либа обновилась так, что тесты бы не прошли, а выдали Fatal Error, но я об этом не знаю. Я деплою приложение вместе с новой версией либы на бевой сервер, и пользователи получают 500, я запускаю локально — тоже 500, правда хотя бы с диагностикой «функции нужно 3 параметра, а она получает 2» и я начинаю соображать, как так получилось, что 5 минут назад с двумя параметрами всё работало, а теперь третий понадобился, который я первый раз вижу, хотя пользовался этой функцией несколько лет с двумя… А пользователи всё 500 получают…

Вы, наверное, не знакомы с ремоутными ветками и концепцией working copy в гите. Грубо говоря, гит хранит всю историю проекта в отдельной своей папке, а в working copy (то, с чем вы собственно работаете) лежит одна конкретная ревизия + ваши изменения поверх. Так вот, историю обновлять можно совершенно независимо, никак не трогая working copy. Просто когда вы захотите посмотреть, что на сервере добавилось, все изменения будут уже скачаны и доступны локально.
НЛО прилетело и опубликовало эту надпись здесь
Мержиться рано или поздно придется
НЛО прилетело и опубликовало эту надпись здесь
Внизу правильно kliss написал — буду писать код. Гит это позволяет, например, поэтому на svn я уже без слез смотреть не могу. Вам не доводилось работать с тем и с другим? Такой опыт многое проясняет в том, что важно, а что не важно.
Доводилось и не раз. Но почему-то я не питаю какой-либо особой любви к git.
И, как ни странно, меня не выводит из себя и даже не напрягает ожидание коммита куда-либо.

Самый долгий коммит который я видел — недавно грузил на SVN ~300 мб ресурсов + пол тысячи классов в довесок — заняло минут 5 отсилы. Обычно операция занимает не более 5-10 секунд.
Локально?
Нет конечно…
НЛО прилетело и опубликовало эту надпись здесь
[sarcasmus]Да пофиг, пользователь сказал «не хочу ждать», программа сама должна догадаться, что внесенные изменения были после того, как была нажата кнопка commit, и внести только те изменения, что были до этого момента сделаны. Тупые программисты не могли сделать нормальную неблокирующую, умную, быструю, удобную программу...[/sarcasmus]
Я получу изменение по завершении коммита??? Кстати, sorrow внизу правильно написал, отсылать то, что я пишу после нажатия кнопки, очевидно не нужно, как не нужно мешать мне работать дальше. Но он видит в этом сарказм, хм, видимо, его все в компьютерах устраивает — значит, он еще не настоящий программист.
Только вот незадача, для реализации столь «простой» фичи потребуется переделка немерянного количества программ. Операционная система должна уметь журналировать изменения на любую глубину действий, фактически превратившись в svn или git.
Да git и так все это умеет, без помощи операционной системы. Меня удивляет, почему, когда есть настолько яркий живой пример, многие до сих пор не видят проблем в svn-е?
>Операционная система должна уметь журналировать изменения на любую глубину действий, фактически превратившись в svn или git.

немного оффтопик, но давно пора. Когда-то это было фичей novell netware — на сетевом диске, пока хватало места, хранилась вся история работы со всеми файлами. Ну и Эппл работает над приучением пользователей к SVN своей time machine. Мысль-то хорошая.

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

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

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

У меня есть знакомый, хранящий все документы из home в svn.
Тогда у вас будет другая проблема. Попробуйте найти разницу среди двух лог-файлов, если длина у каждого по гигабайту. У вас система будет только тем и заниматься, что анализировать километры строк да гонять по шине гигабайты данных. А работать когда?
НЛО прилетело и опубликовало эту надпись здесь
Если тебе комфортно на текущем уровне, значит, ты не развиваешься.

(это не обращение на ты, а так, откуда-то цитата)
НЛО прилетело и опубликовало эту надпись здесь
Как определить, чье понимание лучше? Многих в этом топике в программах все устраивает. Может, перестать писать программы?
Ничье. Все индивидуально. Нельзя быть Прокрустом.
Бесполезная точка зрения, из нее ничего не следует. Впрочем, если мы не собирались никуда идти, то и такая сойдет.
НЛО прилетело и опубликовало эту надпись здесь
Есть унылое мнение, что обо всем этом Раскин писал еще в 2000.
Тоже постоянно из-за этого расстраиваюсь. Популяризирую вот. Добавил еще список литературы :)
> Апофеозом этого греха являются модальные окна — программа ничего не делает, но никуда уйти не дает.

Я уже почти забыл о модальных окнах пока не пришлось в MS Windows пару дней провести. Да, они должны умереть. Совсем.

> Первым делом в текстовом редакторе вы меняете шрифт и включаете автосохранение.

vim рисеутся тем же шрифтом что и остальные консоли. Резервное копирование ЕМНИП включено по-умолчанию.

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

Какие ещё панели в uzbl? o.O

> Я еще не запустилась, но вот тебе мой сплешскрин поперек всего и крадущий фокус.

ИМХО сюда можно добавить игрушки которые пол минуты показывают логотипы всех фирм кто написал к ней строчку кода или подарил текстурку, часто непропускаемые. Положительный пример: у Nexuiz была «полунекоммерческая» (ставшая коммерческой) фирма-разработчик alienTRAP, что проявлялось ма-а-а-аленьким значком в углу главного меню, которое было первым что вы видели при запуске.

Это был толстый намёк на тот факт что юникс-вейный (и опенсорсный) софт часто лишён всех грехов, кроме, иногда, несамостоятельности, но последнее чаще плюс чем минус. Например:

> Положительный пример: браузер Сафари сам распаковывает архивы и монтирует образы сразу после загрузки.

А если я скачал архив чтобы отправить домохозяйке по почте или положить себе на флешку и перенести на машинку без доступа в Интернет? Программа должна быть самостоятельной только если она АБСОЛЮТНО уверена что быть самостоятельной нужно. Например, автоматически провести компактификацию, создать каталог, или, встретив защищённый файл, продолжать в фоне проверять остальные.
НЛО прилетело и опубликовало эту надпись здесь
Особенно плохо, когда нужно нажать Enter, потом ждать минуту, так как ролики не пропускаются (Мы сделали ролик EA, стилизованный под игру, смотрите как красиво! И ещё мы используем PhysX, играть лучше на nVidia, все права защищены). Потом потом создаём новый профиль, и попадаем в главное меню. Идём в настройки, не играть же в 640x480 (вступительный ролик, где-то между логотипом EAX и входом в главное меню мы уже посмотрели в этом самом разрешении, с чёрными полосками по бокам из-за монитора 16:10, и с ними же сверху и снизу, так как картинку 25:10 впихнули в видео 4:3, с субтитрами внизу на чёрном фоне, — настоящий демотиватор). Хорошо, если после изменения настроек не придётся перезагружать игру, пройдя второй круг ада.
Почему-то кажется, что ролики, которые нельзя пропустить, это не плохая работа программистов, а хорошая. А вот оценивать работу тех, кто им задачу ставил не возьмусь.
Сюжетные ролики, которые нельзя пропустить при первом просмотре — это хорошо. А логотип физического движка, который нельзя пропустить, несколько раздражает на 10й раз.
То, что раздаражает я не спорю, но стоит, наверное, валить это на программистов — у них в ТЗ наверняка это было записано (а в дев-версии может и был пропуск всех этих заставок — им-то не 10 раз, а сотни и тысячи нужно игру запускать) — виноваты тут, имхо, маркетологи и прочие менеджеры.
Трагедия всей моей жизни, ни больше не меньше.
Апофеоз тупости(гордости):
Test Drive Unlimited.
Мало того, что «New Game» расположена РЯДОМ с «Continue»,
так еще и не спрашивает, если на нее нажать.

Вы потратили 100500 часов на прохождение? Нажали случайно не на ту кнопку? Получите свой игровой прогресс с нуля. Проблемы белковой формы жизни кремниевую форму жизни не волнуют.

Для особо внимательных во второй версии предусмотрена функция создания «битых сейвов».
Работает аналогично (и теперь вам самому ПРИДЕТСЯ нажать «New Game»).
> И самое главное — интерфейс всегда, что бы ни случилось, должен отзываться на действия пользователя.

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

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

> Если ты можешь сделать, скажем, описание продукту любой длины (а он может) — делай, не надо гадать, что скорее всего никому больше 1000 не понадобится.

А вы не подумали про людей, которые могут специально и злонамеренно забивать канал/память/базу всякой фигней? Имхо, в данном случае, для наименования продукта 1000 конечно маловато (но для 99.99% пользователей вполне достаточно) может быть, но вот 2000-4000 — вполне достаточно.
Никогда не нужно делать какие-то свойства без ограничения размера если вы всерьез беспокоитесь о стабильности работы софта.

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

Нифига :) Пользователи склонны к тому чтобы делать разные настройки. Согласен, тут нужно либо привлечь UI/usability-спецов для описания реализации дефолтных настроек, либо собирать статистику использования на стадии альфа/бета тестирования.

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

Какой ужас! Никогда не буду пользоваться Сафари. Почему это браузер за меня решает что делать с моим контентом?

> Гугл Хром сам скачивает и устанавливает обновления без единого окошка.

Это тоже не есть гут. Все действия должны быть явно инициированы пользователем (либо явно указать в настройках «да, скачивать и устанавливать обновления автоматически», либо выкидывать окошко «тут эта, обновления появились… будем скачивать и ставить?»).
А что если я сижу на дорогущем GPRS в роуминге, а браузер мне тут обновлений на штуку баксов накачает?
Согласен и еще могу добавить:
— Вообще автоматы в ПО это хорошо, но должны быть подключаемыми/отключаемыми. Хром обновляется конечно как последний гад, хотя для 95% людей это хорошо и для меня в 90% случаев ибо у меня коммуникатор и PS имеют безлимитные трийфы и меня не заботит сколько скачалось, в роуменге — жесть !!!.. Но опять если автор поста программист, то понимает, что когда машина делает то, что ты ей не приказываешь это не приятно, вот когда скажешь «делай это за меня» — это другое дело.
— Я так понял что автор клонит в сторону «чем меньше настроек тем лучше — они уже должны быть созданы для тебя». Ну сделали лопату, у нее выдвигающаяся(настраивающаяся) ручка под карликов и под обычных людей — это хорошо когда она настраивается, а по умолчанию настроена на обычного. Так же и с ПО, у меня например в фоне обоев исключительно черный экран и наиболее брутальный интерфейс без анимации. У многих других и, наверное, у автора по-другому. И кто придумал всякие темы у браузера ???
— Ограничение полей: Как вы собираетесь оптимизировать софт ??? Это не сходится с желанием автора увеличить скорость софта. Действительно давайте хранить индексы в бесконечном текстовом поле ))))))), производительность упадет минимум в 2 раза. Представьте автор — вконтакте станет работать в 2 раза медленнее, миллионы людей повесятся и станут моментально одинокими.
— «Не могу создать проект, папка уже существует (пустая).» — Это просто недописанный софт ибо у вижуал студии есть галочка «создать директорию». Дописанного софта не бывает.

Вообще можно долго продолжать, но это основное.
Вывод: юзабилити должно быть, настройки должны быть подключаемыми (авто-заполнение, интеллект, etc), оптимизация — есть ограничения определенных параметров что бы получить плюшки (найти экстремум на графиках производительности и других параметров например размер полей) -1 автору за простое непонимание теории оптимизации.
Ну сделали лопату, у нее выдвигающаяся(настраивающаяся) ручка под карликов и под обычных людей
И что, вы купите такую лопату? Я вот куплю исключительно под себя, потому что среди прочего она еще и надежнее будет.

настройки должны быть подключаемыми (авто-заполнение, интеллект, etc)
Вот в этом случае я с вами, пожалуй, расхожусь. Я ненавижу собирать программы из плагинов, я люблю сразу хорошо работающие вещи.
Я ненавижу собирать программы из плагинов, я люблю сразу хорошо работающие вещи.
А я предпочитаю кастомизацию, и ненавижу программы, считающие что они умнее меня.
> А вы не подумали про людей, которые могут специально и злонамеренно забивать канал/память/базу всякой фигней?

Те, кто придумал капчу, тоже так рассуждали.

> Почему это браузер за меня решает что делать с моим контентом?

Потому что это удобно и то, что я хочу и что я по факту и так делаю.
> Те, кто придумал капчу, тоже так рассуждали.

И какое отношение имеет капча к обсуждаемому вопросу?
Что с ней не так кстати? Свои функции в 99% случаев вполне успешно выполняет, лично наблюдал не раз и не два.

> Потому что это удобно

Отучаемся говорить за всех :)
Не знаю как капча не пускает ботов на ресурсы, но вот человеку может быть затруднительно попасть. Капча хабра не исключение — иногда 3-4 раза вводить приходится.
Для логина кстати давно бы уже прикрутили openID. Дико удобная штука, и никаких капч не нужно.
Слушайте, а подскажите, как openID решает проблему ботов? То есть почему я своим ботам не могу создать openID провайдера и генерировать их сколько влезет?
Решение простое — разрешать логин только через доверенных провайдеров.
А на этих провайдеров как логиниться? Через капчу? :)
Ну и еще есть штуки типа Janrain/rpx.
Всегда бесила обязательность перезагрузки после установки обновлений Windows, а если отказываешься, то постоянные напоминания об этом, которые отрубить штатными средствами и даже свернуть нельзя! В результате приходилось окошко с предложением перезагрузки за уголочек перетаскивать за края экрана, чтобы не мешалось. Хорошо в 7 сделали возможность отложить на 4 часа, а не как в ХР всего на 10 минут, если не ошибаюсь.
А в W7 эта выскакивалка еще и сворачивает полноэкранные приложения, чтобы напомнить о себе.
gpedit.msc поможет в случае недомашней XP и 7 поставить значение этого интервала побольше.
Забавно, кстати. Симбиоз гордыни и беспомощности. Если w7 нужно обновиться — не дай бог не заметишь уведомление, пройдет 15 мин — все закроет ничего не спрашивая, ведь это ЕЙ надо перегрузиться.
Но если же это надо МНЕ, если я жму кнопку «выкл» на системнике… из какого нибудь блокнота вылезет «сохранить текстовыйдокумент1?», и привет. «Эта программа не дает Windows выключить компьютер». Так и будет висеть вечно. И даже на диалог-то не ответишь — все заблокировано, будь добр отменить выключение либо принудительно все позакрывать. Отменишь, разберешься с блокнотом, снова тыкаешь в кнопку… о, еще кому-то сохраниться надо.
Вообще не понимаю, на черта сделали в висте и W7 эту блокировку. В XP было получше — закрывалось, спрашивало, но хотя бы давало ответить.
Пример для пункта 2.
Опера — модальные javascript окна блокируют только текущую вкладку, да и то, можно отключить яваскрипт на странице из этого же окна.
Это очень удобно.
Да не только JS. Например, модальные окна basic auth не мешают переходу к соседней вкладке.
НЛО прилетело и опубликовало эту надпись здесь
В целом мысли верные и с указанными проблемами встречаешься тут и там.
Если немного подробнее…

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

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

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

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

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

Спорно и сильно зависит от, непосредственно, случая.
Естественно ограничения на почве «да мне лень менять тип колонки в БД» или же «а давайте порежем сообщение до 1000 символов!» совершенно глупы.

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

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

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

Действительно большинство глупых вопросов (особенно из серии «О нет, папка уже существует! Что делать? Сохранять в неё опасно!») можно и избежать, но с остальными, к сожалению, вряд ли можно что-то сделать. Как, например, при перезаписи файлов.

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

Я бы, если честно, поставил данный пункт на 2ое место после медлительности, так как с этим надо бороться на корню.

Гордыня

Аналогично несамостоятельности — некоторые глупые уведомления можно, действительно, не показывать. Но обычно это всё дело настраивается (можно отключить попапы/уведомления/что-то ещё в настройках) — это уже скорее к исходной ненастроенности приложения.
«О нет, папка уже существует! Что делать? Сохранять в неё опасно!»

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

Перезапись файлов частный случай существующей папки. Ну запиши ты 100500 файлов, которые не перезаписываются, а об единственном перезаписываемом спроси не блокируя весь процесс записи на 51,8%…
А если серьёзно, то многие аргументы меня просто удивили.

1. Медлительность
Вы запускаете Фотошоп и успеваете прочитать пару записей в блоге.
(У меня он запускается в течении 8-15 секунд в зависимости запущено что-то ещё или нет. На ноутбуке стоит лёгкая версия, т.к. он слабее рабочего ПК. Часто люди устанавливают фотошоп со всем паровозом который им не нужен. Это примерно как начали возмущаться на Висту, но прочитать её требования всех обламывало.)

2. Оставлю без комментариев.

3. Неуместные ограничения
— Описание не может быть длиннее 1000 символов. (По статистике описание редко кто читает, а кто читает после 1000 символов перестаёт. Вот и придумали ограничение. )
— Название категории не может содержать пробелов. (Первоначально ограничение я вводил, т.к. лень было работать с большим количество слов. Потом ввел ограничение на количество символов. Согласитесь, название категории в целый абзац.)
— Вы должны вступить в блог, чтобы прочитать запись из него. (Совершенно нормальное явление, хотя предпочитаю прочитать: «вступить в блог чтоб написать в нём».)

4. Ненастроенность
— Первым делом в текстовом редакторе вы меняете шрифт и включаете автосохранение. (Я шрифт не меняю, и как ни странно автосохранение стоит по умолчанию. Шрифт меняете вы исключительно из своих побуждений. Либо каких либо правил. К примеру в универе требовали определённый. Но там и отступы были другие. Если Word будет подстраиваться под каждый универ и организацию, он будет по часу загружаться. И задавать кучу тупых вопросов. Откуда вы? Чем занимаетесь?)
— Первым делом в браузере вы убираете ненужные панели и включаете сохранение паролей. (Панели я не устонавливаю, и сохранение паролей не отключаю. Я только запрещаю сохранять несколько штук. Остальные легко восстановить, даже если стащат. Ну и паранои у меня нет, если прочитают мою переписку в контакте я не расстроюсь.)

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

Далее в общем:
Программа говорит голосом, отключите голос. Не устраивает, смените продукт. Либо соообщите атору, если писем будет много они отключат её по умолчанию. Имя из латинских букв как правило на международных проектах. иностранцам будет сложно к вам обращаться. то вам нужна самостоятельность, то не нужна. В общем для вас придумали настройки программы. Скажу по секрету, они придуманы для удобства :)

Как рекомендации это учесть можно, но как правило не в коем случаи.
Вы молодец, вижу, у вас все хорошо.
Предупреждает, куда лучше чем он сделает это сам и не уведомит
Программа сама должна отвечать за внутреннюю структуру репозитория, а знать не знаю что там за компактификация, я тут картинки рисую. Учили когда-нить дизайнеров гиту? Я постоянный стыд за программистов при этом испытываю.

Если файлов много и она начнёт их обновлять то система начнёт подвисать, а вы на неё возмущаться, что она тормозит
А так она дождется, когда я это увижу, нажму кнопку и только потом начнет тормозить. Вы же не думаете, что я передумаю искать?
Ну с «компактификация» я действительно не знаю зачем он это пишет. Хотя когда я делал открытку девушке 2 на 5 метров, он должне был написать. И фотошоп подвисал. Но появлялась надпись сжатие. Тут наверно больше переводчики намудрили.
Вот смотрите, у меня идёт передача рекламного исходника, а и тут неожиданно друга программа начинает тормозить всю систему. Вот для этого она и спрашивает, может вам минут 5 надо подождать, а затем начать поиск. Это дело сугубо индивидуально. И скорей всего предупреждение появляется не просто так, а т.к. кто-то уже столкнулся с произволом программы на ПК.
Это git, и уверяю вас, оно там появляется только потому, что сделать это было проще всего (я находил тред, где историю этого окна обсуждали).
не буду спорить, не знаю эту историю :)
Откуда в git окна?
там сообщение в консоли и окно в git gui.
Сохранить документ который вы писали 7 часов? — Нет. — Упс…

Тут уж, извините, пользователь сам виноват, а не программа с её «забывчивостью». При этом наверняка была функция автосохранения, которую можно было включить.
Ага, и ещё злорадно так — «вот баклан, про CTRL+S не знает, гы-гы».
А что, сложно самостоятельно в фоне сохранить работу, пока пользователь работает? И желательно с историей правок. Или просто сохранять постепенно историю правок.
Я понимаю, раньше было сложно — мало памяти, слабый проц, ну а сейчас?

На что нам нужны 2-8 Гиг оперативки, 2-8 ядер процессоров, винчестеры по нескольку терабайт? Разве не для комфорта? Имея несколько ядер, при желании можно параллельно не только сохранять данные, но и паковать их сразу.
Новая макось ждёт вас :) В ней как раз всё это реализовали.
Это хорошо. Они и тайммашин сделали, тоже хорошо.
Но везде свой дёготь…

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

У меня есть сомнения, что эту ситуацию изменили. И она нифига не юзерфрендли. На мой взгляд, даже не логична. Поскольку работа с папками пришла в компьютер из жизни. А там, когда мы содержимое перекладываем, листы из папок сами не пропадают.
Я сам не обновлялся ещё, но у товарищей юзал. Сам видел, как при копировании с коллизиями, теперь кнопки не только «заменить» и «отменить», но и «оставить обе» (к имени одной добавляется «- копия» — поведение как при восстановлении файлов из машины времени). А вообще, пишут, что это одна из фишек новой системы: «Если перетащить одну папку на другую папку с таким же именем, Lion предложит объединить файлы этих папок в одном месте.»
Пользователи пришедшие из мира ПиСи таки их доконали.
Ага, там даже ресайзить окна можно с любой стороны :)
Точно писишники доконали. Не стал упоминать о ресайзе, а вы сами указали на этот момент. Странно, что этого раньше не было.
Пожалуй, функция автосохранения должна быть включена по-умолчанию.
Здесь абсурден сам вариант диалога, в котором кнопки «Сохранить» и «Не сохранять» имеют одинаковый вес.
Я бы сказал грубее — если я делал правки, то с какого перепугу программа думает, что они мне потом не нужны? Да еще и блочит! Не хотелось бы мне сохранять — я бы выбрал в меню команду «выход без сохранения». Ах, нет такой команды? Можно только трансректально?
Действительно серьезный недостаток — медлительность. К сожалению, многие разработчики считают что завтра у всех обязательно будет стоять на столе последней модели процессор и их программа сможет пользоваться им на все 100%. Потом выясняется, что и процессор послабее, и памяти поменьше, и работать надо параллельно с целым зоопарком (да еще и не мешать ему, потому что он тоже важен). Результат — покупать софт не хотят, потому что он требует намного больше разумного.
Ох, автор, искренне с вами согласен. Как раз в последние дни хочу обсудить с хабравчанами похожую тему в отдельном посте, и поднятые вами в этом посте проблемы являются её частным случаем.

Хочу добавить претензии к сайтостроителям, всё наболевшее:
1. Глупые рандомные ограничения на максимальную длину пароля: «12 символов», «20 символов». Я пользуюсь менеджеров паролей и он автоматически генерирует меня пароли заданной длины (64 символа). И вот из-за таких глупых ограничений мне приходится вызывать в отдельное окошко генерации, задавать упомянутое ограничение и перегенерить пароль заново.
Ну какая разница какой длины пароль, если его хеш (вы ведь храните пароли в хешах, а не в открытом виде, так?) всё равно занимает фиксированное число байт.

2. Бывает ещё хуже: на сайте хтмльный input для пароля имеет ограничение для вставляемого текста, и при этом не установленного никакого скрипта, следящего за тем, что реально было вбито в поле и не превышено ли ограничение. В итоге получается такая нехорошая ситуация: я копирую и вставляю свой длинный пароль (64 символа) в поле, а из-за ограничения его длины он урезается до ~12 символов, о чём я, конечно «ни сном ни духом», ибо сайт и не думает мне об урезании сообщать. А в кружочках, скрывающих символы пароля не разобрать, что там реально вставилось.
Регистрация проходит якобы успешно, я активирую письмо, пришедшее на email, и… не могу войти на сайт. Ругается на неправильный логин/пароль.
Приходится проводить процедуру восстановления забытого пароля, генерировать новый…

3. Ну и не могу не упомянуть прочие тупейшие ограничения, вынуждающие пользователя по 10 минут просиживать за окном регистрации вбивая обязательные данные в духе «домашний адрес», «кличка домашнего животного», «половая ориентация» и пр.
Запомните: всё, что вам нужно знать о пользователе, это его email и пароль! Всё! Остальное при желании он укажет сам, в своём профиле после регистрации.

4. Я думаю нет смысла говорить о набивших всем оскомину хитрозакрученных капчах.
Особо ситуация усугубляется тогда, когда после каждого неправильного ввода ВСЕ вбитые значения в полях стираются и их приходится набирать заново. Это уже полнейшая жесть, которой не место в 21 веке.
Прошу прощения за большое количество опечаток, писал в сердцах.
Вставлю свои 7 копеек.

1. Медлительность — больше всего бесит не в фотошопах и прочем профессиональном софте, а в браузерах и ОС. И сервис-паках.

В 2001 году я поставил Windows XP на Celeron 633 с 64 МБ памяти, и она там работала без особо заметных тормозов. Даже когда один модуль памяти сдох и осталось всего 32 МБ, система продолжала с тормозами, но работать (переустановить ее на тех же 32 МБ не удалось из-за проверки конфигурации железа установщиком).
Сегодня на EeePC с 512 МБ штатная, специально заточенная под него XP работает чуть быстрее, чем старая на 32 метрах, но медленнее, чем на 64.

Браузер Firefox я тоже уважаю и использую по умолчанию, но почему на том же целероне его 0.хх-какая-то версия, еще Phoenix, славилась рекордным минимализмом и быстродействием, а сейчас лиса отстает даже от IE? Кстати, время открытия всех браузеров почему-то от версии к версии растет, и 4 ядра + 4 гига этому абсолютно не помеха.

О Windows Vista промолчу, как говорится — есть бета, есть альфа, а есть виста. Но почему бета-версия Office 2010 и весила меньше, и грузилась быстрее релиза, и поддерживала при этом все необходимые мне функции? Кому нафиг нужен такой «релиз»?

2. Модальные диалоги — это песня, точнее целый (s)hit-парад.
На третьем месте — диалоговые окна макросов MS Office, всплывающие в фоне под окном и наделяющие его волшебными свойствами: прокрутить можно, а поставить курсор нельзя.
На втором месте расположились все браузеры, разрешающие яваскриптам открывать модальные окна, в том числе в ответ на выделение или копирование текста на так называемых «защищенных» сайтах библиотек.
И наконец, победитель нашего шит-парада — модальное окно http-авторизации! Эта мегаполезная фича блокирует любые попытки вставить пароль из других вкладок, заставляя пользователя запоминать наизусть сочетания символов вроде s$%ds64!-dfA и тем самым способствуя развитию его умственных и творческих способностей!

3. Гран-при за неуместные ограничения получает коллектив гомосексуальных сотрудников компании Oracle, славящийся своим умением жестко прописывать ограничения на размер строковой переменной по длине ее англоязычной версии. В результате пользователи русской локализации экономят время и усилия, читая каждый раз вместо длинного и монструозного слова «Нет» простое и короткое «Не».

4. Проблема настроенности/ненастроенности, имхо, должна решаться простой страницей мастера установки:
Кто будет пользоваться %program_name%?
Ламер Новичок (все настройки будут установлены по умолчанию и снабжены подсказками для начинающих)
Юзер Обычный пользователь (конфигурация «включил и работай»)
Хакер Опытный пользователь, предпочитающий настраивать все самостоятельно

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

6. Вопрос сохранения/несохранения по умолчанию сводится либо к п. 4 (если при установке явно указано, что юзер предпочитает удобство контролю), либо к п. 5 (разработчику просто в лом было добавить пару строк кода, за которые его никто особо не похвалит).

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

7. Сплэши — нафиг. Вообще. Исключений не бывает.
Кто будет пользоваться %program_name%?
Негры, евреи, арийцы? Люди не делятся по категориям. У них нет критериев решить, куда себя отнести. Людям неприятно признаваться в своей неопытности. Они растут, и вместо одного интерфейса им придется учить три.
дискета, огонь, многоточие
метафоры сделать очевидными куда сложнее, чем текст
Насчёт сохранения вида в Finder:

Это к кокнретной папке относится или ко все вновь открытым?
Ко всем вновь открытым.
Угу, только вот периодически после этого ловлю себя на том, что вручную опять переключаю в него.
Не стирайте .DS_Store.
Да я и не стираю. Хотя при чем тут .DS_Store — я же попросил всегда показывать одинаково…
Это написано на сайте, для формы логина которого не работает сохранение пароля в Опере. А недавно на ней ещё и каптча была :-)
Капча есть, после неудачного логина. А сохранить пароль можно, если временно выключить js.
Хорошо написали, всё так и есть, но только вот я не понял вы этим постом к кому обращаетесь? Если к программистам то это бессмысленно, так как для реализации дополнительных удобств в интерфейсе нужны дополнительные финансовые затраты, а программист человек подневольный, он что будет на свой страх и риск это всё делать?)) К тому же часто используется тот подход в разработке который принят(или просто моден) под определённую ОС или платформу. У Apple, к примеру, жёсткие требования, а в вёбе кто во что горазд.
Если вы обращаетесь к специалистам по юзабилити, так это основы, и они прекрасно описаны в списке литературы.
А если вы обращаетесь с менеджменту, так тут всё просто, кто понимает что такое юзабилити и что оно даёт пользователю, то наймет и специалиста по интерфейсам и выделит дополнительное финансирование. Но вот почему то это бывает редко. Как пример, меня поражает компания Гугл, вроде бы и деньги есть и нанять могут кого хотят, но как сделают какую нибудь новую фитчу, аж волосы везде встают дыбом.
Если вы хотите радикальных перемен, то я думаю, что проще сделать свой фреймворк\платформу и в нём реализовать всё что вы хотите.
Вообще-то решение проблемы защиты качества софта от манагеров, быдлокодеров и прочего корпоративного сброда еще 20 лет назад придумал один финский программист:)
насчет гордыни. виноваты не разработчики, а их тупые начальники, которые хотят, чтобы программа моргала, показывала сплешскрины и пр. муть
Разработчик у меня в общем смысле — группа людей, отвечающих за продукт.
Автор, а вы кроме проектирования интерфейсов, чем еще профессионально занимаетесь/занимались? И сколько времени?

Это не подкол, мне интересно какой у вас опыт. Может вы не в курсе, что все перечисленные «смертные грехи» это не просто ограничения, мешающие работать, а компромиссы с объективной реальностью. Без них все было бы гораздо хуже, в 100 раз хуже. Даже воспеваемое вами неблокирующее взаимодействие это лишь компромисс с медлительностью :)

И когда кому-то удается хоть немного сдвинуть компромисс в сторону удобства, все восхищаются: «Это прорыв!». Но и то не всегда. (Пример: Google Wave. Неблокирующее взаимодействие, медлительность почти побеждена, все запоминается и т.д. Прорыв? Слишком большой прорыв, пользователи не приняли. Инновации тоже нужно дозировать. +1, потом еще +1, еще… :))

К чему это я? Ваша позиция «мне, пользователю, должно быть удобно, и нии… как вы это сделаете» несколько… неконструктивна. Другое дело, показать: вот проблема, вот решение, технологии уже позволяют, противопоказаний нет, но все почему-то продолжают по-старому.
> Слишком большой прорыв, пользователи не приняли.
Они ж не поэтому не приняли.
IMHO поэтому. Из-за естественного, часто здорового консерватизма.
Не «пользователи не приняли», а компания слишком много от них требовала. Так же как и с Google Health, некоторыми API, сканированием газет и другими зарубленными проектами вплоть до Labs.
Гугл еще будет кусать локти об этих решениях и проклинать тех, кто их принимал.
А что из описанного нельзя было реализовать хотя бы пять лет назад? Мне кажется, я ничего ресурсоемкого или особенно непонятного не предлагаю. Главным книгам по юзабилити уже лет десять. Другое дело что производители срать хотели мало волнует то, кто и как будет пользоваться их продуктом, пока люди и привыкли к неудобным нелогичным вещам.

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

P.S. Вы с пользователями тоже так общаетесь — вопросом на вопрос? (Это намек, что ответ по-прежнему интересен)
А, точно, хотел же вам цитату из начала статьи, где сразу было написано, что я все понимаю:
Я сам, как проектировщик интерфейсов и программист, с одной стороны вижу проблемы, а с другой понимаю, что одним мановением руки они не решаются, и во многих случаях у компромисса есть объективные причины.
Про чем я занимаюсь — tonsky.moikrug.ru

Можно разобрать конкретный пример. Предлагайте.
Давайте возьмем неблокирующее взаимодействие. Не терпится узнать, где здесь компромисс с медлительностью.
Про чем я занимаюсь — tonsky.moikrug.ru
Спасибо, теперь я вижу, что мы говорим на одном языке. :)

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

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

Вот вам примеры: Фоновый рендеринг Final Cut Pro? Автоматическое обновление Хрома? Восстановление после крэша ИнДизайна?
Кажется мы потеряли первоначальную нить нашей дискуссии. Я не стану вас опровергать, я останусь при своем мнении.
Меня просто не хватит на столько же, как SegaZero :)
Я слово давал — я его и заберу. Хозяин барин
Не обижайтесь. Для меня было важно увидеть, что вы «готов понять и принять ограничения, накладываемые возможностями железа, программ, человеческого организма». Этого достаточно.

P.S. У вас в блоге есть неплохие заметки, достойные быть и здесь.
А давайте попробуем довести эту идею до абсурда — устраним вообще все ограничения.
Ну, например, сделаем сайт, который одновременно форум и файлопомойка типа rapidshare. Модерация одновременно есть, и одновременно ее нет и еще одновременно она есть в стиле slashdot. Регулируется это натягиваемыми скинами, которые пишут энтузиасты — пользователи. Т.е. есть например скин, который показывает только посты пользователей пришедших по инвайту, и еще не длиннее 500 слов и еще в латинице и кирилице и без мата. Или наоборот только с файлами в формате, который может быть музыкой или видео. Ну и так далее. Т.е от 2chan до президентского блога.
А почему нет?
Так это как раз жутко ненастроенная и несамостоятельная система будет. В ней сразу потеряются.
НЛО прилетело и опубликовало эту надпись здесь
Есть вот такая полезная книга:
Стивен Сеов. Проектируем время.

Там есть несколько глав о том, как распределить длительные действия программы и взаимодействие с юзером оптимальным образом и о том, как дать юзеру меньше поводов ругаться на тормоза программы.
Первым делом в браузере вы убираете ненужные панели и включаете сохранение паролей.
Как раз наоборот.
В общем тру вещи, но если начинать разбираться — то половина из них так и должна работать.
Или в итоге мы получим анархию.
И снова будет лепить тот же велосипед.
Как автор изящно описал QIP =)) Особенно в 7 пункте
Пропустил фразу «программных систем» в заголовке.
Думаю, что справедливо и для людей с небольшими поправками.

Публикации

Изменить настройки темы

Истории