Текст книги "Как написать и продать свой PHP скрипт"
Автор книги: Самуэль Акопян
Жанр:
Научпоп
сообщить о нарушении
Текущая страница: 1 (всего у книги 2 страниц)
Самуэль Акопян
Как написать и продать свой PHP скрипт
Вступление
Прежде, чем Вы окунётесь с головой в этот текст, я хотел бы начать с небольшого дисклеймера. Итак:
– всё сказанное здесь является результатом личного жизненного опыта автора;
– мнение автора может не совпадать с мнением читателей по многим вещам и это нормально – не надо пугаться;
– везде по тексту словосочетание “PHP скрипт” можно заменить на “C++ программу”, “мобильную аппликацию” или “мою супер-дупер application” – основной смысл написанного практически не изменится;
– это не монография с замахом на докторскую диссертацию, скорее небольшая инструкция к действию для тех, кто в лодке (ну или собирается в неё запрыгнуть);
– в тексте иногда я буду использую технический сленг, характерный для разработчиков програмного обеспечания (ПО), поэтому прошу не пугаться;
– все указанные в тексте компании и ссылки на их сайты даны только в качестве учебных примеров и никаким образом не являются призывом к приобретению их продукции или услуг;
Итак, Вы написали свой первый (или 99-ый) по счёту скрипт на PHP и решили на нём немного заработать!
Ура! Поздравляю, Шарик – ты балбес (с), то есть “Вау!”… это круто! Вы стали одним из десятков миллионов людей на Земле, кому пришла в голову эта гениальная мысль. Проблема только в том, что сегодня у Вас есть огромная куча конкурентов, которым та же мысль пришла в голову гораздо раньше и, вероятно, часть из них уже смогла её довольно успешно реализовать.
Кто виноват?
Никто!
Что делать?
Для начала дочитайте эту книгу до конца и, возможно, Вам станет яснее – какими должны быть Ваши дальнейшие действия.
Далее… могу Вас успокоить, – эта мысль посещает рано или поздно почти любого софт-разработчика.
Посмотрите вокруг – сколько успешных людей, которые смогли создать и раскрутить свой продукт или бизнес. Мы живем в эпоху стартапов!
Вы не виноваты в том, что кто-то додумался до этого 10, 15 или 20 лет назад (может Вы ещё тогда и не родились?) и поэтому… если Вы всё же твёрдо настроены на успех, то… что ж, лучше поздно, чем никогда.
Итак, что делать? Не сидеть сложа руки.
Да, рынок уже перенасыщен, и не тот, что был раньше. Но на самом деле сегодня возможностей продавать свои PHP скрипты не меньше, чем 10-15 лет назад, а в чём-то это даже намного проще сделать, чем раньше (преимущества развитого рынка).
Ниже по тексту Вы найдёте всё что Вам нужно знать для того, чтобы начать продавать свой PHP скрипт (ну или… почти всё).
Выбор проекта
Тут я сделаю небольшое вступление и объясняю, о чём пойдёт речь и зачем это всё вообще нужно.
Выбор типа проекта
Вообще, прежде чем Вы начнёте что-то делать, давайте определимся: что-конкретно Вы ждёте от своего проекта. Я, вообще, по-жизни человек – фанат определений. Поэтому очень важно понять и определить для себя, какой тип проекта Вы собираетесь разрабатывать. От этого полностью зависит стратегия его раскрутки.
Существует несколько основных типов проектов:
1. Благотворительный.
2. Личный (персональный)
3. Большой общественной важности (пользы)
4. Бизнес-проект.
Каждый из этих типов имеет свои ограничения и свои правила раскрутки и привлечения средств. Давайте рассмотрим их поподробнее. Вам очень важно понять какой тип проекта Вы собираетесь создавать, чтобы у Вас было чёткое понимание того, что нужно делать, что можно и чего не стоит ожидать. А то иногда бывает так, что люди создают личный проект, вкладываются в него как в личный проект и ожидают отдачи как от бизнес-проекта, а отсюда – разочарование. Извините, но так это не работает. Поэтому, давайте определяться.
Благотворительный
Из названия понятно, что к этому типу проектов я отношу такие, где Вы создаёте что-то, что предназначено для бесплатного пользования другими людьми. Например: сайт-визитка детсада №8 (куда Вы ходили в детстве) или сайт-реклама рыцарского фестиваля для Вашего друга, движок блога с красивым дизайном, скрипт-напоминалка о днях рождения друзей и т.д.
В общем, Вы уже поняли? Всё, что Вы собираетесь создать и отдать в бесплатное пользования другим людям.
Соответственно, денег Вы с этого проекта зарабатывать не собираетесь. А значит и средства на его создание это: Ваши личные ресурсы (в крайнем случае Ваших друзей или близких). Создавать его Вам придется в свободное от основной работы время. Этот проект – это просто Ваш дар человечеству, Ваш личный вклад в общество, Ваш персональный волонтёрский проект.
Подводим итоги
Вложения:
Ваше личное время и персональные ресурсы.
Прибыль:
Внутреннее моральное удовлетворение от принесённой пользы другим людям. Улучшение “кармы”.
Личный (персональный)
Персональный проект, это проект, который Вы делаете для себя. Поэтому и основной, даже единственный бенефициар здесь – это Вы. Что может являться примером личного проекта? Например, Вы написали какой-нибудь компонент и выложили его на GitHub или сделали аппликацию для мобильного телефона, которая ведёт учёт рабочего времени или в автоматическом режиме проверяет наличие свободных мест на сайте заказа очереди к врачу. В любом случае это что-то что в первую очередь нужно Вам, а не кому то ещё.
Возможно Вам это нужно для портфолио, для самоутверждения или для приобретения опыта. Суть всё равно остаётся одна – Вы главный и, возможно, единственный получатель выгоды.
Подводим итоги
Вложения:
Ваше личное время и персональные ресурсы и возможно, помощь от друзей.
Прибыль:
Внутреннее моральное удовлетворение от созданного продукта, повышение самооценки, профессиональное развитие, улучшение своего портфолио. Возможно, небольшая прибыль от заказчиков по кастомизации Вашего продукта под их нужды.
Социальный (большой общественной важности)
Проект большой общественной важности, как и благотворительный, нацелен на аудиторию вовне, то есть не на Вас. Но, в отличие от последнего, имеет две важные характеристики. Во-первых, он охватывает гораздо большую аудиторию (а не просто отдельные группы людей), а во-вторых, требует привлечения спонсоров и добровольцев, помогающих развитию и продвижению проекта.
Отсюда можно сделать вывод: при правильном подходе и раскрутке, а также поиском действительно заинтересованных спонсоров – такой проект может принести Вам деньги сопоставимые со средним доходом. Или же просто обеспечить Вам занятость на полный рабочий день за зарплату. Вытекает это из того простого факта, что подобного рода большие проекты невозможно полностью содержать за счёт волонтёров.
Как минимум, управляющему нужно платить зарплату.
Хорошим примером такого проекта является Wikipedia, бесплатные фреймворки, такие как Laravel, Yii (когда они только раскручивались) и т.д.
Подводим итоги
Вложения:
Ваше личное время и персональные ресурсы, помощь друзей и единомышленников. Очень важна помощь спонсоров.
Прибыль:
Внутреннее моральное удовлетворение от созданного продукта или услуги, повышение самооценки, профессиональное развитие, улучшение своего портфолио. Возможен заработок на постоянной основе в качестве управляющего, небольшая прибыль от рекламы.
Бизнес-проект
Этот тип проектов как и социальный, также нацелен на аудиторию вовне. Самое главное отличие его от трёх предыдущих в том, что здесь основная цель – это прибыль. Я бы даже сформулировал это следующим образом: первейшая и важнейшая цель бизнес-проекта – это получение прибыли.
Отсюда соответственно вытекает и способ организации компании, её цели, её маркетинговая стратегия и прочее. Но…! Всё упирается в прибыль. Если проект не преследует цель – получение прибыли или непонятно каким образом её получить, то это, увы, не бизнес-проект, а что-то другое.
Поэтому внимательно подумайте каким образом Ваш продукт или услуга смогут продаваться и приносить прибыль.
Подводим итоги
Вложения:
Ваше личное время и персональные ресурсы в большом объёме. Инвестиции в дело Ваших партнёров или сторонних инвесторов.
Прибыль:
Внутреннее моральное удовлетворение от созданного продукта или услуги, повышение самооценки, профессиональное развитие, улучшение своего портфолио. Возможно – изменение Вашего социального и профессионального статуса. Возможно – большая прибыль от продажи Вашего продукта или услуги.
Почему так важно определиться с типом проекта?
Самая главная причина, по которой важно определиться с типом проекта заключается в том, что это поможет Вам избежать ошибочных действий и избавиться от неверных ожиданий, сэкономить Ваше время. Ну и, конечно, правильное понимания типа своего проекта поможет Вам распределить свои силы и ресурсы в нужном направлении. Поясню на простом примере. Если Вы развиваете проект как социальный, то не следует ожидать от него отдачи как от бизнес-проекта.
Поверьте, я видел такое не раз: человек разрабатывает что-то, что больше похоже на личный или социальный проект, а продвигает (продаёт) его как бизнес-проект. При этом он совершенно не понимает, как его проект будет приносить деньги. А суть в том, что социальный или личный проект не предназначен для заработка денег – у этого типа проектов совершенно иная цель и достигается она совершенно иными средствами, чем бизнес проекты.
Правильно определитесь с типом проекта – сэкономите себе время, ресурсы и нервы.
И напоследок: технически возможно перейти из одного типа проекта в другой. Если, например, Ваш личный проект вдруг нашёл потенциально прибыльную нишу и Вы видите, что он может выйти на другой уровень. Другой вариант – это когда Ваш бизнес-проект изжил себя, но его идея всё равно настолько привлекательна, что Вы решаете не закрывать его, но просто перевести в разряд социальных. В итоге проект продолжает жить, пусть даже и не принося никакой прибыли.
Почему это работает?
Теперь, когда Вы определились с типом проекта, давайте поговорим о том, как и почему это работает.
Во-первых, в силу того, что PHP активно используется в вебе (слышали сказ про то, что 70% сайтов написаны на нём?). На PHP, как на популярный язык программирования, и на продукты написанные на нём существует определенный спрос.
То есть, если Вы напишите что-то на языке, который используют кроме Вас ещё 3 человека, то шансы продать это произведение софтверного искусства будут скорее всего невелики и наоборот… Логично, не так ли?
Во-вторых, раз уж существует спрос и он не маленький, то тут в действие вступает Теория Большого Рынка (сам её выдумал, не ищите в Интернете). Теория гласит – когда рынок огромен (а сегодня это так – ведь у нас через Интернет есть доступ практически ко всем уголкам Земли), то на этом рынке можно продать практически всё, – главное знать как! В каком количестве и за какие деньги – это уже другой вопрос. Но условно говоря, если на рынке есть 100 продавцов, а вы оказываетесь 101-ым, то и для вас найдётся место под солнцем, так как всем остальным придётся уступить всего лишь 1/100 своей доли на рынке, что может пройти практически незаметно (преимущества развитого рынка – как я уже упоминал выше). Если Вам хоть раз в жизни приходилось что-то продавать на городском рынке – запчасти от ЗАЗа, ящик помидоров с истекающим сроком реализации или просто старый неработающий видеомагнитофон, то вы меня поймёте. Когда Вы говорите “подвинься” одному единственному продавцу, то Вас видно и слышно всему рынку, но когда вы говорите “подвинься” сотне продавцов, то Вас вряд ли кто-то вообще заметит и если Вы расположитель у входа на рынок и станете громко расхваливать свой товар, то к концу дня что-нибудь да и продадите.
Отсюда простой вывод – на большом рынке можно продавать многое (и даже не всегда супер качественное – хотя это, конечно, не повод писать всякую ерунду!). Для нас это означает, что при правильном подходе на ваш товар всегда найдется покупатель и, возможно, даже не один. Как говорят, если Вы продали один раз – это случайность, если два – то это уже закономерность, ну а если три раза – то, возможно, нащупали потенциальный рынок.
Если ли в этом вообще какой-то смысл?
Думаю, что смысл есть и вот почему.
Даже если из всей этой затеи у Вас ничего не получится, – Вы всё равно приобретаете поистине бесценный опыт. Продвижение своего продукта на рынке требует намного больше знаний, чем есть у обычного разработчика и для успешной реализации проекта Вам придётся освоить немало смежных специальностей. Всё это в конечном счёте расширит Ваши горизонты и сделает Вас гораздо более продвинутым человеком в своей области, чем остальная масса народа в том офисе, гду Вы работаете. А кроме того – изменит Вас в целом как личность в лучшую сторону.
Вы сможете ближе узнать рынок и понять, что ему действительно нужно: какие технологии востребованы, какие уже загибаются и прочее.
Вам придётся получать отзывы клиентов, фиксить свои баги – это может дать Вам понимание того, как не нужно писать код или наоборот, как писать его таким образом, чтобы этих самых багов было как можно меньше (глобальная проблема всех программистов). Всё это в конечном итоге будет способствовать выработке лучшего стиля программирования, ведь Ваш код будет проверяться в “настоящих боевых" условиях рынка.
Если на своей текущей работе Вы работаете над одним проектом, то новые знания и расширенный горизонт окажутся совсем не лишними, особенно, если Вы решите сменить эту работу на другую. Вполне вероятно, что приобретённые знания даже дадут Вам конкурентные преимущества по сравнению с другими кандидатами.
И последнее, кому-то это покажется спорным, но я считаю, что успех в продаже своего скрипта можно смело указывать в своем резюме. Лично я, зная сколько усилий и упорства требует организация и раскрутка своего мини-бизнеса по продажам софта, при прочих равных, отдал бы предпочтение кандидатам именно с таких опытом. Ведь это всё равно, что работать в одном лице разработчиком, тимлидом, проджект менеджером и продавцом.
Ну и… что тоже немаловажно, опыт продаж лишним в жизни не бывает, – не знаю никого, кому он мог бы помешать… Да, да… я уже слышу как Вы готовитесь произнести: да я вообще не продавец…, ненавижу продавать…, терпеть не могу продажи и всё, что с ними связано… и т.д и т.п.
Поверьте мне на слово!
Опыт продаж (не важно чего) – это одна из немногих вещей в жизни, которая всегда (да, Карл, всегда!) пригодится Вам в жизни.
Предпродажная подготовка
Ну… а теперь всё самое интересное. Готовы? Тогда поехали.
Вы действительно хотите продавать вот ЭТО?
Я не знаю, что Вы там написали и как Вы это написали – всё это абсолютно не важно.
Потому что не так важно ЧТО Вы продаёте, но важно КАК Вы это продаёте!
Мне вообще пофигу, что у Вас там какая-то супер-пупер идея, которая совершит революцию в мире программирования или чего-то там ещё (у меня самого таких идей с пару десятков, аккуратно записанных в специальной тетрадке). За последние 100 лет по этой земле ходили миллионы людей с невероятно крутыми идеями (лучше, чем у Вас), а также с карманами набитыми деньгами (больше, чем у Вас), но было совсем мало людей, которые могли превращать отдельно стоящие идеи в звон конкретно звенящих монет. Кроме того, не всегда хорошая и правильная идея может “выстрелить”, но иногда какая-нибудь “дурацкая” идея превращается в огромный бизнес.
Приготовьтесь, что 98% из того, что Вы услышите будет звучать примерно так:
– Да кому это нужно!?
– Кто сегодня такое продаёт, когда полно бесплатных скриптов и даже лучше чем у тебя?
– Зачем продавать, лучше выложи даром, пусть лучше народ скачивает и благодарит тебя, чем хулит и ругает…
– Это дорого, ты что?! Максимум, что ты можешь просить за такой скрипт – это 5 баксов.
– Ты же понимаешь, что не сможешь написать лучше, чем вон тот бесплатный движок, так что не выпендривайся, лучше займись делом.
– бла-бла-бла и т.д. и т.п.
Важно понять, что если Вы четко решили приобрести жизненный опыт по продвижению и продажам своего скрипта, то попросту должны проигнорировать подобные мнения других людей.
Да-да! Это может показаться странным, но для получения своего первого опыта, а точнее начального опыта, то есть вообще попытки что-либо сделать, лучше на этом этапе вообще ни с кем не советоваться. Иначе велики шансы, что Вы вообще никогда ничего не начнете. Человек существо социальное и очень немногим дано умение проигнорировать негативное, а часто и насмешливое отношение друзей и знакомых. Позже, когда Вы уже немного продвинитесь – начинайте спрашивать советов и искать что и как можно улучшить и сделать правильней.
Выбор названия для скрипта
Как говорил небезызвестный капитан Врунгель матросу Лому: «Как Вы яхту назовёте, так она и поплывет» (с).
Действительно, название продукта играет немаловажную роль в продажах и Ваш скрипт тут не исключение.
Основные функции у названия следующие:
● сообщить потенциальному покупателя сущность продукта. Например: DataGrid Component, Smart YouTube Uploader или даже LittleBlueCMS. Как видно из примеров, название продукта говорит само за себя. Это важно, когда Вы или Ваша фирма не являетесь ещё узнаваемым брендом. Кроме того название уже включает в себя ключевые слова поиска по Вашему продукту.
● застолбить название, торговую марку или зарегистрированный торговый знак. Например: MySoft Uploader, Rokko AdminPanel(TM) или GSX SmartModfier(R), где на первом месте идёт название компании, а на втором – название продукта. Кроме того, из таких названий легко формируется линейка продуктов: GSX SmartModfier(R), GSX SmartDownLoader(R) и т.д.
Некоторые люди, в попытках изобрести уникальное название для своего продукта переходят всякие границы разумного, в результате чего иногда получаются такие монстры как SmartFusion2 SoC или RobasterGeekFusion Pro. Что это, друзья? О чём?
В общем, давая название продукта подумайте хорошенько, а заодно поставьте себя на место покупателя и прикиньте как бы Вы отнеслись к продукту с таким названием. Попытайтесь найти золотую середину между стремлением придумать уникальное имя и удобством запоминания, посмотрите что творится на рынке, какие названия дают продуктам в Вашей нише. В любом случае, на начальном этапе не убивайте на это слишком много времени – помните, что всегда можно сделать ребрендинг.
Оформление скрипта
Когда Вы создаете продукт, желательно чтобы он выглядел хорошо, а лучше – отлично. Все мы знаем, что упаковка играет немаловажную роль при покупке. Можно сказать, что существуют минимальные требования к скрипту, который ожидает увидеть человек, его приобрёвший. В нашем случае упаковку заменяет набор сопровождающих скрип файлов.
Это:
– файл README, где дается основная информация о продукте, его функционале, об авторах, об инсталляции, нужные ссылки и т.д. В принципе, в это файла начнется знакомство покупателя с вашим продуктом после покупки. Поэтому не пожалейте на него времени.
– файл INSTALL, в котором описывается процедура инсталляции и последовательность действий для её осуществления.
– файл UPDATE, в котором описывается процедура обновления с предыдущих версий и последовательность действий для её осуществления.
– файл GETTING STARTED, в котором описывается всё, что необходимо знать для начала работы со скриптом.
Это могут быть HTML или markdown файлы, разные или объединённые в один или просто обычные текстовые файлы. Рекомендую скачать пару скриптов известных компаний и посмотреть, как решены подобные вопросы оформления у них.
Выбор типа кода: открытый или закрытый
Тип кода – это вопрос важный, если не один из основных.
Вам нужно решить, будет ли Ваш скрипт относиться к свободному ПО (открытый код) или к проприетарному (программное обеспечение, являющееся частной собственностью авторов или правообладателей).
Смысл вытекает из названия. Свободное – после того, как Вы отправили его в плавание, Вам не принадлежит и люди имеют право его менять и вносить изменения, иногда даже создавать на его основе новые продукты и продавать их как свои.
Проприетарное – это значит, что владельцем остается автор. В не зависимости от того, какими правами он вас неаделил (даже если Вам дано вносить изменения в код), перепродавать его Ваш клиент уже не сможет, хотя может использовать его для своих проектов.
В целом, это очень грубое сравнение, потому что лицензий существует огромное множество и различий между ними тоже. Единственное, что Вы должны знать – свободное ПО не означает автоматически бесплатное (как многие думают)!
Как правило люди не хотят открывать свой код и вот по каким причинам:
– я написал этот код, а кто-то просто возьмёт и скопирует его;
– я не люблю, когда другие копаются в моём коде и делают мне свои замечания, я пишу как умею;
– я боюсь, что другие найдут баги в моём коде и смогут их использовать для взлома сайтов моих клиентов;
– я боюсь, что люди увидят уровень моего программирования и не захотят покупать скрипт или попросят возврат денег и т.д. и т.п.
С другой стороны, у ПО с открытым кодом есть свои преимущества:
– Существует огромное сообщество сторонников ПО с открытым кодом, множество ресурсов где можно его рекламировать и продавать.
– Ваши пользователи одновременно являются Вашими тестировщиками и даже… разработчиками. Если Вам удастся создать сообщество фанатов Вашего продукта, то часть этих пользователей сможет внести свою лепту в качестве разработчиков, т.е. писать какие-то модули для Вашей программы, предлагать новые идеи в разработке, помогать находить баги в коде и т.д.
– Вы получаете бесплатную обратную связь от своих пользователей (что не маловажно если у Вас небольшая фирма и нет денег разориться на качественную проверку кода – QA).
– Быть разработчиком ПО с открытым кодом – это очень интересный и полезный опыт, который Вам обязательно пригодится в будущем.
В общем, решать Вам – здесь нет однозначного ответа что хорошо, а что плохо. Всё зависит от бизнес модели, которую Вы хотите реализовать.