Сегодня я решил рассказать тебе о том, как писать программы и что именно надо писать. Многие программисты говорят: "Дайте мне точку опоры, и я переверну весь мир". Где-то я это уже слышал, и возможно это сработает, но не в нашем случае. Самое главное при написании программы это не идея. А что же можно назвать главным фактором успеха программного продукта? Вот именно это я постараюсь тебе сегодня рассказать.
Какую программу всё же написать? Для этого не надо далеко идти. Просто подумай, что тебе нужно? Если ты работаешь с базами данных, то займись написанием этих баз. Если ты работаешь с графикой, то напиши простенькую прогу, которая будет делать несколько крутых выкрутасов или эффектов. Твоя будущая прога должна удовлетворять нескольким критериям.
Эта прога должна быть нужна тебе. Если она не нужна даже разработчику, то ею не будет пользоваться никто. Если ты дизайнер, то кто, как не ты лучше знает, что нужно настоящему художнику? Вот я, например, в графике не особо смыслю. Я умею её программировать, но ничего не понимаю в художествах. Поэтому я никогда не лезу в эту сферу, хотя мне очень хочется и нравится работать с различными алгоритмами.
Программа должна быть уникальна. Если в твоей проге есть какая-то изюминка, то она точно найдёт своего пользователя. А вот как этому помочь я расскажу через месяц.
Она должна быть простой в использовании. Не стоит загромождать прогу лишними действиями. Если ты гений в графических фильтрах, то напиши простенький plug-in к PhotoShop, но не надо писать целый графический редактор ради одного эффекта. Это только усложнит твоё детище и отпугнёт потенциальных пользователей. Программа должна выполнять только самые необходимые действия и содержать как можно меньше лишних функций. Поэтому не стоит встраивать в графический редактор, текстовый процессор, такие навороты уже есть и ты всё равно не сможешь с ними конкурировать. Чем проще пользоваться программой, тем больше у неё шансов. Вот ещё один пример: CyD GIF Studio Pro - отличный GIF редактор, но в нём очень много функций, которыми не все пользуются, поэтому многие переходят на более дорогую программу, но выполняющую только самое необходимое. Это принцип жизни всех американцев и европейцев. Я этого не понимаю, но приходится к нему прислушиваться. Для меня лучше взять программу немного навороченее и дешевле, чем дороже, но менее функциональную. Приведу ещё один пример: Linux - дешёвая и навороченная, поэтому она не получила распространения, а Windows простая и дорогая и стоит на большинстве компьютеров. Парадокс, но это так.
Интерфейс - должен быть удобным и симпатичным. Цвета желательно выбирать не сильно яркие, чтобы они не резали глаз. На счёт цвета, я бы вообще-то посоветовал бы использовать только системные, чтобы они изменялись в зависимости от выбранной в компьютере цветовой схемы. Все часто используемые функции, нужно выносить из меню на панель, чтобы можно было получить к ним быстрый доступ. Короче, посмотри на все проги Windows и старайся не сильно выделятся, а то это иногда шокирует и люди не очень охотно используют такие вещи.
Документация - она должна быть полной и желательно с конкретными примерами. Пользователи любят, когда описаны конкретные действия при работе с программой. Не надо ограничиваться простым описанием возможностей. Постарайтесь дать как можно больше информации и конкретных примеров.
Этот список можно продолжать бесконечно, но я остановлюсь. В течении всей статьи я ещё вернусь к уже описанным требованиям и укажу ещё некоторые вещи.
Прежде чем писать программу, поставьте перед собой конкретные цели. Главное, чтобы ваша цель была достижима и как можно в кратчайшие сроки. Не надо ставить перед собой задачу написать текстовый редактор, потому что их уже достаточно, ты врят ли напишешь лучше чем Microsoft, но даже если это и так, то пока ты будешь писать, Microsoft выпустит уже десять версий. Ты не сможешь угнаться за гигантами. Поэтому делай свою цель менее фантастической.
Я уже говорил, что желательно сделать программу маленькой. Для этого есть несколько причин:
Пользователи не любят слишком навороченные проги. Об этом я уже сказал и привёл несколько примеров.
Первая версия твоей программы должна быть готова максимум через месяц. Если ты затянешь написание программы на год, то через этот период может пропасть необходимость в ней или кто-то уже реализует твою идею, и ты потратишь время зря.
Поэтому ставь реальные и быстро достижимые цели.
После того, как ты поставил перед собой цель, начинай писать программу. Во время написания нужно чётко придерживаться поставленной цели. Не в коем случае нельзя обращать внимание на мысли: "надо бы добавить вот такую фичу или вот такую". Если ты хоть раз обратишь на неё внимание и начнёшь выполнять, то тебя затянет. Ты будешь вечно добавлять новые возможности и так и не выпустишь свою программу в свет. Лучше записывай появляющиеся мысли на бумагу и засовывай подальше в карман.
Когда ты закончишь выполнять первоначальный план, то протестируй готовую прогу и начинай заниматься раскруткой (об этом я расскажу через месяц). На своём сайте можешь указать всё, что у тебя накопилось на бумажках (то что ты собираешься добавить) и указать, что это можно увидеть в следующей версии проги. Потенциального пользователя это заинтересует, и он запомнит ссылку на твою страничку среди "Избранных", чтобы вернуться за новой версией с обещанными возможностями.
Пока все развлекаются с твоей первой версией проги, ты достаёшь из кармана все свои мысли и начинаешь их выполнять, оформляя новую версию.
Постарайся хорошенечко тестировать свою прогу. Для этого можно набрать группу тестеров среди российских пользователей. Для этого раздай им халявные лицензии, они всё равно не заплатят (в России ещё не привыкли платить за программы). Чем больше будет ошибок в твоей проге, тем хуже будут к тебе относится. Я в своё время очень сильно запустил своё детище и ко мне потеряли интерес все пользователи. После этого мне понадобилось два дня, чтобы исправить все ошибки и пол года, чтобы снова завоевать доверие. Так что выводы делай сам.
Я постарался дать тебе самые основные (на мой взгляд) правила написания проги. Не думай, что что-то из этого можно не учитывать, в нашем деле важно всё, особенно при работе с буржуями. Так что выучи наизусть всё, что я тебе рассказал :).
В следующем номере я расскажу тебе, как нужно продвигать свою прогу. А так же ты узнаешь, как надо продавать программы за границей, в России ты всё равно не продашь.