Category: it

snowman

Кем я работал

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

— Автор статьи в техническом журнале
— Актёр
— Верстальщик
— Молодёжный вожатый
— Писатель
— Преподаватель CorelDraw
— Преподаватель программирования
— Программист
— Системный архитектор

Как-то беловоротничково всё вышло.
snowman

Ошибка на единицу

В программировании есть понятие «ошибка на единицу». Так называют не просто ошибку, в результате которой ответ отличается от правильного на единицу, а особую категорию ошибок, вызываемых неправильным учётом первого или последнего элементов набора. Самый характерный пример ошибки на единицу — так называемая ошибка заборного столба. Если вы ставите прямой забор длиной 30 м со столбами через каждые 3 м, то сколько столбов вам необходимо? Очевидный ответ «10» ошибочен: хотя забор состоит из 10 трёхметровых отрезков, число столбов на единицу больше числа отрезков. Правильный ответ — 11 столбов.

Ошибки на единицу очень неприятные, потому что, даже когда учёл их, всегда остаётся лёгкое сомнение в том, что учёл правильно. В нужную ли сторону скомпенсировал? С 5 по 10 число включительно — это сколько дней? А сколько ночей? А не наоборот? Каждый раз приходится останавливаться и думать.

В быту есть множество ситуаций, провоцирующих ошибки на единицу или похожие на них. Больше всего меня раздражает то, как мы говорим о времени суток. Во-первых, мы говорим о ещё не наступившем часе: «пять минут седьмого» означает шесть часов и пять минут, а не семь часов и пять минут. Не забыть применить поправку на единицу, причём в правильную сторону! Во-вторых, мы пишем, к примеру, «17», а говорим «пять», что звучит почти как «пятнадцать». Но нет. Семнадцать — это пять. А пятнадцать — это не семь. И полпятого — это не семнадцать-тридцать, а 16:30.

Collapse )
face

Как я несправедливо отказал женщине в приёме на работу

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

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



Collapse )
face

Почему среди программистов так мало женщин

Сегодня меня, как представителя профессии, спросили: а почему девушек-программистов мало? Вопрос большой и сложный, и однозначного ответа на него я не знаю. Ни один из распространённых вариантов ответа меня не убеждает, по крайней мере, когда речь идёт о развитых странах. Понятно, что на эту тему исписаны тонны бумаги, но я всё-таки, не претендуя на оригинальность, изложу свой взгляд на причины того, что, несмотря на первенство Ады Лавлейс, среди программистов сегодня преобладают мужчины.

Если бы мой пра-пра-прадед в XIX веке знал, что такое программирование, он, не сомневаясь, ответил бы, что женщины не могут быть программистами, потому что для этого нужно много ума. Интеллектуальное превосходство мужчин не оспаривалось до начала XX века, когда психолог Льюис Терман (Lewis Terman) экспериментально доказал, что средний показатель интеллекта не различается существенно у мальчиков и девочек.

Collapse )
face

Дети и Linux

Бенджамин показывает на лампочку дисковой активности на моём ноутбуке и спрашивает: «А почему эта лампочка мигает?»

Я объясняю: «Это означает, что компьютер сейчас или читает что-то с диска, или записывает на диск». — «А как узнать, читает или записывает?»

Так мой пятилетний сын познакомился с утилитой iotop.

UPDATE: А потом ребёнок спросил, зачем нужно надевать горнолыжный шлем, и я объяснил, что голова нуждается в особой защите, поскольку в ней находится мозг, в котором и заключено сознание человека. Потом мы посмотрели на YouTube ролик, где паталогоанатом извлекает из трупа мозг и рассказывает, как он устроен; я объяснил, что мёртвые тела иногда разрезают, чтобы понять, как устроены живые люди, и как их лечить, если они заболеют.

snowman

Тест Тьюринга

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

Collapse )
moby

Минимум необходимого

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

Collapse )

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

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

В верхней части окна находится комбинированное поле, совместившее в себе функции адресной строки, индикатора безопасности, заголовка окна и поля поиска. URL — это техническая информация, которая пользователя не интересует; важно только, на каком сайте и на какой странице он находится. Название сайта автоматически верифицируется посредством сертификата. Единственная индикация безопасности — цвет этой строки: зелёный, если всё хорошо, красный, если плохо. Пользователь не обязан разбираться в таких тонкостях, как SSL или доменные имена, поэтому судить о том, достаточно ли безопасна страница, приходится браузеру. Если ситуация небезопасная, то в красный цвет окрашивается и основное поле окна, потому что иначе внимания пользователя не привлечь. При щелчке мышью на этой строке она становится белой и очищается, и в ней можно печатать. Вводимый текст всегда ищется в поисковой системе (в той, с которой договорился производитель браузера). Если какой-то чудак всё-таки введёт по старой памяти URL, это сработает.

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

