Мобильное ПО как бизнес

В этой статье я расскажу о том, как создавать и продавать shareware – программы для мобильных аппаратов на базе операционной системы Symbian. Данный материал отличается тем, что основан на моем личном опыте в построении с нуля малого бизнеса по разработке и продаже ПО для смартфонов. Мы изучим что нужно, чтобы стать не только квалифицированным, но и успешным разработчиком.


Что такое Shareware применительно к мобильным платформам



Shareware – это прикладное программное обеспечение, которое создается группой разработчиков или одним разработчиком с целью извлечения прибыли от продажи лицензий конечным пользователям.



Не секрет, что большинство программистов пишет программы в той или иной степени на заказ. Будь то заказ прямого работодателя, либо разовые заказы в случае фриланса ‐ все это работа по чужому ТЗ (это если повезет), либо по чужому описанию на уровне «хочу кнопочку, которая всем делает хорошо» (а вот так бывает чаще всего). В 99,99% случаев начинающие программисты вполне комфортно себя чувствуют в таких условиях (особенно фрилансеры), но по прошествии времени некоторые из них теряют интерес к разработке ПО, придуманного другими людьми и концентрируются на воплощении своих собственных идей, надеясь при этом еще и заработать. Можно писать целую книгу о том, как люди становятся производителями Shareware, но, если обобщить, то к этому разработчиков подталкивают следующие причины:


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



Специфика данной деятельности применительно к настольным операционным системам за 10 лет существования сферы деятельности была уже неоднократно описана, поэтому я заострю внимание лишь на особенностях разработки ПО для мобильных устройств. Итак, чем примечательна сфера мобильного ПО:


  • Много абсолютно несовместимых друг с другом платформ
  • Специфика разрабатываемого ПО (потребности пользователя ПК и телефона пересекаются очень редко)
  • Специфическое взаимодействие пользователя с аппаратом (многие даже не подозревают, что в телефон можно устанавливать полезные программы)
  • Больше способов доставки контента пользователям мобильных устройств
  • Относительная зависимость от производителей устройств и операторов сотовой связи
  • Относительная сложность освоения технологии разработки



Может показаться, что процесс вывода продукта, скажем, для телефонов Nokia на рынок сводится к схеме «Придумал‐Реализовал‐Начал продавать». Но все несколько сложнее. Далее я буду описывать процесс организации продажи своего ПО с точки зрения разработчика под ОС Symbian. Повторюсь, предполагается, что вы хотите начать зарабатывать, продавая собственное ПО. Сразу могу сказать, что заниматься этим в свободное от работы время не получится. Слишком много усилий требуется приложить, чтобы добиться осязаемого результата. Если вас это не пугает, едем дальше.


Почему Symbian?



Выбор данной ОС в качестве target‐платформы обуславливается исключительно прагматическими соображениями. Как программист‐одиночка вы не сможете покрыть все имеющиеся на данный момент на рынке платформы. Есть смысл сосредоточиться на одной операционной системе. Symbian занимает лидирующее положение на рынке смартфонов (более 50%), соответственно обеспечивает доступ к большей аудитории, а, соответственно, к потенциально бОльшим доходам. Все просто. Кроме того, из всех существующих мобильных платформ только Symbian позволяет получить относительно низкоуровневый доступ к функциям ОС и реализовать серьезный функционал, использующий функции телефонии (отправка/прием смс, перехват звонков, и т.д.). Если прибавить к этому огромное количество пользователей, то выбор и вовсе очевиден. Тут стоит отметить, тем не менее, что писать под Symbian вначале непросто, поскольку имеющиеся практики и парадигмы программирования, применяющиеся при разработке под Windows, используются здесь в меньшей степени, чем при разработке под Windows Mobile, например. Поэтому если вы опытный разработчик под Windows, Linux или Mac OS, вам все равно придется потратить довольно много времени на адаптацию к Symbian.



