Test the best
Возможность признаться в любви с большого экрана на Немиге.
далее
Баги проектирования существуют уже столько времени, что мы начали дума...
далее
Обзор книжных новинок по программированию за январь.
далее
 
 
люди
разное
СПОНСОРЫ
EPAM Systems
генеральный спонсор
ServiceWare Technologies
ПАРТНЕРЫ
белорусский портал TUT.by
революционная баннерная сеть Red.by
"Компьютерные Вести On-line"
Спонсор доступа в интернет компания Solo
портал белорусских программистов
Первый Белорусский Linux-портал
СТАТЬИ / техника
  10 неотступных багов проектирования. Часть I

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

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

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

Сегодня мы расскажем о 10 лидерах «рейтинга» багов-народных героев.

Баг №1: Последствия проблем с электричеством
Время существования: более 30 лет
Поставщик: производители персональных компьютеров
Кодовое название: «О черт!»
Продукт: персональные компьютеры по всему миру
Баг: если компьютер теряет напряжение более чем на одну тысячную секунды, все данные пропадают.
Класс ошибки: «Именно так делал мой дедушка...»
Принцип: Защитите работу пользователя!
Обсуждение: Как-то случилось так, что самое деструктивное действие, которое может выполнить компьютер, кроме уничтожения данных на жестком диске, стало для нас вполне привычным. Мы стали относиться к тому факту, что при перебоях с напряжением компьютер просто «умирает», просто как к данности.
Если бы автомобили копировали поведение компьютеров, у вас на пути из Нью-Йорка в Майами заканчивался бы бензин в форте Лодердэйле, в 10 милях от места назначения, и внезапно вы оказывались бы снова в Нью-Йорке.
Промежуточное решение проблемы: веб-девелоперы
Храните закодированную информацию в cookie-файлах даже до отправления ее на сервер. Таким образом, вы защитите ее от всех бед, кроме уж совсем серьезных случаев.
Предлагаемое решение: разработчики приложений
Переделайте существующие программы и напишите новые, которые производили бы процедуру постоянного сохранения, так, чтобы пользователи могли потерять разве что пару последних набранных символов или введенных графических знаков. Не забудьте предусмотреть возможности отмены действия и возвращения к изначальному состоянию, позволяющих пользователям начать заново работать с того места, где они начали что-то делать неправильно.
При всех недостатках большинства существовавших до сегодняшнего дня приложений, у них было одно преимущество – никакие новые черновые версии не занимали место старых до того, как мы давали на это свое согласие.
И, кстати, диалоговое окно, говорящее «Это действие не может быть отменено. ОК Отмена», не является подходящей заменой возможности вернуться к изначальному состоянию в любой момент времени.
Предлагаемое решение: операционные системы
Встройте возможность постоянного сохранения и возвращения к изначальному состоянию в стандартную панель инструментов.
Предлагаемое решение: компьютерное «железо»
Добавьте электролитные конденсаторы или сильноточные малообъемные батарейки в системы, не сохраняющие информацию при выключении питания. Достаточно, чтобы они имели энергии на 15-30 секунд. Сделайте так, чтобы в течение 2-х секунд после внезапного выключения напряжения операционная система инициировала переход в состояние ожидания. Таким образом, система будет продолжать работу в течение кратковременных сбоев и будет сохранять результаты вашей работы и выключать компьютер при более длительных перебоях. Такая же защита нужна и пользователям портативных компьютеров.
Баг обнаружен в: 1976
Кем обнаружен: Тогом (Tog) (Прим. ТТВ: автором этой статьи)
О баге сообщено в Apple: 5 марта 1985 года. Цитата из уведомления:
«Век компьютеров, которые моментально отключаются при исчезновении электричества, в будущем станет лишь отметкой в хронологии развития техники. Точно так же, как с появлением телевидения радио значительно потеряло свои позиции. И это не вопрос о том, будет ли Apple заниматься этой проблемой, это вопрос когда он начнет это делать. У нас есть возможность добавить еще одну важную характеристику компьютеров; давайте же ей воспользуемся».
Ждем...
Баг находится в списке с: момента его создания, 1 декабря 2004

