How To Create A Minimum Viable Product

Next Story

Выше нос: Digg была не Провалом, а Началом.

Примечание редактора: Эта статья написана нашим гостем Эмре Сокулу, основателем и главным архитектором GROU.PS

Вы могли видеть множество различных мнений о том, каким должен быть минимально жизнеспособный продукт, однако не так много статей было написано о том, как его создать. Сам пройдя через процесс создания одного из ранних социальных мешап-проектов (GROU.PS) в PHP 6 лет тому назад, а также LoveBucks, node.js приложения на языке Javascript, которое является аналогом кнопки "Нравится" в Facebook для онлайн монетизации контента (оба в одиночку), хотел бы в нескольких словах описать, что, собственно, изменилось в сфере разработки приложений за последние несколько лет, и всю красоту минимально жизнеспособного продукта.

1. Создавайте его на базе Facebook

Не стройте всё на пустом месте, дайте Facebook Connect справиться со всеми сложностями. Это не только улучшит и сделает ваш сервис более удобным для потребителя, но и сэкономит кучу времени и нервов. Вам больше не придётся иметь дело с бардаком в сессиях, багами в профилях, сборе информации о пользователях, и, наверное самое важное, избавитесь от проблемы забытых паролей и спам-ботов. Разве только ваш продукт не ориентирован на рынок Китая, я не вижу никаких минусов в использовании Facebook Connect. Те же, кто не пользуется Facebook, почти наверняка не попадают в вашу целевую аудиторию, так как это более консервативные люди, которые в штыки встречают любую инновацию. И не стоит забывать что Facebook Connect теперь может позволить также пользоваться информацией об электронной почте людей, использующих ваш сервис.

2. Используйте bootstrap.js

Если ваш продукт начинается как интернет приложение, то рано или поздно перед вами встанет вопрос о переносе его на мобильные устройства. И если вы будете использовать bootstrap.js, различие в использовании разных версий вашего приложения будет таким незначительным, что многие пользователи могут даже не замечать разницу, пока не увидят что держат в руке смартфон а не сидят за компьютером. Поэтому, я называю bootstrap.js отличным примером ориентации на мультиплатформенность без значительных вложений. Эта технология может также оградить вас от уймы лишней работы в CSS, вы можете просто использовать готовые шаблоны.

3. Используйте Cloud

Вне всяких сомнений, cloud недорогой и простой в использовании сервис. git + heroku + a mongo/riak host would save you a ton of time and money because you pay only for what you use. Масштабирование проекта становится намного проще. Потому как привести в компанию специалиста тоже весьма недёшево.
Однако, вы должны понимать что как только ваша компания начинает расти, cloud уже не выход, потому что чем больше она становится, тем большими будут затраты на этот сервис. Очень важно видеть ту грань, перед которой нужно остановить рост компании на cloud серверах и перевести на собственные (как Zynga). Что бы хорошенько нарисовать себе такой поворот событий, представьте себя клиентом Amazon S3 с необходимостью обрабатывать 1 петабайт информации в месяц. Ответ - $50 000 (бывали, знаем). Наверное примерно столько платит Instagram сервису Amazon. Это также оправдывает объяснение Адама Д'Анджело по поводу их использования нового финансирования от Quora.
У нас, в LoveBucks, мы используем heroku. Это не только недорого, просто, и быстро в использовании, но также и надёжно, будучи частью Salesforce созданной на базе Amazon S3.

4. Красота jQuery

Bootstrap.js целиком и полностью зависит от jQuery. Но это не единственный повод использовать эту библиотеку. Если вам больше 30, вы должны помнить как приходилось судорожно выбирать между prototype, jquery, moo и несколькими другими библиотеками web 2.0. Что же, теперь соперничество окончено и победитель очевиден. jQuery является кросс-браузерной, лёгкой, красивой, и у неё уйма поклонников. Трюки с “DHTML” в наши дни так просты, по сравнению с суровыми временами web 2.0.

5. Сфокусируйтесь на ключевой функции

