Прежде чем начинать собственную shareware-программу, нужно, конечно же, определиться, что именно вы будете писать. Ошибки, допущенные уже на этом этапе, в конце концов, приведут к тому, что вам придется прекратить развитие своего продукта, а время и средства, затраченные на его разработку и продвижение, окажутся потерянными зря. С другой стороны, правильно выбранная тематика программы может предопределить успех всего shareware-проекта в целом.
Вынужден разочаровать тех, кто ждет от меня готовых идей для будущих проектов. Тематика программы, подсказанная кем-то другим, вряд ли поможет создать успешный продукт. Идея программы должна быть обусловлена вашими собственными предпочтениями.
Дело в том, что программа обязательно должна быть интересной вам самим, вы сами должны ей постоянно пользоваться. Если вы, скажем, пишете собственный файловый менеджер, но при этом предпочитаете применять FAR (http://www.rarsoft.com), например, потому что у него и встроенный FTP-клиент есть, и файлы он копирует без ошибок, то будьте уверены: долго ваш проект не проживет. Очень скоро вы потеряете к нему всякий интерес и забросите его поддержку.
Постоянное использование собственной программы помогает отлавливать на самом раннем этапе ошибки, неизбежно возникающие при подготовке новых версий продукта, и легко устранять их. Конечно, о замеченной ошибке вам могут сообщить и пользователи программы, однако по их письмам не всегда можно сделать вывод о характере ошибки и причинах ее появления.
Кроме того, в процессе применения программы самим автором часто появляются различные идеи по ее совершенствованию. Это особенно ценно для развития программы, т. к. в этом случае автор знает, как наилучшим образом реализовать новую функцию и сделать ее более удобной для пользователей. К сожалению, при использовании некоторых программ появляется ощущение, что их авторы своими творениями не пользуются и даже не представляют, что именно нужно пользователям их программных продуктов — настолько неудобной является работа с ними.
В качестве примера программы, первоначально написанной "для себя" и выигравшей от того, что автор использовал ее постоянно, могу привести свой собственный shareware-продукт — Actual Startup (http://www.actualsystem.com /startup/), утилиту для управления списком программ, запускаемых при старте Windows (такие программы еще называют "менеджерами автозагрузки"). В один прекрасный день мне окончательно надоело то, что буквально каждая вторая программа, устанавливаемая на моем компьютере (например, Netscape Communicator, Microsoft Office, игра Heroes of Might and Magic III), без всякого моего разрешения норовит добавить в автозагрузку вызов своего собственного модуля. Нет проблем — к этому моменту на рынке существовало несколько менеджеров автозагрузки (среди них были и бесплатные), кроме того, аналогичная утилита входила и в состав Windows 98. Однако ни у одной из найденных мною программ не было функции периодической проверки списка запускаемых программ на предмет появления в нем новых "членов", а постоянно просматривать автозагрузку "вручную" было неэффективно. Поэтому я написал собственную программу — Actual Startup. Она не только позволяла просматривать и управлять списком программ, запускаемых при старте системы, но и незамедлительно сообщала о добавлении в него новых пунктов.
Почти сразу после того, как Actual Startup был выставлен на обозрение публики, я стал получать от пользователей сообщения о странной и очень раздражающей ошибке: моя утилита при каждой проверке докладывала о появлении в автозагрузке одних и тех же программ, хотя они вовсе не являлись новыми в списке! .В течение нескольких месяцев(!) я не мог обнаружить причину ошибки. Я запрашивал у пользователей детальную информацию о работе программы, тестировал Actual Startup на разных компьютерах под всеми существующими 32-разрядными версиями Windows, но к решению проблемы не приблизился ни на шаг (нет худа без добра: попутно я нашел еще несколько довольно неприятных ошибок и заодно изучил особенности программирования для разных версий Windows).
Однажды, в очередной раз переустановив Windows, я инсталлировал в числе многих программ и мультимедийный проигрыватель WinAmp. Actual Startup добросовестно сообщил мне, что в автозагрузку был добавлен новый сервис — WinAmpAgent. В отличие от предыдущих установок WinAmp, я на этот раз решил не удалять Agent из списка запускаемых при старте системы программ. И - о, чудо! — через минуту моя утилита опять сообщила о "новой" программе в автозагрузке. Причина загадочной ошибки наконец-то была найдена: оказывается, некорректную работу программы вызывало наличие кавычек в команде, которой запускался WinAmp Agent. Ошибка была устранена в течение двадцати минут, но кто знает, сколько еще времени понадобилось бы на решение проблемы, если бы я не пользовался постоянно своей программой, и сколько регистрации я бы потерял из-за этого!
И все же, какую программу стоит писать? Существует мнение, что продать можно любой продукт, лишь бы он был качественно сделан, и с этим соглашаются многие профессиональные шароварщики. На современном рынке программного обеспечения пользуются спросом самые разные продукты: от крошечных вспомогательных утилит для Windows до сложных научных и инженерных пакетов. Для shareware подходит почти любая программа, особенно если она не повторяет функции, предоставляемые широко распространенными . продуктами типа Microsoft Windows или Microsoft Office, или выгодно дополняет их. Существует много ниш на рынке программного обеспечения, не занятых крупными компаниями: они или не заинтересованы в том количестве пользователей, которое это направление может дать, или считают такие программы несерьезными, или по разным другим причинам. Зайдите на любой более-менее крупный интернет-каталог программ, и вы увидите, насколько разнообразные программные продукты покупают пользователи во всем мире.
Главное, чтобы программа, которую вы хотите написать, пригодилась не только вам, а была бы востребована и другими пользователями. Разумеется, не всегда в этом можно быть уверенным. И в таком случае нужно руководствоваться следующим правилом: "Не пишите программу, не имеющую аналогов на рынке".
На первый взгляд, это утверждение многим кажется абсурдом. Ведь на продукт, находящийся вне конкуренции, спрос гораздо выше! Но в индустрии shareware дело обстоит несколько иначе. Мне известно довольно много примеров того, как проект по разработке уникальной, не имеющей аналогов на рынке программы прекращался из-за того, что вместе с конкурентами у программы отсутствовали и покупатели. С другой стороны, многие продукты, имеющие довольно большое число соперников, продаются просто замечательно. Более того, некоторые разработчики shareware рассказывали мне, что после появления на рынке сильных конкурирующих программ продажи их собственных продуктов даже возросли!
Дело в том, что конкуренты, как это ни странно, подготавливают вам благоприятную почву для вхождения на shareware-рынок. В интернет-каталогах программного обеспечения уже созданы соответствующие тематические категории, а абсолютно новая программа попадет в лучшем случае в раздел "Miscellaneous" (Разное), который традиционно посещается меньше других. Компьютерные журналы часто публикуют тематические обзоры программ -например, я писал для популярного журнала "Мир Интернет" (http:// www.iworld.ru) обзоры Web-редакторов, интернет-ускорителей, FTP-клиентов, утилит для поиска в Сети и др. Всякие же экзотические программы попадали в лучшем случае в краткий и общий "Обзор утилит", часто я вообще не решался что-либо писать о них, т. к. не был уверен, что они будут интересны для читателей журнала.
В каждой категории программ есть свои лидеры: например, среди архиваторов — WinZip, offline-браузеров — Teleport Pro, а файловых менеджеров — FAR (http://www.rarsoft.com). Однако многие пользователи все равно не довольствуются их возможностями и постоянно ищут более новые программы. Например, в конференциях, посвященных программному обеспечению, можно найти много обсуждений "Web-редакторов, лучших, чем HomeSite (http://www.allaire.com)", или "FTP-клиентов, лучших, чем CuteFTP (http:// www.cuteftp.com)". А если какой-либо продукт начинает активно рекламироваться, то он косвенно продвигает и все ее аналоги: пользователи начинают интересоваться этим классом программ, скачивать их из Интернета, пробовать, сравнивать возможности. Даже на страницах журналов иногда появляются обзоры типа "Выбираем замену Outlook Express". Вот и получается, что деятельность конкурентов может принести пользу и вам.
Наметив примерную тематику программ, посмотрите, что уже создано другими разработчиками: наверняка у вас появится множество новых идей. Вряд ли какая-либо программа может удовлетворить потребности большинства пользователей на 100%: одна, например, имеет более красивый интерфейс, другая - какую-нибудь интересную функцию, третья отличается меньшим объемом дистрибутива и высокой скоростью работы, четвертая продается по очень привлекательной цене. Просмотреть продукты, имеющиеся на рынке, выделить лучшие их черты и воплотить их в своей программе — так поступили авторы многих удачных shareware-проектов. Вспомните, например, как Владимир Каталов, прежде чем начать работу над своим Advanced Disk Catalog, сначала протестировал около двадцати уже существовавших программ этой тематики (см. разд. "Успешные российские shareware-проекты" гл. 1).
Если вы замыслили проект грандиозных масштабов — например, создание в одиночку графического редактора, лучшего, чем Adobe Photoshop, то лучше и не думайте. Прежде, чем вы сможете представить публике самую первую бета-версию, пройдет несколько месяцев — целая вечность для области информационных технологий — и, возможно, рынок изменится настолько, что ваш продукт потеряет свою актуальность. Лучше всего посвятить свое время программе, которая, даже имея относительно небольшой набор функций, будет вполне самостоятельным продуктом, а затем, быстро выпустив и начав продавать первую версию, совершенствовать ее, исправлять ошибки, адаптировать согласно требованиям постоянно меняющейся ситуации на рынке.
Кроме того, у крупных компаний по разработке программного обеспечения совсем другие возможности: большой штат сотрудников и такие бюджеты, что программистам-одиночкам и не снились. А вот конкурировать с такими же, как и вы, shareware-разработчиками или даже небольшими shareware-компаниями вполне можно. Ведь здесь, в России, накладные расходы несколько меньше, чем за рубежом, а кроме того, вас вполне может устроить такой доход, который никогда не будет приемлем для иностранного разработчика или, тем более, целой компании.
Однако, к "монстрам" из мира программного обеспечения все-таки стоит присмотреться. Есть такое "правило рыбы-прилипалы": чтобы набрать большую скорость, нужно всего лишь прицепиться к днищу идущего корабля. В индустрии shareware это означает то, что для продвижения собственной программы можно использовать популярность лидирующего на рынке продукта.
Классический пример — всевозможные подключаемые модули, или плагины (от англ, plug-in), которые поддерживают многие популярнейшие программы - например, уже упоминавшиеся WinAmp, Adobe Photoshop, FAR. Плагины традиционно являются предметом повышенного интереса со стороны многочисленной аудитории "основных" продуктов. Не случайно на их Web-сайтах заведены разделы, содержащие ссылки на плагины, что, кстати, является бесплатной и очень эффективной рекламой. А корпорация Microsoft даже периодически проводит конкурсы среди расширений пакета Microsoft Office! Если же написанный вами дополнительный модуль окажется особенно удачным, его, возможно, даже включат в дистрибутив "основного" продукта — вы сами можете представить, насколько увеличится число пользователей вашей программы!
Кроме того, в Интернете существуют специализированные архивы плагинов, например, есть довольно много ресурсов, посвященных модулям для Adobe Photoshop. Программа, опубликованная на таком сайте, привлекает гораздо большее внимание действительно заинтересованной в ней аудитории по сравнению с каким-нибудь крупным общетематическим архивом типа Download.com, где продукт может просто затеряться.
Внимание!
Некоторые разработчики недовольно заявляют: "Зачем это я своим продуктом буду продвигать какой-то там Photoshop". Такая точка зрения является совершенно неправильной: на самом деле все происходит с точностью наоборот.
Еще один пример грамотно задуманной "прилипалы" это поддержка программой какого-нибудь популярного формата файлов.
Например, существует много текстовых редакторов, авторы которых с гордостью заявляют, что их продукты сохраняют свои файлы в формате RTF. Однако мало кто из них заботится о том, чтобы их программа могла работать с файлами текстового процессора Microsoft Word, стандарта де-факто для подготовки офисных документов. Не удивительно, что продажи таких продуктов идут очень вяло.
Еще можно упомянуть такие хрестоматийные примеры, как успех кодировщиков и плейеров МРЗ-файлов, появившихся, как только формат МРЗ стал завоевывать популярность, или большой интерес к программам работы с файлами Adobe Acrobat (PDF).
Если вы хотите посвятить себя разработке игр, следует учитывать, что для shareware-рынка имеет смысл разрабатывать небольшие игры — логические, карточные, или, например, ремейки классических хитов типа "Тетриса" или "Арканоида". Большие проекты вроде сложной стратегической или ролевой игры начинать бесполезно — слишком велики расходы на разработку и издание продукта такого рода. В этой ситуации более разумно обратиться в одно из специализированных агентств по изданию игр — но это уже совсем другая тема.
В случае, если вы имеете хорошие навыки создания приложений для Web-серверов, например, CGl-скриптов, владеете языками С, Perl или РНР, то вы можете заняться shareware и в этой области. Рынок программ для Web-серверов очень привлекателен: во-первых, продуктов на нем в десятки раз меньше, чем на рынке программ для Windows, а значит, менее жесткая конкуренция; во-вторых, спрос очень велик, ведь количество Web-сайтов в мире огромно и растет с каждым днем; в-трстьих, заказать нужный CGI-скрипт в специализированной компании по разработке Web-сайтов для большинства покупателей не по карману, т. к. это стоит слишком дорого — несколько тысяч долларов. Это зажигает зеленый свет перед независимыми Web-программистами, которые могут продавать свои продукты за гораздо более низкую цену. Наибольшим спросом на рынке пользуются, конечно, сложные CGI-скрипты для коммерческого применения: показа рекламы на сайте, ведения online-торговли, работы с базами данных. Также популярны форумы с расширенными возможностями (например, функцией администрирования и ведения различных тематических конференций), системы быстрого обновления содержимого сайта, сбора и анализа статистики посещений и т. п.
Если у вас есть идея какой-либо программы и вы планируете предложить одной из компаний по разработке программных продуктов, чтобы вас приняли на работу и таким образом профинансировали вашу деятельность, то, скорее всего, вы ничего не добьетесь. Просто "под идею" денег вам никто не даст. А вот если вы сами создадите удачный продукт, то существует некоторая вероятность того, что однажды вы получите заманчивое предложение уступить все права на программу и ее исходные тексты за кругленькую сумму.
Тем не менее такие случаи достаточно редки, и у вас гораздо больше шансов "раскрутить" собственный продукт, чем продать его кому-нибудь другому. Например, один из российских программистов пару лет назад написал несколько довольно неплохих shareware-программ и стал активно заниматься их продвижением, надеясь, что его заметят и возьмут на работу в какую-нибудь крупную компанию. Выгодных предложений устроиться на работу так и не поступило, а вот shareware-бизнес пошел так хорошо, что он зарегистрировал собственную фирму и уже сам принимает людей на работу.
И наконец, последний вопрос относительно тематики будущей программы: стоит ли писать shareware для каких-либо операционных систем, кроме Windows 9x и 2000? Скорее всего, нет. Раньше можно было делать проекты под OS/2, у нее были десятки миллионов инсталляций в мире, особенно много в Европе. Но сейчас это количество снижается и новых версий данной операционной системы не предвидится.
Под Unix писать shareware особого смысла нет — там традиционно большая часть программ распространяется бесплатно, в том числе и на условиях Open Source (см. разд. "Freeware и другие" гл. 1).
Несколько отдельно стоит разработка shareware-программ под Windows СЕ, PalmOS и прочие платформы для карманных компьютеров-"наладонников". Писать для них можно на обычном персональном компьютере. Сейчас в связи с бурным развитием данной отрасли компьютерной индустрии, эта платформа имеет шанс "приобрести такое же значение, как и ее "старший брат". Пользователи карманных компьютеров неплохо покупают игры, записные книжки, компактные почтовые клиенты и другие подобные программы. Если у вас есть возможность отлаживать такие программы, то стоит попробовать...