Еще один немаловажный момент: вам придется зарегистрировать себя в качестве индивидуального предпринимателя (или ООО), поскольку без этого вы не получите необходимый для разработки идентификатор издателя, а также не сможете заключать договора с дистрибьюторами и другими партнерами. Соответственно, придется платить налоги, сдавать декларации, и вообще разбираться в особенностях налогообложения, валютных переводов и т.д.


Процесс создания конкурентоспособного продукта



Если вы в совершенстве овладели технологиями разработки программного обеспечения, то у меня для вас плохие новости – это только начало. Из личного опыта могу сказать, что непосредственно на разработку уходит максимум 30% времени. Остальные 70% ‐ это маркетинг, продумывание концепций продуктов, налаживание связей с партнерами, работа со своим сайтом и сайтами‐партнерами и т.д. Важно хорошенько уяснить, что без качественно написанного кода и хорошо продуманной архитектуры ПО, ваш продукт не будет успешным. Но и выполнение этих двух условий также не гарантирует, что он будет успешным, поскольку любой продукт нужно продвигать. Так что вам предстоит изучить на практике особенности работы с клиентами, освоить маркетинговые приемы, а также научиться договариваться с партнерами.



Попробуйте теперь представить себе аудиторию пользователей ваших программ, которые согласятся покупать вашу продукцию. Вы должны ясно понимать, что только ориентированность на пользователей со всего мира принесет вам доход. Если вы будете делать ПО только на русском языке в надежде, что русские (или тем более украинские) пользователи будут его покупать, то никогда в жизни не заработаете. Поэтому вам понадобится знание английского языка на уровне свободной переписки как минимум. В идеале же нужно иметь версии программ на как можно большем количестве языков – это увеличит ваши шансы на хорошие продажи.



Итак, процесс вывода продукта на рынок в общем и целом соответствует схеме «разработка – продвижение». Рассмотрим теперь более подробно эти этапы с точки зрения Symbian‐разработчика, занимающегося созданием прикладных утилит или игр.


Разработка ПО под Symbian



Эту тему я уже неоднократно освещал в предыдущих статьях, поэтому здесь я хотел бы сосредоточиться на нескольких очень важных для понимания моментах:


  • Данная ОС целиком и полностью построена на объектно‐ориентированной парадигме. Поэтому если вы слабы в ООП, то у вас будут сложности с разбором банального Hello World. Поэтому потратьте время на прочтение какой‐нибудь хорошей книжки по С++, это сэкономит вам массу времени в будущем. Хотелось бы также отметить, что сама по себе Symbian представляет собой шедевр архитектуры ПО, вы поймете это, когда наберетесь опыта работы ней.
  • При разработке вам потребуется постоянный доступ к структурированной информации. Несмотря на то, что крупнейший ресурс для разработчиков forum.nokia.com позволяет найти ответ на практически любой вопрос, я настоятельно рекомендую книгу “Developing Series 60 Applications. A guide for Symbian OS C++ Developers”, а также все книги издательства Symbian Press. Они написаны на понятном английском и по ценности информации мало с чем сравнимы. Указанная книга, например, окупилась мне десятикратно уже на следующий день после покупки. Не советую тратить время на книги, доступные на русском языке – там дикий ад. Помните, что с английским придется подружиться также хорошо, как и с C++.
  • Также вам потребуется доступ к многочисленным устройствам на базе Symbian. Не рассчитывайте отделаться эмулятором и одним Nokia N97, например. В частности, у каждого из семейств платформы S60 есть свои особенности, которые проявляются при разработке программ, использующих функции телефонии, которые невозможно выявить без непосредственного тестирования на реальном аппарате. У меня, например, около 20 телефонов на базе S60, каждый из которых постоянно используется при тестировании.
  • Специфическая среда разработки. Прямо могу сказать, что IDE, более убогую, чем Carbide.C++ я не встречал никогда. По какой‐то причине Nokia перестала поддерживать Microsoft Visual Studio.NET. Кроме того, установка и настройка всех необходимых SDK и утилит уже давно вошла в историю как один из самых болезненных процессов во вселенной. Эмулятор по‐прежнему бесполезен в случае разработки серьезных утилит, задействующих, собственно, функции телефона.
  • Symbian – специфическая система, поначалу она кажется чем‐то очень непривычным и неудобным, но это проходит по мере накапливания опыта. Вам придется изучить несколько ключевых концепций Symbian, которые будут для вас совершенно новыми, но избежать этого невозможно. Тем не менее, стремление к мультиплатформенности начинает затрагивать и Symbian, что выражается в переносе стандартных библиотек C/C++ (которые непонятно зачем там вообще нужны), а также в популяризации технологии Qt. Qt – это очень хорошая инициатива, но важно понимать, что она затрагивает исключительно UI. Поэтому если вы занимаетесь разработкой системных утилит, вы все равно вернетесь к Symbian C++.