Баг №2: Установочный модуль Macintosh
Время существования: Четыре года «с копейками»
Поставщик: Apple Computer, Inc.
Кодовое название: «Классная демо-версия»
Продукт: Mac OS X
Баг: На самом деле существует девять отдельных отчетливо выраженных багов в установочном модуле, вы можете почитать о них подробнее в статье «Девять основных причин, почему установочный модуль все еще является лажей» (EN).
Класс ошибки: Смешивание понятий демо-версии и продукта
Принцип: Демо-версии и продукты – разные вещи. Жизненная миссия демо-версии – помочь продать продукт, в то время как цель продукта – служить пользователю.
Промежуточное решение проблемы: Оставьте установочный модуль таким, какой он есть. Он великолепно выглядит на презентациях, великолепно выглядит в магазинах. Но позвольте пользователю культурно откланяться, когда его недостатки станут явными, и заменить его другими, менее красивыми, но зато более мощными инструментами.
Обсуждение: И проблема даже не в том, что установочный модуль так уж плох в качестве рабочего инструмента. Она больше в том, что, отдав предпочтение ему, Apple отказался от многих гораздо более мощных объектов в его пользу. Мы за то, чтобы нам вернули, в улучшенном и расширенном состоянии, старую версию. О том, как пользователи Mac’ов могут сами исправить эти изъяны, используя программное обеспечение третьих сторон, вы можете прочитать в статье «Сделайте свой Mac машиной-монстром» (EN).
Баг обнаружен в: январе 2000 года
Кем обнаружен: Тогом (Tog) (Прим. ТТВ: автором этой статьи) О баге сообщено производителю: в январе 2000
Баг находится в списке с: момента его создания, 1 декабря 2004

Баг №3: Мистически недоступные пункты меню
Время существования: 25 лет
Кодовое название: «Недоступные и затемненные» или «Серые сомнения» (а теперь попробуйте сказать это громко!)
Поставщик: Apple, Microsoft, Sun, Linux и т.д.
Любимое высказывание: «Ха-ха!» (голосом Нельсона из «Симпсонов»)
Продукт: все графические интерфейсы пользователя
Баг: Дизайнеры не дают возможности пользователям понять, почему определенная опция или пункт меню были сделаны недоступными (серыми), и как можно их активизировать снова.
Класс ошибки: Пользователей дразнят опциями, которыми они не могут воспользоваться, пока не поймут, что же имел в виду дизайнер
Принцип: Интерфейсы должны быть полностью «прозрачными», чтобы пользователям никогда не приходилось думать, какое непредвиденное стечение обстоятельств поможет им воспользоваться наконец определенной возможностью веб-сайт, приложения или системы.
Предлагаемое решение: Сделайте «серые» объекты кликабельными и раскройте для пользователя секрет, почему той или иной объект был сделан недоступным и что он может сделать для его ре-активизации.
Обсуждение: Этот баг существует еще с тех времен, когда люди начали работать с Xerox PARC – устройством, положенным в основу Mac’ов и других появившихся позднее машин.
Несколько десятилетий назад автоматизированные устройства имели очень мало функций. И у пользователя не занимало много времени понять, что причина деактивизации кнопки Print состоит в том, что в данный момент нет документа, открытого для печати. Со временем все стало гораздо сложнее.
Сейчас пользователю может понадобится от часа до нескольких дней, чтобы понять, почему опция была сделана недоступной. Часто в ходе этих поисков причины ему приходится даже звонить производителю ПО. Который, кстати, тоже зачастую не может прояснить ситуацию.
На этот баг слишком долго не обращали внимания, и ситуация стала уже просто критичной. Слишком часто подпункт меню, например, в пункте File, становится недоступным из-за того, что проводятся какие-то манипуляции с другим пунктом, который не имеет никакой явной логической связи с пунктом File или недоступным подпунктом. Ну, если такая связь и есть, то по крайней мере она находится где-то за пределами мира, в котором обитают пользователи.
Программы «знают», почему они сделали недоступным тот или иной пункт. Какое-то решение или решения стали причиной установки флага. В то же время, если уж флаг ставится, то должны быть известны и причины, почему это было сделано. Если пользователь кликает на помеченную серым цветом опцию, ему должна сообщаться четкая причина, а не одно из этих «О боже, это может быть одна из этих 14 причин, или может быть что-то еще». Сообщение, выдаваемое пользователю, должно быть осмысленным и четким. Это важно. И это нужно сделать правильно.
Читатель Бен Рубик (Ben Roubique) прислал автору списка багов документацию по продукту Powerworld Simulator, разработанному компанией Powerworld Corp. Он позволяет пользователям кликать по серым пунктам и дает им четкую информацию о том, почему они неактивны. Миллиону разработчиков будет чем заняться...
Баг обнаружен в: 1979
Кем обнаружен: Тогом (Tog) (Прим. ТТВ: автором этой статьи)
О баге сообщено производителю: время от времени в течение многих лет
Корректирующие действия:
Всплывающая подсказка от Apple: Великолепная идея и сведшее ее на нет исполнение (на самом деле она свела с ума больше людей, чем создатель Microsoft Word Paper Clip). Некоторые все же смогли использовать ее достаточно долго, чтобы понять, что в некоторых случаях – возможно, в одном из десяти тысяч – вы действительно узнаете причину, почему пункт стал серым.
Читатель Гари Дэвис (Gary M. Davis) свидетельствует, что его патент Xerox, датированный 1998 годом, предлагает решать проблему путем использования маленьких вспомогательных кнопок, расположенных рядом с деактивированными основными. Не идеальное решение, поскольку прогресс уже дошел до кликабельности серых пунктов меню, но, тем не менее, тоже вариант. Прочитать патент
Баг находится в списке с: 1 декабря 2004

