Моя терапия. Мои жалобы и мысли появились у меня в последние пару лет, когда я тратил свободное время на работу над своими сайд-проектами. Просто мысли и мнения.

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

Я слышал о многих успешных проектах во время учебы. Они были созданы с нуля отдельными людьми или небольшими группами преданных своему делу людей. Целенаправленная работа с четкой целью. Все знают истории о Google, Amazon или Facebook.

Но можем ли мы достичь такого же уровня успеха в наши дни? Это не должно быть так сложно в отношении всех доступных инструментов, инфраструктуры и общих знаний (например, переполнение стека). Но может быть подвох.

Как это началось — скучное вступление

Когда я рос, я любил Интернет и компьютерные игры. Это привело меня к изучению компьютеров. Моей первой целью было создание сайтов. HTML, JavaScript и CSS — это было волшебно. Но не так волшебно, как игры. Итак, я поставил новую цель.

Я быстро понял, что это не так просто, как я думал. Я понял, что это работа не для одного человека. Мне понадобится команда специалистов, дизайнеров, графиков и разработчиков. И мое изучение CGI стало более удручающим.

Потом я нашел мобильную разработку. Я слышал истории о разработчике, который создал калькулятор и разбогател на этом. Затем Flappy Bird, игры-головоломки или приложения ToDo. Какого черта? Я думал, что могу найти что-нибудь.

Я пытался изучить и понять Android. Я отказался от Apple, потому что мне не нравится их подход к разработчикам со стороны (сборы, платежи, ограничения). Я выпустил первое приложение и вошел в джунгли, где правит только один король (= Google).

Каждый, кто начинает создавать приложения, думает, что разработка — это самое сложное. Но это еще не все. Но давайте начнем с самого начала.

Идея

Многие люди думают, что идея — это самая большая часть успеха. К сожалению, должен признать, что в большинстве случаев это не так. Вы можете увидеть магазины приложений, наполненные множеством успешных подражателей. Мало того, даже создание более привлекательного интерфейса для любого сервиса может быть довольно прибыльным.

Кроме того, вы можете быть почти уверены, что ваша идея не уникальна. Люди полны идей, и, скорее всего, на каждую идею уже приходится пара неудачных проектов. Это может быть незавершенный заброшенный проект или выпущенный без всякого внимания. Будь честным. Сколько проектов вы начали и так и не закончили? (у меня как минимум 7 с отставанием разработки больше месяца)

Или может случиться так, что новое приложение с идеей, которую вы считали уникальной, выйдет раньше вас. Это случилось со мной с 3 моими незавершенными приложениями. И я потерял интерес. Особенно бороться с командой, за которой стоят крупные инвесторы.

Идея – важная часть проекта. Но это только одна из многих частей. Я пытался относиться к этой идее как к части мотивации. Вы должны подготовить себя к неудачам и борьбе. Но если ваша идея сильна, она может держать вас в движении.

Технологии

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

Наверное, поэтому все крупные успешные проекты сопротивляются модернизации. Если вы разработчик программного обеспечения в каком-то долгосрочном проекте, вы знаете, о чем я говорю.

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

Если ваш проект привлечет более широкое внимание, вы сможете улучшить его позже. Люди могут потратить недели на поиск подходящей технологии для миллиона пользователей, когда у них ее нет. И даже не выпущенное приложение.

Команда

Приготовьтесь остаться в одиночестве. Трудно найти единомышленников. Это может отличаться из-за темы / идеи или из-за разных личностей, интересов и т. Д. Злость не помогает. Считайте это временной помощью на вашем пути.

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

Разработка

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

У каждого свои методы подхода к развитию. Для повышения производительности было создано множество техник, но ни одна из них не показалась мне удобной. Мой подход заключается в том, чтобы идти до полного изнеможения, а затем наслаждаться периодом восстановления. Это не лучший подход, но он работал для меня последние 5 лет.

