Как надо писАть программы.
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. Не все знают настройки заранее. Многие просто хотят посмотреть на интерфейс, не влезая в детали. Для этого.
Анинстолл должен быть чистым и безоговорочным. И сносить ВСЕ из регистра и удалять после себя даже пустые корневые директории.
И блядь никаких баннеров и рекламы. Когда я это вижу, я просто сатанею.
Данное применять и в других направлениях программистской деятельности.