Теперь представим, что вы хотите написать программу, предназначенную для фильтрации входящих звонков и сообщений. Такие программы, к слову, самые востребованные пользователями – одних черных списков уже сколько, а все равно покупают. Так вот функционал сюда хочется добавить самый разнообразный – это и блокирование звонков от контактов, выбранных из заданной книги, и блокирование sms/mms, и возможность не сбрасывать, а глушить вызовы, отклонение неизвестных или скрытых номеров, переадресация, масса различных фильтров и т.д. Поскольку мы условились считать, что вы делаете все самостоятельно, то реализация всего этого функционала в одном приложении займет много времени. Не стремитесь в первый же релиз включить все желаемые функции, это приведет лишь к нестабильной работе приложения, что может лишить вас большой части потенциальных пользователей. Лучше выбрать некоторые базовые функции и довести их до разумного совершенства, после чего выпускать продукт на рынок. А потом уже по мере реализации добавлять новые функции, это избавит вас от массы проблем и привлечет лояльных пользователей, видящих, что ваша программа не стоит на месте, а развивается. Именно по такой схеме я начинал продавать свой продукт Blacklist Mobile. Как результат – это одно из наиболее популярных приложений, реализующих функционал черного списка для Symbian.


Продажа ПО



Теперь самое интересное. Предположим, вы написали программу или игру, которая готова к продаже. Назревают вопросы – а как пользователи будут ее оплачивать и как защитить приложение от использования без оплаты? Схема покупки программы через онлайн‐магазины софта все еще возможна, но крайне неэффективна. Проблема в том, что мобильный телефон независим от компьютера, поэтому попытка заставить пользователя покупать программу для телефона через ПК приведет к резкому уменьшению числа продаж. Поэтому необходимо предоставить клиентам возможность покупки софта непосредственно с помощью мобильного телефона. В свое время мне повезло рано усвоить эту истину, поэтому в первых релизах Blacklist Mobile я реализовал систему оплаты софта посредством отправки платных SMS на специально зарегистрированный для этих целей короткий номер. Также был реализован механизм триала – программой можно было пользоваться не более 30 дней, либо блокировать не более 10 входящих событий. Причем пользователю не надо было самостоятельно набирать текст регистрационного сообщения, все делала программа самостоятельно при выборе функции «Оплатить». Недостатком данного подхода являлась привязка к конкретным операторам (МТС, Билайн и Мегафон), а соответственно, и к географии распространения.



Вполне логичным следующим шагом была бы реализация механизма ввода в приложении данных кредитной карты, что позволяло бы оплачивать программу пользователям кредиток по всему миру. Тем не менее, мне удалось наткнуться на разработку от финской компании Openbit, являющейся тем самым менеджером лицензий, который я собирался реализовывать самостоятельно. Openbit License Manager позволяет не только защитить программу от несанкционированного использования, но и оплачивать приложение по всему миру как с помощью кредитных карт, так и с помощью premium sms (у них заключены договора со 100 операторами), что сильно экономит время разработчика. Единственный недостаток данного менеджера лицензий – дороговизна. Его использование стоит 2500 евро в месяц + 10% от продаж. Поэтому окупаться он будет только если у вас более одного успешного продукта. Впрочем, как я уже писал, создание собственного менеджера лицензий также возможно.