На мой взгляд, самое главное, чтобы это было весело для вас самих. Не пытайтесь достичь совершенства, лучшей архитектуры, самого чистого кода и идеальных шаблонов проектирования. Это хорошие инструменты, которые помогают, но они не должны быть религией. И они не должны отнимать у вас удовольствие. Конечно, должен быть баланс. Банковское приложение должно следовать рекомендациям по безопасности, в то время как простому калькулятору это, вероятно, не нужно.

Выгореть

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

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

Зависимость данных

Если ваше приложение зависит от внешних данных, будьте готовы. Это могут быть американские горки. Данные о погоде, новости, спортивные результаты, курсы валют и прочее. Обычно нам нужно откуда-то получить эти данные. Найти надежный источник может быть сложно.

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

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

В чем здесь смысл? Бесплатные API ненадежны. Это не значит, что платных нет. Дело в том, что стоит уменьшить зависимость от нескольких источников данных (что может быть невозможно, если вы работаете с агрегатором новостей). Подумайте, сможет ли ваше приложение выжить без используемого вами поставщика данных. Проверьте альтернативы. Это может сломать все ваши усилия.

Прерванные обновления

Это любимый сюрприз от Google. Я понимаю, что улучшения — это хорошо, а безопасность — в приоритете. Но принудительно применять изменения, которые могут сломать ваше приложение, — это не круто. Это может произойти с минимальным поддерживаемым SDK, обновлениями Android и т. д.

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

UI/UX

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

Лучшее, что вы можете сделать, это дать свое приложение своим друзьям и попросить их использовать его. Вы будете удивлены, сколько вещей вы сделали неправильно во время разработки. Адаптация и улучшение использования очень важны.

Бета

Если вы хотите получить больше отзывов, не задев свое самолюбие плохими отзывами, вы можете попробовать бета-версию. Все пользователи станут вашими тестировщиками. Это не дало мне столько ценной информации, сколько я ожидал, потому что обычный пользователь не знает, что такое бета-версия.

Я получил несколько хороших отзывов, поэтому решил выпустить производственную версию. Выяснить, что все отзывы и рейтинг из бета-версии исключены из рейтинга производства. Это то, что вы должны иметь в виду. Вот так мое приложение вышло из бета-версии с 4,8/5 звездами и начало производственную жизнь с 1/5 звездами.

Локализация

Локализация может помочь вам лучше ориентироваться на свою аудиторию. Но вы должны подумать, стоит ли это усилий (2 пользователя или 100/1000 пользователей). Аналитические инструменты отлично помогают отслеживать, в каких странах больше всего скачивают ваше приложение и какой язык вы можете добавить.

Будьте осторожны, локализация может стать проблемой для крупных проектов и может значительно увеличить время выпуска.

Пользователи

В общем, пользователи не тупые. Не недооценивайте своих пользователей. Если вы хорошо спроектировали свое приложение, оно должно быть удобным практически для всех. Некоторые даже могут помочь вам улучшить ваше приложение, и вы сможете найти новых друзей.

Но приготовьтесь к частным случаям глупости. Представьте, что вы работаете над приложением, которое показывает обменные курсы иностранных валют. Может случиться так, что вы получите сканы паспортов людей, чтобы открыть для них счет в вашем «банке» (Борис прислал паспорт Ирины, что-то подозрительное, да?). Или они будут угрожать подать в суд на вас за потерю своих инвестиций. И если вам повезет, вы можете получить письмо с изображением пули и угрозой жизни (все они у меня есть).

Манипуляции

Сегодня этот мир полон инфлюенсеров. К сожалению, большое количество людей отчаянно нуждаются в руководстве. И это может изменить умы многих. Я получил много предложений от влиятельных лиц YouTube, TikTok, Twitter и Facebook. Продвигайте (~ поддельный обзор) бесплатное приложение за 500–40 000 долларов. Нет, спасибо.