В нижней части окна находятся восемь гнёзд, заменяющих табы и закладки. Технически они ближе к табам: каждое из восьми гнёзд является как бы отдельным окном браузера с собственной историей перехода по страницам. Щелчок по гнезду выбирает его, перетаскивание изменяет порядок, перетаскивание ссылки на неактивное гнездо открывает ссылку в указанном гнезде. Активное гнездо выделено рамкой и формой самой рабочей области в виде стрелочки. Гнёзд всегда ровно восемь, нельзя ни добавить, ни убрать. Обычному пользователю больше восьми не нужно, а интерфейс для добавления, удаления и прокрутки внёс бы лишнюю сложность. При первом запуске гнёзда заполнены рекомендуемыми популярными сайтами, а при каждом следующем сохраняют своё содержимое и историю переходов. Таким образом, они заменяют и закладки: часто используемый сайт можно просто всегда держать в одном из гнёзд.

Пользователю будущего картинки куда милее слов, поэтому в гнёздах отображаются логотипы сайтов. Для старых сайтов применяются эвристики для определения, где на странице логотип, а современные смогут воспользоваться новым API. Этот API позволит странице сообщать браузеру, что именно нужно показывать в гнезде, и даже изменять это содержимое динамически. На иллюстрации Google показывает строку поиска и число найденных страниц, LiveJournal — имя пользователя, чей журнал открыт, а Gmail — число непрочитанных сообщений, причём последнее обновляется даже в неактивном гнезде.

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

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

Poll #1226287 Браузер будущего (Browser of the future)

Сбудется ли мой прогноз? (Do you think my forecast will come true?)