Возможно самой большой ошибкой что я сделал в GROU.PS, было введение в него слишком много особенностей и возможностей. Конечно, в то время из-за этого GROU.PS оказался в топе обсуждений на технических форумах, но, оглядываясь назад, я понимаю что нужно было сосредоточить всё внимание именно на совместном блоге и его синхронизации с электронной почтой. Это дало бы огромные возможности и не исключено, что сайт до сих пор мог бы сделать уникальное предложение своим пользователям. Вместо этого, я добавил в проект множество других особенностей (которые, несомненно, были превосходны). И что толку? Нестабильный продукт, который взял на себя слишком много, и жалобы пользователей на нагромождение функциональностей. (Конечно это было тогда, сейчас, могу вас заверить что GROU.PS является стабильной и приятной во всех отношениях платформой). Всегда имеет смысл начинать с малого. Не забывайте, что даже Dropbox и Google начинали как весьма простые продукты, но зато они были почти совершенны, интерфейс изначального Google почти и не изменился.

В LoveBucks, у нас была опция, предоставлять пользователям тем больше возможностей, чем больше они будут жертвовать на проект. Но в итоге мы решили не использовать это. Мы остановились на привычной схеме распространения через издателя.
Также вы можете использовать ход, которым можно привлечь много внимания. Это ложные ссылки. Когда какой-то посетитель сайта нажимает на них, то попадает на страницу где бы большими буквами говорилось о том что эта прекрасная особенность проекта всё ещё в разработке и скоро будет завершена. Таким образом вы сможете просмотреть насколько популярно планируемое нововведение и решить, стоит ли его реализовывать или нет.

6. SaaS вам в помощь