Баг №4: Сортировка ASCII
Время существования: >30 лет
Поставщик: практически кто угодно
Кодовое название: «Действительно, действительно очень идиотский вид!»
Продукт: практически какой угодно
Баг: 15 декабря 2008 года в списке оказывается раньше 2 января 1900
Класс ошибки: Модель Т работает, так зачем ее менять?
Принцип: Постоянно совершенствовать старое так же важно, как и создавать новое.
Принцип: Сортировку нужно проводить исходя из общечеловеческих традиций и использования, а не из внутренних схем хранения данных в компьютерах.
Эффект: Людям пришлось выучить странные и необычные пути присваивания имен объектам, чтобы они появлялись в правильном порядке. Такие уловки как добавление нуля впереди или изменение формата даты стали всеобще принятыми.
Предлагаемое решение: Добавить интеллектуальную буквенно-цифровую сортировку во все списки мира компьютеров. Такая сортировка должна осуществлять адекватное ранжирование данных в каждом конкретном приложении. Зачастую это просто значит, что А2 должно идти до А10. Иногда это означает необходимость сделать больше – провести синтаксический анализ и сортировку дат, показателей времени и других данных в специальном формате.
Добавьте индивидуальные для каждого языка исключения, как, например, игнорирование артиклей “the”, “a” и “an” при сортировке по алфавиту англоязычных слов.
Но подождите! Ведь никто не будет этим заниматься, правда же?
Компания iTunes уже сделала это. И каков результат? Результат – чистый интерфейс iTunes, который помог продать миллионы устройств iPod и скачиваний музыкальных композиций, измеряемых сотнями миллионов.
(Только не пытайтесь сохранить песни Les Paul’a и увидеть их снова. В отличие от вас, iTunes не спал на уроках французского и, как сообщает читатель Девин Шальмерс (Devin Chalmers), классифицирует “les” как артикль. И вы обнаружите композиции месье Пола под именем “Paul, Les”).
Недавно и Microsoft и Mac OSX занялись этим вопросом, делая простую сортировку в алфавитном порядке. Они все еще разместят файл, называющийся «3 февраля 2004» до файла «1 января 1901», но это же только начало. (Более сложная сортировка потребует от пользователя специфицировать некоторые форматы, такие как принятый в США формат даты, европейский формат даты. Так это и будет. Системы должны в любом случае оставлять пользователям, даже посещающим сайты, свободу выбора в этом вопросе).
Баг обнаружен в: 1976
Кем обнаружен: Тогом (Tog)
О баге сообщено производителю: снова и снова
Баг находится в списке с: 1 декабря 2004