Да, непременно. (Yes, definitely.)
12(12.9%)
Скорее всего. (Most likely.)
43(46.2%)
Вряд ли. (Hardly.)
27(29.0%)
Нет, исключено. (No, it's impossible.)
11(11.8%)

В каком году наиболее вероятно исполнение прогноза? Не заполняйте, если считаете, что он не сбудется. (In what year is it most likely to come true? Skip if you think it won't come true.)

Mean: 2025.29 Median: 2020 Std. Dev 14.19
2010
12(17.6%)
2020
31(45.6%)
2030
12(17.6%)
2040
8(11.8%)
2050
4(5.9%)
2060
0(0.0%)
2070
0(0.0%)
2080
0(0.0%)
2090
0(0.0%)
2100
1(1.5%)

Что из перечисленного, по-вашему, никогда не исчезнет из интерфейса браузеров? (Which items do you think will never disappear from the user interface of web browsers?)

URL в адресной строке. (URL in address bar.)
4(4.5%)
Закладки. (Bookmarks.)
0(0.0%)
Переменное число табов. (Variable number of tabs.)
0(0.0%)
Отдельное поле поиска. (Separate search field.)
0(0.0%)
Индикаторы безопасности. (Security indicators.)
2(2.3%)
Строка заголовка окна. (Window title bar.)
0(0.0%)
Меню. (Menus.)
0(0.0%)
Настройки. (Settings.)
0(0.0%)
Переменные размеры окна. (Changeable window size.)
2(2.3%)
Полосы прокрутки. (Scrollbars.)
2(2.3%)
Индикаторы хода работы. (Progress indicators.)
1(1.1%)
Отображение недогруженных документов. (Rendering of incompletely loaded documents.)
0(0.0%)
Кнопка «Вперёд». (Forward button.)
0(0.0%)
Кнопка «Домой». (Home button.)
2(2.3%)

In English: Barest Necessity
snowman

Забивание шурупов гаечными ключами

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

10. <meta name="keywords">. С помощью этого элемента HTML предлагалось перечислять ключевые слова, к которым имеет отношение веб-страница, чтобы помогать поисковым машинам находить страницы по этим словам. Разумеется, владельцы некоторых страниц, готовые раскручивать их любыми способами, «помогли» так, что по популярным ключевым словам можно было найти всё, что угодно, только не то, что искали. Начиная с 1998 года, поисковые машины стали отказываться от использования этого элемента. Последняя из поисковых машин, продолжавших учитывать <meta name="keywords">, прекратила делать это в 2002 году.

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

8. Рабочий стол Windows. Рабочий стол был задуман как место, где пользователь может временно сложить документы и другие файлы, над которыми он работает, ярлыки к часто используемым программам и подобные часто используемые объекты. Так и происходит, вот только каждая вторая устанавливаемая программа считает, что ею будут (или должны) часто пользоваться, и на этом основании добавляют себя на рабочий стол. Подобный мусор перемешивается с действительно нужными файлами, создавая полный бардак. В одной из версий Windows появилось нововведение — Мастер очистки рабочего стола, пытающийся угадать, что на рабочем столе пользователю нужно, а что — мусор.

7. Область индикаторов в Windows. Эта область, часто неправильно называемая system tray, предназначена для отображения программами оперативной информации о своём состоянии, что удобно, потому что она непрерывно видна. Сейчас у типичного пользователя Windows там находится порядка десяти значков, назначения большей части из которых он не знает. Эти маленькие программы делают всё, что угодно (автору): предоставляют функции быстрого запуска «своей» программы, уведомляют об обновлениях, показывают рекламу — но, разумеется, не отображают никакого оперативного состояния. «Гениальное» решение Microsoft по лечению аппендицита обезболивающими, реализованное в Windows XP, заключалось в том, чтобы скрывать «индикаторы», которых пользователь не хочет видеть, вместо того, чтобы предоставить средства для определения, откуда что взялось, и удаления всей этой гадости.

6. Автоматический запуск программ при входе в Windows. Некоторые программы, например, переключатель раскладок клавиатуры, действительно имеет смысл запускать автоматически, но возможность для программы «прописаться» в списке автоматического запуска — счастье для авторов всевозможных шпионских, рекламных и прочих зловредных программ. Ситуация осложняется тем, что таких списков несколько, и о большинстве из них обычный пользователь даже не знает. Существует множество программ, позволяющих «почистить» эти списки. Удивляет бездействие самих Microsoft по этому поводу: при их щепетильном отношении к безопасности в Windows Vista они всё равно позволяют программам уютно устроиться в списке автозапуска без ведома пользователя.

5. Текстовые процессоры. Эти программы были придуманы для того, чтобы легко (по сравнению с издательскими системами) подготавливать к печати документы с преобладанием текста и без исключительных требований к типографике. Для многих современных пользователей понятие «текстовый процессор» стало неотличимо от «текстовый редактор», и сложные, тяжёлые форматы файлов текстовых процессоров зачастую используются для хранения и, хуже того, пересылки вообще любых текстов. Крайний случай — пустые электронные письма с вложенными файлами в формате Microsoft Word. Многие сервера списков рассылки автоматически удаляют такие письма или вложения из них, чтобы не раздражать подписчиков и не транжирить трафик. Сюда же, наверное, можно отнести использование электронных таблиц для хранения и пересылки простых списков без каких-либо вычислений.

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

3. Определение браузера. Все веб-браузеры «представляются» серверам, чтобы те могли определить, какой браузер у пользователя, и в зависимости от результата выдать ту или иную оптимизированную версию веб-страницы. Не знаю, откуда у авторов веб-сайтов появилась эта идея, но многие из них посчитали, что, раз уж они «поддерживают» определённый набор браузеров, то всем остальным нужно просто-напросто отказывать: видимо, не выдать вообще никакой страницы — лучше, чем выдать возможно неработающую страницу. Способов определения браузера существует множество, причём некоторые из них — по приметам, путём проверки на характерные особенности. Все современные браузеры так или иначе умеют притворяться другими, более популярными, чтобы их пользователи не натыкались на отказы. Не избежал этого и нынешний лидер рынка: ещё в первом эпизоде браузерных войн Microsoft вынуждены были заставить Internet Explorer представляться как «Mozilla 4.0 (compatible; MSIE …)», что продолжается и по сей день.

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

1. Электронная почта. Один из важнейших в нынешнее время способов связи — электронная почта — страдает от самой серьёзной проблемы, связанной со злоупотреблением технологией. Согласно различным оценкам, 85–90% всей электронной почты, пересылаемой в мире, является спамом. Совокупный мировой ущерб от спама, включая потерю времени, технических ресурсов, а также меры по борьбе, исчисляется сотнями миллиардов долларов в год, тогда как затраты отправителей спама смехотворны. Технические средства для борьбы со спамом весьма разнообразны, но ни одно из них не решает проблему полностью. Спам ставит под сомнение практику публикации своего адреса электронной почты как реквизита для связи. Опасаясь роботов, собирающих адреса на веб-страницах, многие пользователи избегают публиковать свои адреса на форумах и других открытых ресурсах или искажают адреса, например, заменяя знак @ словом «собака».

In English: Hammering Screws with Wrenches
face

iРозетка

Меня иногда спрашивают: за что, мол, не любишь Apple? Ведь хорошие вещи делают, красивые, удобные, которые «просто работают» («just works»)!

Для того, чтобы одни предметы работали (и особенно «просто работали») с другими, существуют стандарты. У всех электроприборов вилки одинаковой формы, и поэтому их можно включать в любые розетки того же стандарта. Для того, чтобы включить в розетку пылесос Siemens, не обязательна розетка именно Siemens. Любой может сделать розетку, в которую можно включить пылесос Siemens. Любой пылесос можно включить в ту же самую розетку. Хозяин дома выбирает себе поставщика электричества или даже вырабатывает электричество сам. Пылесос Siemens будет по-прежнему работать в новой квартире после переезда, потому что там такие же розетки. Даже у эскимосов, которые живут в иглу и пасут пингвинов, есть розетки, в которые можно включить пылесос Siemens.

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

Collapse )

UPDATE: Нет, это не реклама Siemens. Просто нужно было на ком-то показывать.

UPDATE: Справедливости ради скажу, что к отделению Apple, которое занимается браузером, претензий нет. Этим товарищам спасибо за достойную и добросовестную конкуренцию, за активное участие в работе по выработке новых веб-стандартов и за оперативное взаимодействие с коллегами-конкурентами по вопросам безопасности.

In English: iSocket
snowman

Ворчание о дружественности

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

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

Ой, говорит производитель. Мы-то и не думали рассчитывать на каких-то там специалистов! Как же так получается, что пользователей наша программа отпугивает? Надо нам поработать над интерфейсом, а то мы всё только над функциями да над функциями. У нашей программы должен быть дружественный интерфейс! К обычному пользователю, стало быть, дружественный, то есть к тому самому, который до сих пор пользовался продуктами конкурентов, а нашего побаивался. А поскольку дружественный интерфейс, очевидно, у тех, кто этих пользователей сумел привлечь, то у конкурентов и надо учиться.

Проходит необычо долгий для производителя промежуток между релизами. И вот постоянный пользователь, уверенный, что уж он-то, верный программе с версии, скажем, 2.0 для MS-DOS, и есть самый обычный, устанавливает себе новую версию, скажем, X, как теперь модно обозначать 10.0. Вот что он обнаруживает:
  • Меню, панели инструментов и клавиатурные команды организованы так же, как у конкурентов, включая их традиционно нелогичные ходы (например, когда конкурент по непонятной причине помещает команду «Настройка» в меню «Правка»).
  • Возможности, которые не нужны 80% пользователей, убраны куда-нибудь в «Дополнительные возможности», «Особые функции» или «Специальные параметры». Особенно это касается тонких настроек. Беда в том, что для каждой такой возможности те 20%, которые ею пользуются, — разные, и на самом деле большинству пользователей нужна хотя бы одна из относительно редких функций.
  • Возможности, которые не нужны 95% пользователей, удалены.
  • Оставшиеся после чистки кнопки на панелях инструментов увеличились в размерах и приобрели текстовые подписи в надежде, что их заметят.
  • Программа начала думать за пользователя и предлагать всякого рода догадки, подсказки и автонастройки. В тяжёлых случаях это делает программу не на шутку медленной. Это особенно актуально, когда пользователь сам знает, что он имеет в виду, но не может допечатать, потому что мешают выскакивающие подсказки, или программа занята их вычислением.
  • Появились пошаговые диалоговые окна — «мастера», где на каждом шаге по одному-два элемента, — вместо одного окна со всеми этими элементами сразу.
  • Новые возможности есть, но какие-то странные, зачастую не вписываются по духу и нарушают принципы устройства программы. По ним сразу видно, что при их разработке наконец-то применили Профессиональный Дизайн Интерфейса.
  • У новых функций громкие названия, которые ничего не говорят об их сути, скажем, EasySnap для возможности выровнять объекты по узлам сетки или QuickLink для загрузки файлов в память мобильного телефона. Если честно сказать, как есть, то пользователи испугаются, а так — всё вокруг быстро и просто, и пользователь не напрягается.
  • У новых возможностей функциональные ограничения, не обоснованные технически. Скажем, не больше десяти пользовательских папок — исследования показали, что пресловутым 80% пользователей больше никогда и не понадобится, зато десять влезает в отведённое на экране место без прокрутки.
  • Сообщения об ошибках стали примерно такими информативными, как «Произошла какая-то ошибка». Конечно, 80% пользователей не понимали технических подробностей, которые были в сообщениях раньше, но когда такой пользователь следует совету «обратиться к администратору» и звонит знакомому из оставшихся 20%, тому только и остаётся, что посоветовать: «Попробуйте изменить какую-то настройку».
  • Возможности по интеграции с другими программами или веб-сервисами реализованы не как общие механизмы, которые при желании можно приспособить для любимого продукта, а сделаны в расчёте на самый популярный в данном классе продукт, которым, согласно статистике, пользуются… ну, вы поняли. Скажем, вместо возможности использовать веб-почту для отправки писем — возможность использовать для этого GMail.
  • Программа периодически предлагает обновить себя и даже, бывает, скачивает автоматически новые версии и устанавливает их в обход предусмотренного в операционной системе механизма обновления (это относится к тем ОС, где такой механизм есть). Должна же быть под Linux хоть одна программа, которую легко обновлять, а то там всё так сложно, что непонятно вообще, как люди выживают.

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

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

In English: A Rant on Friendliness