Безусловно, лучшее в SaaS, это то что она чрезвычайно проста в обращении и вам не придётся тратить время и деньги на обслуживания этой части системы. Вот некоторые другие сервисы которые вас определённо заинтересуют:

  • ChargifySpreedlyRecurlyCheddarGetter для биллинга: уж поверьте, биллинг отнюдь не простое занятие и вы захотите себе в помощники одного из этих работоспособных парней. Иначе, ваше молодое приложение может просто задохнуться от обилия сложных вычислений. Когда же придёт время, вы сразу можете "переселиться" на authorize.net (если вы изначально использовали этот сервис как базу, а вы использовали, потому что эти программы использовали именно authorize.net в качестве API. В качестве преимущества, вам не придётся отдельно создавать страницы оплаты, и всё в этом же духе. В GROU.PS, мы использовали собственные страницы оплаты, и, честно говоря, содержать их было весьма затратным и неудобным, в то время как использование Chargify (которое мы использовали в LoveBucks) буквально сэкономило нам целые недели времени разработки.
  • LiveChatolarkZopimLivePersonSnapEngage: опять таки, чат технической поддержки продукта - это не то что вы хотели бы создавать сами с нуля, даже если ваше приложение само по себе имеет поддержку чата. А почему? А потому что чат тех. поддержки это совсем другое (направленность один-ко-многим, операторы, готовые ответы, необязательная регистрация), и вы ведь не хотите ничего напутать, верно? Лучший пример - снова GROU.PS. На нашем сервисе мы предоставили нашим клиентам прекрасный милый чат тех. поддержки, и, хотя чаты как раз наша специализация, мы всё же отдали предпочтение LiveChat, потому что иначе это просто очередная головная боль.
  • WufooGoogle Apps: Будет много ситуаций в которых вам нужно будет собирать информацию о пользователях, когда им нужно будет загружать какие-то файлы, или даже оплачивать услуги или продукты. В таком случае, я бы отдал предпочтение Wufoo. В GROU.PS, когда мы столкнулись с этой проблемой, мы могли бы воспользоваться нашим сервисом Valet, или же вывести этот вопрос на аутсорсинг в Wufoo, и мы склонились ко второму варианту, потому что пользуясь собственным ресурсом мы не знали окупится ли он, выдержит ли нагрузку, или вовсе не будет нагружен, поэтому было решено просто воспользоваться сторонними услугами (тем более всего за 20 долларов в месяц). В довершение ко всему, интерфейс Wufoo такой сбалансированный, красивый и эргономичный, что все наши сомнения тотчас улетучились.
  • Kissmetricsmixpanel: в GROU.PS, я помню как мы тратили прорву времени на создание аналитической инфраструктуры, установкой Thrift и Scribe только для того чтобы в конце концов построить базу Hadoop для анализа всей собранной информации. Чтож, теперь, слава богу, есть пути гораздо более простые и надёжные. Просто используя kissmetrics или mixpanel и имея просто код HTML вы можете прямо тут анализировать и мониторить всё что происходит на сайте. И это позволит всей команде проекта работать куда эффективнее, самостоятельно проводя анализ интересующих их областей. Опять таки, благодаря красоте и эргономике системы cloud.
  • ZenDeskdesk.com: безусловно, одной из самых важных вещей является служба поддержки, и в этот раз имеется в виду не только чат тех. поддержки. Начиная с самого первого дня, и особенно в этот самый день вам понадобиться обратная связь как никогда, потому как первые клиенты всегда самые ценные. Мой совет: не делайте это через электронную почту, потому что это слишком долго, а вам понадобятся ответы где что и как корректировать в первый же день, в первый же час, поэтому лучше потратьте несколько долларов на ZenDesk, или же desk.com на предоставление этого сервиса.
  • GoodDataRJ Metrics: принятие хороших решений подразумевает наличие информации. Также как и подразумевают её наличие и инвесторы. Так что не стоит сбрасывать со счетов сбор данных и глубокий анализ деятельности сервиса. Лучшее в GoodData это то что это приложение интегрировано и с другими, о которых я говорил ранее, так же как и Google Analytics, также оно может показать вам всякую полезную информацию, такую как "средний жизненный цикл ваших пользователей", или "среднее время отклика отдела поддержки" буквально одним щелчком.

7. Используйте Scribd для хранения документации

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

8. Вместо тысячи слов

Не используйте страницы, кучи текста и нагромождение слов, не делайте громоздкое техническое демо для того чтобы объяснить особенности продукта. Тщательно обдумайте своё сообщение и просто снимите видео. Если вы ограничены в средствах, то можете снять всё и сами, однако я очень рекомендую вам работать с профессионалами в этом плане. Вот некоторые отличные сервисы: Grumo MediaEpipheo Studios, и wdysd, а стоимость заказа может варьироваться от 3 000 до 40 000 долларов. Полный список подобных видео-компаний можно найти на Quora.

9. Нехватка времени и денег? Забудьте Internet Explorer

Да я знаю, на этом ресурсе эта тема уже обсуждалась бесчётное количество раз, так что я не буду вдаваться в подробности. Но если вы чувствуете, что назревает кризис из-за нехватки времени или денег, то бросайте Internet Explorer, наверное самый неприспособленный браузер всех времён и народов. Не забывайте что Chrome является самым популярным и удобным браузером в мире, плюс к этому пользователи Internet Explorer, слишком каноничны и консервативны, так что вполне возможно их даже не заинтересует ваш ресурс. Вы можете просто невзначай упомянуть что для полноты ощущений от вашего сервиса, лучше подходят Chrome или Firefox.

10. Расширяйтесь со временем

Некоторые особенности и возможности не необходимы со дня запуска проекта. Изменились планы? Убрать подписку? Добавить какую-то информцию? Это понадобится и вашему проекту рано или поздно и люди будут говорить об этом. Так что просто перенаправляйте их на you@gmail.com, вашу личную электронную почту, и сами займитесь этими капризными пользователями. Это поможет вам понять какие именно изменения и когда нужно проводить.

Выводы:

Что же до LoveBucks, этот сервис был создан всего за 2 недели. Его база данных уже более 1 гигабайта, и мы выросли с 0 до 45 000 посетителей в день. Нам это удалось благодаря системе cloud и минимальным затратам на продукт.

Заметка об node.js

Есть одна вещь, которую вы хотели бы избежать: не внедряйте новые технологии в ваш проект сразу же, особенно если речь об инфраструктуре. В LoveBucks, я использовал node.js потому что на тот момент она казалась мне совершенной, эргономичной, новой системой, и я поспешил внедрить её в свой проект. Однако она оказалось очень нестабильной и даже немного сырой и неготовой к работе. Также нужно принимать во внимание что язык на котором это самое нововведение написано, должен быть понятен вашим коллегам, потому что им с ним работать. Для GROU.PS, было очень сложно собрать подходящую команду, потому как в Турции (откуда большинство из наших программистов), люди знакомы с технологиями Microsoft, и Java, но не PHP, язык, на котором сам сервис GROU.PS был разработан.