Баг №5: Баг в названии URL’ов
Время существования: >10 лет
Поставщик: создатели браузеров
Продукт: все существующие браузеры
Баг: Многие браузеры не позволяют вводить пробелы и другие символы человеческого языка в строку веб-адреса. Остальные делают с ними неадекватные вещи.
Класс ошибки: Относитесь к этому (слишком) просто
Принцип: Позвольте людям общаться так, как они привыкли это делать.
Обсуждение: Компании, рекламирующиеся в традиционных СМИ, отсылают людей к своим веб-сайтам. И им нужно, чтобы потенциальные посетители смогли запомнить адрес сайта хотя бы на то время, пока доберутся до компьютера. А это в первую очередь зависит от того, насколько легким для прочтения будет этот адрес. Слепленные же вместе слова в URL’е сложно как мысленно разделить, так и запомнить.
История: Последнюю тысячу лет, или что-то около того, русскоговорящие люди разделяли слова при помощи пробелов. Все изменилось примерно 30 лет назад, когдапробелсталзначимымсимволомкоторыйнельзяпотерять.
Привыкнув к существующим системам, позже программисты засомневались – если позволить пользователям включать пробелы в названия файлов, они могут ввести двойной пробел вместо одиночного, создав, таким образом, имена отличные от тех, которые они намеревались создать. Поскольку пробелы невидимы, пользователям может быть трудно разобраться, что же не так. Простое решение в этой ситуации? – Продолжать запрещать использовать пробелы.
Оказывается, у пользователей нет таких проблем. Apple II ввел пробелы в имена файлов 30 лет тому назад, и ни у кого с тех пор не возникло никаких жалоб.
Сегодня хранение байта, который занимает пробел, обходится в триллионы раз дешевле, чем раньше, поэтому больше нет никаких значимых оснований ЗаставлятьЛюдейПисатьТакиличтоещехужедажетак. Никаких. None. Kein.
Читатель Зав (Zav) предлагает пойти дальше, и разрешить использование не только пробелов, но и апострофов, чтобы пользователи могли сходить в магазин “Macy’s” не только в оффлайне, но и в интернете.
Предлагаемое решение:
Обратите внимание: все предлагаемые здесь решения относятся только к URL’ам. Так что не утруждайте себя комментариями о том, что они бесполезны для, например, списков документов. Мы и так это знаем.
Предложение 1, от Тога: Позвольте рекламодателям рекламироваться и пользователям вводить столько пробелов и других нормальных человеческих символов в веб-адрес, сколько им заблагорассудится. А потом просто удалите их в своей внутренней системе.
В то же время, позвольте веб-сайтам хранить в статистике имена файлов с пробелами и другими символами, но, как и в случае с адресами, вводимыми пользователями, удаляйте их перед сопоставлением запроса пользователя с реальным адресом страницы.
Удаление этих символов непосредственно перед тестированием всегда обеспечит правильное сопоставление, и в то же время сам URL, указанный вверху окна, будет прост для запоминания, и будет абсолютно таким же, как и в рекламе.
Эта схема аналогична способу, используемому современными системами, которые дают пользователям свободу использовать и заглавные, и строчные буквы, а затем сами конвертируют все их в строчные.
Предложение 2, от Чарльза Флэтта (Charles L. Flatt): C точки зрения пользовательского опыта, я бы действительно использовал этот способ:
  1. Компания регистрирует IP-адрес (никаких больше URL’ов)
  2. Компания регистрирует до пяти имен «человеческого» вида, которые будут ассоциироваться с этим IP. Эти имена могут быть такими же, как у других компаний. Например, название Software Meadows может быть зарегистрировано и для компании, находящейся в Огайо, и для Дублинской компании, каждая из которых имеет собственный сайт.
  3. Новый сервис, возможно в дополнение к DNS, делает запрос к базе данных и возвращает возможные варианты запрашивающему.
С точки зрения пользователя это выглядит так. Он пишет “Software Meadows”, и ему выдается список, предлагающий выбрать:
“Software Meadows – Консалтинг - Огайо”
“Software Meadows – Розничная торговля - Дублин”
И он выбирает нужный сайт.
В общем, это практически то же самое, что делает сегодня Google. Регистрация информации уменьшит количество хитов. Вообще это то, что должны предоставлять директории, так что, вероятно, технология для такого варианта уже существует.
Предложение 3.
Обработка доменных имен уже существует: и www.asktog.com, WWW.ASKTOG.COM и www.AskTog.com приводятся к одному и тому же IP.
Дополнительная строчка кода в DNS’ном программном обеспечении позволит точно так же поступать и с www.Ask Tog.com и www.Ask Tog’s.com – и это до нелепости просто. Так просто, что это можно было бы за несколько недель сделать по всему миру. Пользователям даже не пришлось бы делать обновление браузеров.
Баг обнаружен в: 1994
Кем обнаружен: Тогом (Tog)
О баге сообщено в Netscape: в 1995
О баге сообщено в Microsoft: в 1996
Баг находится в списке с: 1 декабря 2004

Продолжение следует...


Источник: AskTog.com


  все статьи раздела "техника"

назад на все статьи   

РЕКЛАМА
ВХОД
Логин:
Пароль:
Регистрация
Забыли пароль?
ОПРОС
В какое время в воскресенье проводить конкурсы?

12.00 - 14.00
14.00 - 16.00
16.00 - 18.00
18.00 - 20.00
OK
все опросы
РЕЙТИНГ
1.   Zis -  300
2.   DAle -  263
3.   HeaDacHe -  226
4.   forest -  205
5.   Punk -  170
6.   may -  114
7.   Orlangur -  113
8.   Crush -  100
9.   Monk -  85
10.   One -  79
весь рейтинг
ГОРЯЧИЕ ТЕМЫ
Конкурс "Вредитель"
Работа из-за прокси
C и C++
Тесты
Каверзные вопросы по С++
все форумы
Главная   |  Конкурсы  | Новости  | Статьи  | Сообщество  | Форумы  | ВУЗы  | О проекте
Проект Test The Best (c) 2004-2005
Генеральный спонсор: EPAM systems
Спонсор доступа в интернет компания Solo
Перепечатка оригинальных материалов Test The Best приветствуется при наличии ссылки
Rambler's Top100 Rating All.BY Каталог TUT.BY