Евгений Музыченко

Previous Entry Share Next Entry
Тенденции в разработке программ для устройств
emuzychenko

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

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

Отдельно нужно отметить то, что этот софт имеет привычку по два-три раза переспрашивать, действительно ли юзер хочет выполнить запрошенное действие. Сам по себе этот контроль, безусловно, полезен, но отключить его можно далеко не везде.

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

Программы для устройств, ориентированных на специальное применение (программаторы, преобразователи, адаптеры специальных интерфейсов), уходят в другую крайность. Во-первых, большая их часть написана, судя по всему, людьми, изучавшими программирование под Windows по книгам двадцатилетней давности, описывающим Win 2/3, иначе просто невозможно истолковать обилие программ этого сорта, сделанных на древнейшем API и в ужасном дизайне. Их нельзя даже назвать аскетичными - они откровенно убоги и чертовски неудобны. Нечто похожее мне приходилось видеть в начале 90-х, когда "программисты", не знавшие ничего, кроме ОС ЕС и Фортрана, массово ваяли бухгалтерские и складские программы на FoxBase и Clipper.

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

При возникновении ошибки такая программа, как правило, тупо говорит "Error". Какой именно error, откуда он взялся и что с ним делать - догадывайтесь сами.

Может, этих программеров как-то скрещивать, что ли? Устраивать для них объединенные семинары - глядишь, на природе под пиво с шашлыком и передадут друг другу какие полезные идеи. Но, скорее всего, получится обратный вариант - обменяются самыми хреновыми идеями, в итоге и то, и другое испортится еще больше. :)


  • 1
Дяденька Мендель подсказывает, что, скорее всего, что-то хорошее можно будет пронаблюдать во втором поколении, когда пойдер тасщепление этих гибридов: в детях доминантые Гены забьют рецессивов, а внуки имеют шанс унаследовать именно нужное сочетание.

Все четко подмечено :)
Спасибо!

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

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

Так это ж думать надо, курить гайдлайны, нанимать UX-консультантов и вообще нести затраты, которые напрямую не окупаются. Гениальный студент-самородок наамного дешевле.

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

точно, самое главное забыл :)

командная строка покатит? для профессионалов?

Edited at 2011-02-08 09:28 am (UTC)

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

Новый интерфейс утилиты Intel Rapid Storage послужил бы прекрасной иллюстрацией к статье.

Может, у них, как у нас, на написание осмысленных сообщений об ошибках тупо не хватает времени, ибо deadline is the deadline? ;-)

Есть мысль, что "программисты" en masse всего лишь реализуют то, что написано в спецификации, 5 дней неделю, с 9 до 5, и получают за это деньги раз в месяц. А претензии неплохо бы высказывать "бизнесу", "маркетингу" и прочим "аналитикам". Ну, если конечно проблемы не лежат в плоскости "я ему нажал кнопку Печатать, а он вместо этого начал факс отправлять и винду мне подвесил".

Ну да, в мало-мальски масштабных проектах действительно есть разделение на программистов-проектировщиков и программистов-кодеров. Мелкий же интерфейсный софт для устройств делают, как правило, один-два человека, которым на входе ставят задачу "есть A, надо B", а они, как поняли, ее реализуют. Другое дело, что создается впечатление, будто ребята все свои творения делают на 386 с Win3, иначе откуда такое упорное стремление использовать древние API, чужеродно выглядящие даже в Win9x?

  • 1
?

Log in

No account? Create an account