Еще один отвратительный метод — платить специализированной компании за увеличение количества загрузок и 5-звездочных отзывов. Цены разные, но они предлагают пакеты со скидкой. Кто-нибудь помнит кошелек Aptos со 100 000 пользователей и 20 000 отзывов за 1 час после релиза?

Я хотел знать, привлекает ли мое приложение реальных пользователей. Я решил пойти по пути органического роста. Я не потратил ни копейки на маркетинг или манипуляции и все же смог привлечь единицы тысяч пользователей (чуть больше 10 000). Он не самый умный, но, по крайней мере, я вижу, что есть спрос.

Выпускать

Это может стать неприятным. Если вы хотите получить более широкую аудиторию, у вас есть только один вариант. Google Play для Android или App Store для Apple. Все остальные варианты - шутки.

Я пробовал сравнивать другие решения для Android, но вы не можете получить такой же охват, как с Google Play от Google.

  • Apptoide — единицы пользователей, не интуитивно понятные
  • Amazon — единица пользователей, плохая поддержка разработчиков, некомпетентные верификаторы
  • Huawei AppGallery — десятки пользователей, ужасная поддержка разработчиков, некомпетентные верификаторы
  • Samsung Galaxy — сотни пользователей, дружественность к разработчикам, хорошие отчеты
  • Яндекс — ноль пользователей, закрыто

У меня работал только Samsung Galaxy Store. Недавно была добавлена ​​новая политика идентификации разработчиков как коммерческих организаций (которым необходимо заполнять больше документов и форм). Отличный инструмент для «повышения безопасности пользователей». И как насолить независимым разработчикам. Поздравляю, серьезно (сарказм).

Google развлекается. Он делает вид, что заботится о конфиденциальности пользователей. Вам нужно будет заполнить многочисленные формы и создать свою политику конфиденциальности и Условия. Если вы думали, что разработка была сложной частью, подождите, пока вы не попытаетесь заполнить политику конфиденциальности всех используемых библиотек. И если и как они отслеживают или не отслеживают ваших пользователей. Меня это раздражало больше, чем вся разработка.

Сообщество

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

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

Маркетинг

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

Монетизация

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

Насколько я знаю, большинство из них запрещают пожертвования, это не должно быть частью вашего приложения. В моем случае мне отказали даже со ссылкой на сайт с информацией о пожертвовании. Если вы следили за новостями Apple App Store и NFT, вы знаете, что не можете обойти это.

Другой альтернативой является показ рекламы. Не волнуйтесь, Google также принимает участие в этом. Но вы должны быть осторожны, чтобы использовать только тестовую рекламу на своих устройствах, иначе вы потеряете заработанные 5 долларов. Google борется за каждую копейку.

По моему собственному опыту, другие сети вообще не приносят прибыли. Только прибыльные результаты были предоставлены объявлениями Google. Не злите лорда Google, иначе вам конец.

Еще одна вещь, которую я сделал неправильно, это исключение Apple, есть статистика, которая показывает, что пользователи iOS готовы платить больше.

Соревнование

Неплохо следить за своими конкурентами. Вы можете получить от них новые идеи или посмотреть, какие идеи они взяли у вас. Это отстой, когда вы конкурируете с проектом, поддерживаемым $$$ штатными разработчиками, но это то, что есть.

Заключение

Развитие — это не только развитие. Это то, что вы должны понять, прежде чем прыгнуть в это. Мы создали очень сложную среду, в которой очень сложно сосредоточиться только на разработке, когда вы хотите выпустить приложение.

Мы живем в мире, контролируемом монополиями (Google — Android, Apple — iOS). Мы вынуждены играть по их правилам, хотя они довольно часто их нарушают. Было несколько попыток других участников, но они не увенчались успехом.

Я считаю, что разработка веб-сервисов или настольных приложений очень сложна для независимого разработчика или стороннего проекта. Не невозможно, но очень тяжело. Я могу наблюдать очень похожую ситуацию в мобильной разработке. Пройти его по-прежнему легче, но становится все труднее, когда на поле выходят более крупные игроки.

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