Wednesday, February 22, 2012

Третий закон ПО

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

Меня как пользователя вполне удовлетворял ненавязчивый интерфейс MS Word с менюшками (да, они были нелогично расположены, да, хрен запомнишь, что где, но сейчас с этими риббонами это просто мрак!), очень простой и читабельный интерфейс Gmail почты (где буквами написано "spam" на кнопках и не надо тратить две секунды, соображая, корзина - это удалить или обозначить как спам), ну и интерфейсы других программ - ровно до тех пор, пока они не были искорежны безжалостными руками разработчиков, желающих придать программе "новый, удобный и совершенно интуитивно понятный интерфейс". Ага, щаз.

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

И вот теперь я знаю, зачем. Потому что я сама такая. На какое-то время интерес к собственному детищу у меня был утерян, но он возобновился ровно в тот момент, когда я поняла, что могу использовать другой движок. Да-да, другой движок, он позволит программе работать лучше, стабильнее, код будет выглядеть красивее, ошибок будет меньше... оказывается, все просто. Пользователям не надоедает пользоваться любимыми программами, они привыкают к ним, к их ошибкам (а у кого нет недостатков?!), а вот разработчиков со временем начинает тошнить от собственного кода. Да, они тоже любят свои программы, но им надоедает возиться с ними, вылавливать и исправлять баги, менять что-то по мелочи и т.д. А вот когда представляется возможность замутить что-то совсем новое, это да! Пусть на старой базе, но новое, более крутое! Это, что ни говори, challenge, а к таким вещам у всех разработчиков слабость.

И вот отсюда следует простой вывод. Разработчики и пользователи стоят по разные стороны баррикад. У них совершенно разные цели, практически не имеющие общих точек. Именно поэтому разработчики так плохо понимают пользователей, а пользователи не в состоянии уловить замыслов разработчиков. Именно поэтому так много появляется уродов, неудобных и непрактичных, но поскольку они все-таки способны решать поставленные задачи (часто при отсутствии альтернатив), то пользователи это съедают, и мучаются, но потом все-таки даже к уродам привыкают и зачастую работают с ними не без удовольствия. Катастрофа случается в тот момент, когда и самому разработчику начинает казаться, что все, что он написал - уродство, и надо сделать по-другому, при этом разработчик исходит исключительно из своих интересов. У него интерес - использовать новый движок, изучить новую технологию, применить новые знания на практике. О таких скучных вещах, как удобство пользования, он просто не задумывается. Может быть, потому, что сам программой не пользуется, может быть, из-за того, что для него "удобство" выражается в чем-то другом, в конце концов, он свою программу знает вдоль и поперек, и поэтому не испытывает никакого дискомфорта.

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

5 comments:

  1. Интерес это конечно хорошо. Интерес дает энергию. Но есть и обратная сторона - п.8 статьи по ссылке. Проверено на собственном опыте ))

    http://blog.swrus.com/marketing/idx_822/software_marketing_useful_tips.html

    ReplyDelete
  2. Да-да, это в теории, а на практике, уверена в 90% случаев разработчики исходят исключительно из своих интересов. Дело даже не столько в технологии, сколько им просто хочется сотворить что-что-то новое, к сожалению, часто без учета, хорошо это или нет для пользователей. Ну зачем, спрашивается, надо было заменять тулбары и меню в офисе на риббоны? Зачем надо было менять интерфейс в гмейле? Кому плохо жилось со всеми этими старыми вещами? Конечно, если в качестве тестовых пользователей они брали "на новенького", т.е. людей, которые никогда прежде с офисом не работами, да, им, может быть, риббоны понравятся. Но если вы привыкли к другому интерфейсу, ничего, кроме негатива, это вызвать не может.

    ReplyDelete
  3. Ненене, во-первых, у разработчиков того же офиса (чтоб им там всем пусто было из-за этих рибанов) сверху стоят манагеры и аналитики. Да и мало ли кто... Сам работаю так в крупной конторе. Болезнью "чё бы замутить" и "всё написанное - уродство" я не страдаю. Но даже если бы страдал, у нас чтобы что-то новое написать - надо согласовать и с начальством и с клиентами, а их (и тех и других) дохренищи. Но даже и мы делаем "чё бы замутить" но только то, которое сваливается со стороны начальства. Оно, видимо, смотрит-смотрит... думает-думает... и тут бумс - идея! И всё... капец...
    Что касается мелких совтверных контор, то там ровно так и есть как написано - идеи идут 90% от разработчиков.

    Далее. Рибоны - это дети всемирной повальной тенденции к упрощению. Я в новом аутлуке не могу найти половины вещей, которые раньше были в меню. Ну, т.е. сами рибоны не виноваты, потому что каждому контролу - своё место (да и упрощение само по себе не плохо, если оно к месту). Просто рибоны вдруг стали модными, и даже у нас кто-то говорил: "а давайте себе рибон добавим!!!", после чего ему тут же понавешали рибонов, и разум и мир вернулись на своё место :)

    ReplyDelete
  4. Да-да, я не учла тот момент, что в крупных конторах идеи идут не от разработчиков... но все равно, подоплека, я думаю, та же самая. То есть вот сидит такой менеджер и думает, че бы такое замутить, и его самого уже, наверное, тошнит от того, что он видит каждый день, и потом спускает свои идеи сверху, говоря разработчикам "вот, мол, есть такая кульная штука - риббоны", смотрите, какие они крутые и удобные и все такое.

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

    ReplyDelete
  5. Пишите чаще, хороший слог.

    ReplyDelete