В любом случае очень важно иметь функционал оплаты приложения непосредственно из самого приложения. 95% пользователей отказываются от покупки программы, если им необходимо для этого использовать компьютер. Не забывайте об этом.


Продвижение ПО



Итак, у нас готов продукт, в него интегрирован механизм оплаты, дальше что? Дальше нужно каким‐то образом донести продукт до потребителя. Начать стоит, понятно дело, с собственного сайта, который должен быть как минимум на двух языках – русском и английском. Помимо описания программ и ссылок на скачку неплохо бы там же сделать форум и регулярно проводить всякие акции вроде «В честь новогодних праздников скидка 50% на все продукты!», это поможет привлечь лояльную аудиторию.



Но одним сайтом сыт не будешь, особенно вначале, поэтому необходимо освоить все возможные площадки по продаже мобильного софта. Среди них Handango, Symbiangear, Cellmania, и т.д. Большая часть из них работает по принципу покупки софта через компьютер, что автоматически делает их неэффективными. Но таких площадок много, поэтому это именно тот самый случай, когда с миру по нитке собирается.



Среди публичных сервисов по продаже мобильного ПО выделяется Ovi Store от Nokia. Несомненный плюс его для разработчика является предустановка во все современные смартфоны Nokia. Пользователю может через встроенный в телефон каталог загрузить необходимый ему софт. Данный канал продаж является обязательным для использования любым Symbian‐разработчиком.



Среди отечественных интернет‐магазинов ПО хотелось бы отдельно отметить Softkey. Это, пожалуй, единственный отечественный интернет‐магазин, реально озабоченный повышением продаж, включая продажи софта для мобильных устройств. В частности, примечательна совместная акция Softkey и Nokia: теперь в фирменных салонах Nokia по всей РФ потребители могут купить не только телефон, но и сразу установить в него мобильное ПО. На момент написания статьи в салонах Nokia представлены и мои продукты, уровень продаж сопоставим с зарплатой выпускника института в Москве. Неплохой бонус к основным продажам.



Сразу хочу сказать, что не стоит ожидать, что после того, как вы напишите программу распространители ПО накинутся на вас с предложениями продавать ее. Вам придется самостоятельно договариваться со всеми ними, с некоторыми, причем, долго и упорно. Так что придется проявить некоторые предпринимательские способности, иногда диалог с западными партнерами удается вести с трудом. В любом случае, старайтесь выжать из каждого канала продаж максимум, не пускайте все на самотек. Тогда результат будет вполне осязаем.



Описанные выше каналы распространения можно назвать традиционными. Как и все традиционное, они обеспечивают прогнозируемый результат, который сложно назвать выдающимся. Продажа ПО через интернет‐магазины – это обязательный элемент продвижения продукции, но что действительно приносит доход, так это предустановка программ в большие партии мобильных устройств (так называемый pre‐loading). Делается это по договоренности с дистрибьютором телефонов или, если очень повезет, с производителем. В крупную партию телефонов предустанавливаются триальные версии ваших продуктов, что обеспечивает внушительный денежный поток. С дистрибьюторами договариваться сложно и обычно приходится работать через посредника. В моем случае мне удалось через Openbit попасть в 50000 мобильных аппаратов в Великобритании. Повторюсь еще раз – все зависит от ваших способности и желаний договариваться с партнерами. Как я уже писал ранее, именно это самая ответственная часть работы, отнимающая бОльшую часть времени.


Стоит ли оно того?



Все зависит от того, чего вы ожидаете. Разрабатывая и продавая свой софт самостоятельно миллионером стать вряд ли возможно. А вот обеспечить себе адекватный доход и получить при этом возможность реализовывать свои собственные идеи и самостоятельно распоряжаться своим временем – да. Я, например, очень комфортно себя чувствую в качестве независимого разработчика и с ужасом вспоминаю о тех временах, когда сидел в офисе и выполнял задачи, поставленные мне офисным планктоном более высокого ранга.



