Как надо писАть программы.
Apr. 25th, 2006 02:45 pmЧто-то я смотрю, программистов развелось. И детищ их, творений бессмертных. Но блядь, ставишь на комп такое творение (*cough* ICQ *cough*) и плакать хочется.
Обосную. Кто-нибудь помнит самую первую версию Аськи? Реклама была? Сразу было понятно, как оно работает? Сетап простой и доходчивый, и не погребенный под слоем менюшек? Вот это-то и принесло популярность программе - простота и функциональность. Сотовый телефон прежде всего должен звонить и отвечать на звонки, а не иметь великолепную видеокамеру и голосовую поддержку. Если он не соединяет быстро и просто, модель не покупают и все, что ведет к кризису продаж.
Итак, мой дорогой программер, ты пишешь, ну, к примеру, почтового клиента? (улыбка людоеда) Подо что? ИМАП, ПОП3, Лотус, Эксчейндж? ПОП3? Замечательно.
Теперь оторвись от интерфейс-билдера и напряги свою жопную извилину - а что вообще почтовый клиент делает? Праааавильно, принимает и получает почту. Что еще? В общем-то и все. Как БОНУС клиент может еще вставлять забавные смайлики, фильтровать спам и проверять на вирусы. Но ведь ты не работаешь на Микрософт, а пишешь по сути шаревару, так?
Теперь направь свою жопную извилину на суть работы с почтой. Увы и ах. В проблему придется вникнуть. Как? Возьми любой почтовый клиент и поработай с ним неделю. Просто посылай и принимай почту. Доехало?
Что нам надо: кнопки New, Reply, Reply to All, Forward, Delete, и большая кнопка SEND. Всё! Остальное по умолчанию должно быть выключено. Просто и чисто. Если юзверь захочет большего, пусть лезет в меню и выбирает в настройках интерфейса. Также настройки должны быть писаны человеческим языком. Настройки сервера для подключения - отдельно. Юзерские примочки (проверка правописания, Rich Text Mode, типа шрифта там, наклона, сайза итд) - отдельно. Никаких боковых менюшек - только сверху.
Как правило, люди, ищущие почтовый клиент, не заботятся наличием супер-примочек типа автоматических ффстафлялок изображения с веб-камеры в письмо, или там автоматическим форвардом спама на СМС. Им надо просто написать "Мама, я откинулся! Встречай!", и нажать "Отправить". Это потом приходит - ооооо, а оно и это может! Оооо, и это! Но на первых порах нужен МИНИМУМ.
Конечно, если продукт пойдет, то он начнет обрастать фичами. Но запомни, мерзавец, что программа, неважно какого релиза, должна выглядеть точно так-же для нового пользователя, как и первая версия для самого первого скачавшего - просто и функционально.
Забудь про Джаву. Это зло! Забудь про а-ля макинтошные кнопочки - это лоховство. Мелкомягкие давно придумали стандартные пиктограмки для скроллинга и сворачивания окна - используй их. Мэнеджмент Консоль кстати рулит мрачно.
Сразу пиши хэлп. Как закончил очередной модуль, так и пиши, пока извилина еще дышит кодом. Потом позови своего пятилетнего отпрыска и заставь прочитать. Если он/она/оно не поняло, стирай все нахуй и пиши хэлп заново. Пока не напишешь, нового кода не начинай.
В заключение - сетап, или установщик. Next, Next, Next, Finish. Это максимум движений, достаточный для юзера, чтобы поставить программу. Ну если очень необходимо, как в нашем случае это настройки сервака, типа POP3, SMTP, User Name, Password, [SMTP Port], то ОБЯЗАТЕЛЬНО надо вставить кнопку Skip. Не все знают настройки заранее. Многие просто хотят посмотреть на интерфейс, не влезая в детали. Для этого.
Анинстолл должен быть чистым и безоговорочным. И сносить ВСЕ из регистра и удалять после себя даже пустые корневые директории.
И блядь никаких баннеров и рекламы. Когда я это вижу, я просто сатанею.
Данное применять и в других направлениях программистской деятельности.
Обосную. Кто-нибудь помнит самую первую версию Аськи? Реклама была? Сразу было понятно, как оно работает? Сетап простой и доходчивый, и не погребенный под слоем менюшек? Вот это-то и принесло популярность программе - простота и функциональность. Сотовый телефон прежде всего должен звонить и отвечать на звонки, а не иметь великолепную видеокамеру и голосовую поддержку. Если он не соединяет быстро и просто, модель не покупают и все, что ведет к кризису продаж.
Итак, мой дорогой программер, ты пишешь, ну, к примеру, почтового клиента? (улыбка людоеда) Подо что? ИМАП, ПОП3, Лотус, Эксчейндж? ПОП3? Замечательно.
Теперь оторвись от интерфейс-билдера и напряги свою жопную извилину - а что вообще почтовый клиент делает? Праааавильно, принимает и получает почту. Что еще? В общем-то и все. Как БОНУС клиент может еще вставлять забавные смайлики, фильтровать спам и проверять на вирусы. Но ведь ты не работаешь на Микрософт, а пишешь по сути шаревару, так?
Теперь направь свою жопную извилину на суть работы с почтой. Увы и ах. В проблему придется вникнуть. Как? Возьми любой почтовый клиент и поработай с ним неделю. Просто посылай и принимай почту. Доехало?
Что нам надо: кнопки New, Reply, Reply to All, Forward, Delete, и большая кнопка SEND. Всё! Остальное по умолчанию должно быть выключено. Просто и чисто. Если юзверь захочет большего, пусть лезет в меню и выбирает в настройках интерфейса. Также настройки должны быть писаны человеческим языком. Настройки сервера для подключения - отдельно. Юзерские примочки (проверка правописания, Rich Text Mode, типа шрифта там, наклона, сайза итд) - отдельно. Никаких боковых менюшек - только сверху.
Как правило, люди, ищущие почтовый клиент, не заботятся наличием супер-примочек типа автоматических ффстафлялок изображения с веб-камеры в письмо, или там автоматическим форвардом спама на СМС. Им надо просто написать "Мама, я откинулся! Встречай!", и нажать "Отправить". Это потом приходит - ооооо, а оно и это может! Оооо, и это! Но на первых порах нужен МИНИМУМ.
Конечно, если продукт пойдет, то он начнет обрастать фичами. Но запомни, мерзавец, что программа, неважно какого релиза, должна выглядеть точно так-же для нового пользователя, как и первая версия для самого первого скачавшего - просто и функционально.
Забудь про Джаву. Это зло! Забудь про а-ля макинтошные кнопочки - это лоховство. Мелкомягкие давно придумали стандартные пиктограмки для скроллинга и сворачивания окна - используй их. Мэнеджмент Консоль кстати рулит мрачно.
Сразу пиши хэлп. Как закончил очередной модуль, так и пиши, пока извилина еще дышит кодом. Потом позови своего пятилетнего отпрыска и заставь прочитать. Если он/она/оно не поняло, стирай все нахуй и пиши хэлп заново. Пока не напишешь, нового кода не начинай.
В заключение - сетап, или установщик. Next, Next, Next, Finish. Это максимум движений, достаточный для юзера, чтобы поставить программу. Ну если очень необходимо, как в нашем случае это настройки сервака, типа POP3, SMTP, User Name, Password, [SMTP Port], то ОБЯЗАТЕЛЬНО надо вставить кнопку Skip. Не все знают настройки заранее. Многие просто хотят посмотреть на интерфейс, не влезая в детали. Для этого.
Анинстолл должен быть чистым и безоговорочным. И сносить ВСЕ из регистра и удалять после себя даже пустые корневые директории.
И блядь никаких баннеров и рекламы. Когда я это вижу, я просто сатанею.
Данное применять и в других направлениях программистской деятельности.
no subject
Date: 2006-04-25 07:45 pm (UTC)Насчет install - должно быть два варианта - для всех и для просвященных. А uninstall - если он не все удалил из регистра - тому кто его писал мало руки оторвать...
no subject
Date: 2006-04-25 07:47 pm (UTC)no subject
Date: 2006-04-25 07:54 pm (UTC)no subject
Date: 2006-04-25 08:03 pm (UTC)no subject
Date: 2006-04-25 08:10 pm (UTC)no subject
Date: 2006-04-25 11:35 pm (UTC)Правильно сказал!
[user mode off]
[proger mode on]
Злой ты...
[proger mode on]
no subject
Date: 2006-04-26 12:12 am (UTC)АНИИБЕТ.
#End-End-User-Mode
Искал я прогу, которая с обычного двухстороннего сканера читает документы и засаживает все в ПДФ. Профессиональный софт такого рода стоит бешенных бабок, да и не нужен - просто сосканировать 4 листа текста с обеих сторон и заадобить. БЛЯ, Я ТАКОГО НАСМОТРЕЛСЯ!!!! Это песдец чего люди творят! Но нашел, в члене членов. Один раз сконфигурил, потом нажал кнопку - и получил результат. Прогер нагрелся на 100 баксов, а остальные Васи остались сосать. Поелику не понимали сути - надо сканировать, а не запихивать все в батч, потом конвертить и отдельным модулем ПиДиЭфить.
no subject
Date: 2006-04-26 12:13 am (UTC)no subject
Date: 2006-04-26 12:24 am (UTC)no subject
Date: 2006-04-26 12:25 am (UTC)2. Microsoft is not omnipotent
no subject
Date: 2006-04-26 01:01 am (UTC)no subject
Date: 2006-04-26 03:19 am (UTC)no subject
Date: 2006-04-26 05:42 am (UTC)Если программер хочет чтобы программа жила и использовалась - он должен писать ее для людей, а не чтобы вы..нуться "смари, братва, как я умею".
Когда-то занимался выбором почтовика, кстати, который нормально, корректно сможет работать с почтой по IMAP. Кроме наследников Netscape фактически нет. :-( Ставить офисный пакет для outlook я не собирался. Такие вот дела. :)
no subject
Date: 2006-04-26 07:06 am (UTC)no subject
Date: 2006-04-27 12:46 pm (UTC)no subject
Date: 2006-04-27 12:47 pm (UTC)no subject
Date: 2006-04-27 12:55 pm (UTC)Во-первых, не сомневаюсь что ты тоже программист, но зачем же всех посылать и делать вид что ты умнее всех?
Во-вторых, в то что ты зчеловек с высшим образованием как-то мне не очень вериться, ответь на такой вопрос "что в матерной форме доходит быстрее??"
Оттого что ты здесь понаписал мир лучше не станет, и вообще мало чего изменитьмся, программы как были кривые так они и будут кривыми, а матом орать с высокой колокольни это каждый может!
no subject
Date: 2006-04-27 01:01 pm (UTC)Мой пост не направлен на кого-то конкретно. И матом вроде я тоже не особо крыл. Поинт в чем: ищешь что-то, находишь - а прога делает кучу того, чего не нужно, а вот то, на что она была рассчитана получается так себе.
Пример - сжатие JPG по алгоритму J2000 или JBIG. Попробуй найти шаревару, жмущую ПиДиЭфы. Это песдец чо люди пишут...
Поэтому пост мой - призыв, а не посыл, человек с высшим образованием (программист).
no subject
Date: 2006-04-27 09:37 pm (UTC)no subject
Date: 2006-04-27 09:38 pm (UTC)Re: Reply to your comment...
Date: 2006-04-27 10:00 pm (UTC)У программистов же есть принцип KISS. Только почему-то многие боятся ему следовать. В результате появляются страшные уродцы. И воспитывают, в свою очередь, дурной вкус.
no subject
Date: 2006-05-06 03:08 pm (UTC)В этом посте ты не прав.
Простой интерфейс нужен? Кому? Тебе мне, и ещё паре-тройке тех кто читает твой ЖЖ.
Остальным нужен накрученный. И ещё более глюкавый и сложный в настройке. И там ОБЯЗАТЕЛьНО должна быть реклама чего-либо, и глюкавый и усложнённый фильтр , который сложно найти в интерфейсе, поскольку он под кнопкой "help" притаился.
А почему? Ну напрягись, подумай. Я знаю - ты можешь.
no subject
Date: 2006-05-08 11:24 am (UTC)Юзеру предоставляется одна кнопка - "Старт". Все остальное происходит автоматом. Снимаю шляпу перед тем, кто это написал. Не надо ломать голову - влезет/не влезет, какую компрессию использовать итд. Нажал - получил.
no subject
Date: 2006-05-18 06:49 pm (UTC)Писал отсебятину.
no subject
Date: 2006-05-18 06:51 pm (UTC)Почти слово в слово абзац из Aqua Human Interface Guidelines by Apple: тыць
no subject
Date: 2006-06-21 12:45 pm (UTC)Все что ты описал - не более чем "гневная отповедь" мастурбаторам от программирования!..
(По тому и процент "НЕСОГЛАСЕН" меньше)
У нормального программера заказной работы столько что на "порно" - времени не хватает...
ЗЫЖ А безумные иконки меня тоже за...ли!..
no subject
Date: 2006-06-21 12:46 pm (UTC)no subject
Date: 2006-06-21 12:57 pm (UTC)"Никуда не дется нам от этой синевы!.."
Этого интерфейса...
Юзабилити... знаете ли... ;-)
Тоже на разработчике...