Другое дело, что многим программистам интересно заниматься исключительно программированием, а весь этот маркетинг и продвижение им чуждо. Мне повезло, что как раз последнее вызывает у меня много больший интерес, чем разработка, так что проблем нет. А вот если вам интересна только разработка, то есть смысл уйти под крыло компании, которая профессионально занимается продвижением ПО, забирая себе определенный процент от прибыли. Обычно у таких компаний уже выстроены все цепочки продаж и имеется внушительная база клиентов. В частности этим занимается SBSH Software (http://sbsn.net). Они берут ваш продукт и продают его через свои каналы, забирая 30% от прибыли. При этом вы по‐прежнему сами занимаетесь разработкой и формированием концепции продукта, не заботясь ни о чем кроме этого. Тем не менее, у этой и у других аналогичных компаний есть проблемы, сужающие круг потенциальных пользователей. Я имел опыт работы с ними, но в результате отказался, поскольку уровень продаж после перевода одного из продуктов к ним не изменился. Поэтому я могу порекомендовать обращаться ко мне – я тоже занимаюсь продвижением программного обеспечения для мобильных устройств, а также имею ряд наработок, направленных на привлечение аудитории.


Что насчет остальных платформ?



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



Windows Mobile – под эту платформу написано больше всего софта, поскольку принципы и методы разработки под нее мало чем отличаются от разработки под настольную Windows. Поэтому разработчики накинулись на WM, применяя накопленные знания. Данная ОС с каждым годом теряет позиции на рынке и, я надеюсь, скоро окончательно исчезнет. Поэтому я бы не советовал тратить на нее время.



iPhone – после Symbian вторая, на мой взгляд, по перспективности платформа, отличающаяся очень четко определенной схемой дистрибьюции ПО – это возможно только через AppStore (не надо мне говорить про jailbreak – этим занимаются только студенты 1‐3 курсов в РФ), которая является как плюсом, так и минусом данной платформы с точки зрения разработчика. Минус в том, что уровень продаж софта через него сложно прогнозируем и сильно зависит от обстоятельств.



Android – потенциал этой платформы очень сильно, на мой взгляд, переоценен. Да, смотрится красиво, но это единственное, чем данная платформа на данный момент выигрывает у Symbian. После выхода Symbian^4 различия в интерфейсе будут минимизированы, а вот функциональная мощь Symbian останется. Да и среда, базирующаяся на Java, тоже не вызывает энтузиазма у серьезных разработчиков.



Blackberry – относительно узкий рынок и, опять же, Java. То есть писать игры получится, а системные утилиты – нет.



Maemo – новая платформа от, фактически, Nokia. Платформа очень интересная, но пока еще слишком молодая, чтобы можно было говорить о ее перспективности. Мало устройств, мало пользователей и, следовательно, малый потенциальный доход с продаж.

Java2ME – если вы разработчик простых игр, то это идеальный вариант для вас. Для всех остальных – бесполезная технология.



Любая более менее крупная софтверная компания, занимающаяся разработкой ПО для мобильных устройств, обязана стараться освоить как минимум 3 из этих платформ. Если же вы одиночка, то выберите одну и не распыляйте свои силы.


Заключение



В данной статье я очень схематично набросал чем предстоит заниматься независимому разработчику ПО для мобильных устройств, желающему продавать свой софт. Прямо скажем, что материал здесь освещен не полностью и вас ожидает масса подводных камней, если вы решили пойти по этому пути. Тем не менее, Рим тоже стоился не за один день, не отчаивайтесь, если все это кажется вам слишком сложным. Читайте побольше мотивирующей и бизнес‐литературы, это даже важнее, чем книжки по программированию. Ни один бизнес не строится с нуля легко и непринужденно. Но получаемый на выходе результат стоит того.



Не стесняйтесь обращаться ко мне, если есть какие‐либо вопросы. Мои контакты:



Web: http://dtarasov.ru

Mail: root@dtarasov.ru

Twitter: dtarasov



Перепечатано с оригинальной статьи с разрешения автора.