Мое путешествие в мир мобильного программирования началось совершенно случайно. На самом деле, когда я купил мобильный телефон на базе Android в качестве подарка на день рождения, у меня не было никаких официальных знаний о — ну, почти обо всем, что касается платформы Android Mobile.
Я имел большой опыт работы с языками программирования C # / .NET и языками ассемблера, которые относятся к эпохе ZX-Spectrum и, будучи настоящим фанатом, я решил, что тоже хочу испытать удачу с Android. О, мальчик, какое это было путешествие!
В этой статье я хотел бы помочь вам, разработчикам с аналогичным опытом и новичкам в программировании на Android, познакомиться с некоторыми подводными камнями в разработке и маркетинге приложений для Android, а также с рисками публикации ваших приложений. ,
Как все начиналось
Локальный конкурс разработки приложений для Android дал мне толчок, необходимый для начала изучения этого универсального языка программирования. При этом мое первое заявление было обречено с самого начала: у меня было всего около 30 дней, чтобы отправить готовый продукт. Если вы не придерживаетесь строгого графика, пожалуйста , не повторяйте эту ошибку. Дайте себе время изучить Java и ОС Android.
Вначале я был камнем преткновения для настройки Eclipse для работы с Android SDK. Излишне говорить, что руководство Mobiletuts по программированию на Android в то время не существовало, и делать это самостоятельно было настоящей болью. 🙂
Вторым камнем преткновения было, как вы можете себе представить, изучение языка программирования. Синтаксис не должен быть проблемой, если вы когда-либо сталкивались с языком программирования на C, но есть некоторые особенности в разработке для Android, которые достаточно хорошо освещены в официальном руководстве Google. В нем представлены простые и понятные примеры того, что можно сделать с помощью ОС Android. Я также рекомендовал бы разработку беспроводных приложений для Android Шейном Кондером и Лорен Дарси. Шейн и Лорен также являются частыми участниками Android на этом сайте.
Наконец, я должен сделать вывод, что самой сложной задачей было не справиться с Java или Android SDK, а скорее узнать, чего хотят пользователи от типичного приложения Android и как предоставить им достаточно полезных функций.
Первоначальное применение Worldscope 1.0
Как мне нравится думать, ваше первое хорошее приложение для языка программирования — это процесс обучения; с каждой строкой кода вы понимаете, что ничто не может помешать вам победить его. Тем не менее, даже если у вас есть отличная идея о том, как стать Android-приложением, на данный момент, вероятно, будет лучше, если вы не начнете его разрабатывать сразу. Отложите это, позвольте этому остыть в течение некоторого времени. У вас, вероятно, недостаточно знаний, чтобы превратить его в шедевр. В поисках вдохновения для того, что станет моим первым приложением, я признаюсь, что просматривал магазин приложений для iPhone, чтобы узнать, что там работает, что может послужить основой для того, что вскоре стало Worldscope. Я рассуждал, что если по какой-либо причине Worldscope окажется дрянным приложением, я по крайней мере получу ценные сведения о программировании на Android, и мне не придется беспокоиться о том, чтобы кто-то украл мою убийственную идею и улучшил ее. 🙂
Итак, Worldscope 1.0 был немного дрянным. Это был просто «Привет мир», и это было одной из причин, по которой его не приняли среди наших первых пользователей. Я не учел их потребности, что было большой ошибкой, потому что:
- Некоторые функции, очевидно, не были интересны, например, поиск последних веб-камер, просмотренных другими. «Последние просмотренные вами веб-камеры (история просмотров)», представленные в 2.0, были приняты гораздо лучше.
- Элементы пользовательского интерфейса, такие как контекстное меню (длинное нажатие), должны были быть заменены, поскольку некоторые исследования показывают, что они часто никогда не обнаруживаются пользователями. Я удалил контекстные меню и заменил их более подходящими значками, которые отображаются при «щелчке» (короткое нажатие).
- Чрезвычайно используемые в 2.0 версии не существовали в предварительной версии, такие как возможность поиска по карте.
- Ему не хватало визуальной привлекательности.
Все это (включая некоторые уродливые ошибки) привело к нескольким плохим комментариям и оценкам на рынке Android, что преследует меня до этой даты. Я мог бы избежать всего этого, если бы только я сделал домашнее задание и ждал несколько дней, прежде чем публиковать Worldscope. День умнее ночи!
Если вы оставите только один совет из этой статьи, я рекомендую оставить этот: люди, которые не любят ваше приложение, также будут комментировать больше всего . Это может помешать успеху вашего приложения гораздо больше, чем вы можете себе представить!
Поэтому всегда принимайте меры предосторожности, прежде чем подавать заявку в магазин. Спросите себя: «Это лучшее, что я могу сделать?» Если нет, пересмотреть. Первые впечатления учитываются.
Кроме того, не забудьте сделать много устранения ошибок. Не удивляйтесь, если кто-то скажет: «Ваше приложение не работает на смартфоне X». В отличие от iPhone, Android устанавливается на множество различных телефонов, и иногда сложно сделать так, чтобы все воспринимались одинаково. Вот почему вы должны протестировать свое приложение на максимально возможном количестве устройств.
Вероятно, самый простой способ сделать это — использовать службы удаленного тестирования, такие как Perfecto mobile и Device где угодно , которые предлагают вам как платные версии, так и короткие бесплатные пробные версии их сервисов. Однако имейте в виду: время бежит быстро! Сначала убедитесь, что все отлично работает на вашем локальном компьютере в различных эмуляторах и ситуациях (ширина телефона, экраны и т. Д.), И только затем приступайте к удаленному тестированию. В противном случае вы можете столкнуться с нехваткой времени и высокими расходами очень скоро.
Позорные примеры
Я знаю лучше, чем думать, что мой код совершенен, но некоторые ошибки, которые я совершил с Worldscope, могут показаться смешными:
- Конкурс Worldscope был отправлен для того, чтобы он работал над SDK версии 1.6 или выше. Worldscope не использовал никаких функций, недоступных в 1.5, но эта настройка осталась в моем манифесте приложения, что стоило мне 12% потенциальных пользователей !
- Я не тестировал приложение на GPRS, а только через Wi-Fi. Некоторые ошибки появились именно на медленных интернет-соединениях, что я понял только после нескольких катастрофических рейтингов на Маркете. Тест в реальных ситуациях!
- Я не очень внимательно описал Worldscope и забыл указать, что он предлагает только неподвижные изображения, а не видео с веб-камеры. Многие плохие комментарии были специально связаны с этим фактом:
Дальнейшие изменения
Несколько плохих комментариев, которые я получил вначале, не обескураживали меня. Это просто означало, что мне нужно было стараться изо всех сил, чтобы улучшить Worldscope. Моим первым шагом для этого был мозговой штурм. Как люди хотели бы использовать Worldscope? Какие интересные функции доступны в данный момент с веб-сайтов? Что еще более важно, есть ли какие-то функции, которые люди не хотят?
Я сидел и тщательно обдумывал эти вопросы, просматривал пару полученных электронных писем (я думаю, что их было бы больше, если бы я предоставил простой способ связаться со мной, что я и сделал в более поздних версиях), нашел время, чтобы просмотреть некоторые комментарии, полученные другими заявками, и соответственно пересмотренный Worldscope.
Во-первых, он получил новый слой краски как в мобильной версии, так и в Интернете . Затем я добавил функциональность, которая оказалась решающей для его лучших оценок:
- Поиск по карте. Как я уже говорил в предыдущей главе, это была одна из самых полезных функций 2.0 в соответствии с комментариями пользователей. Поначалу это отвлекало!
- Сохранение любимых веб-камер в группы (например, Трафик, Пейзажи, Города и т. Д.).
- Установка веб-камер в качестве обоев и обоев для автоматического обновления. Нет необходимости заставлять пользователей запускать приложение для такой простой задачи.
- Простая кнопка обратной связи (чтобы связаться со мной), «подписаться на твиттер» и комментирование в Android-маркете одним щелчком мыши. Таким образом, пользователи, которым это нравится, могут быстро оставлять хорошие комментарии. Это очень помогло мне подумать о новых возможностях и улучшении Worldscope. Я также считаю, что пользователи чувствуют себя лучше, когда знают, что могут легко общаться с человеком, чье приложение они используют. Подумайте 37 сигналов .
Приложите усилия здесь! Если вы следовали моему совету и сделали свое первое приложение похожим на ранее существовавшее, отметьте, что оно делает хорошо и какие комментарии оно получает. Учитесь на ошибках других разработчиков, а не на своих.
А потом…
По мере роста вашего приложения оно также будет привлекать больше внимания со стороны других людей. Worldscope впервые получил предложение о китайском переводе (от Goapk ) и представлении на китайском Android Market, а также о французском переводе от одного из наших пользователей (это было замечательным признанием моей работы).
Хотя вы можете быстро отрицать тот факт, что Worldscope «говорит» на пяти языках (в конце концов, «английский — это король»), именно это заставило многих пользователей использовать Worldscope:
Показатели AdMob для мобильных устройств, май 2010 г.
Смотреть рынки
Я считаю, что одна из важных вещей, которые вы должны учитывать при публикации своего приложения, — это где публиковать. Хотя официальный рынок Android является обязательным, есть много других хороших мест (многие из них также с лучшими параметрами поиска), которые могут привлечь множество пользователей в ваше приложение. Кроме того, если вы хотите продать свое приложение, официальный Рынок не доступен нигде в мире, поэтому альтернативные торговые площадки могут быть вашим единственным шансом продать.
Убедитесь, что люди узнают ваше приложение, прежде чем загрузить его. Тщательно продумайте, что вы собираетесь сказать на странице загрузки и как лучше донести свое сообщение.
Вот некоторые сведения о фактическом количестве загрузок с разных рынков после первых шестидесяти дней Worldscope:
Вы также должны помнить, как «скачки» в загрузках обычно происходят, когда происходит одна (или более) из трех вещей:
- Публикация новой версии. Google продвигает новые версии в своей категории «просто в» на Android Market.
- Получать хорошие отзывы
- Быть спорным. Это не должно быть радикальным, но если вы заинтересуете свою толпу, вы увидите, что использование растет только из уст в уста. Однако имейте в виду, что это не «официальный» совет, и вы никогда не должны переусердствовать.
Вот почему я пытаюсь публиковать исправления и новые функциональные возможности для Wourldscope один раз в одну-две недели. Однако обратите внимание, что я публикую не только ради публикации , а только потому, что считаю обновление важным. Я не думаю, что вам будет полезно, если вы будете делать «невидимые» обновления каждый день, и я не рекомендую делать это.
Возвращаясь к реальным данным из Worldscope (я использую Flurry ), вы заметите, что число новых пользователей росло каждый раз, когда я обновлял Worldscope. Также замечательно, что общее количество пользователей со временем выросло, к чему вы должны стремиться.
Особенно выделяются 26 августа и 15 сентября.
Советы мы попробуем в следующий раз
Заметьте, как я сказал «мы» в названии? Двое моих сыновей присоединились ко мне в моем квесте по программированию для Android, каждый из которых имел собственную область знаний (веб-программирование и дизайн) и проделал огромную работу для Worldscope. Итак, вот небольшой совет: если кто-то с вашими навыками может помочь вам (особенно в больших проектах), примите его помощь!
С моими сыновьями в команде мы начали думать о других вещах для будущих приложений для Android. Во-первых, мы слышим, что социальные сети, такие как Twitter и Facebook, сегодня все в моде, и мы активно думаем о создании собственного блога.
Блоги помогают находить связи в онлайн-мире и часто помогают вам создать лояльных читателей, которым интересно то, что вы хотите сказать. Подумайте об этой ситуации: у вас есть Android-приложение о путешествиях. Джо активно читает ваш блог, и вы делитесь хорошими советами. Однажды Джо нужно приложение для Android о путешествиях. Как вы думаете, он собирается посетить в первую очередь?
Хорошим примером такого использования блога является « Сигнал против шума от 37Signals», где публикуются статьи, тесно связанные с веб-разработкой и дизайном. Они также продают веб-приложения, ориентированные на людей в индустрии веб-дизайна. Это состязание на небесах!
Что касается социальных сетей, они великолепны, потому что они могут быстро обновлять большие группы людей, и у них уже есть большое сообщество, использующее их.
Вывод
Независимо от того, насколько вы готовы опубликовать свое приложение, ошибки почти всегда будут существовать, и ошибки будут появляться, когда вы меньше всего их ожидаете. Раннее и частое тестирование , а также прослушивание вашей аудитории поможет сократить их до минимума.
Всегда помните, что люди будут судить книгу по ее обложке. Подумайте о разработке хорошего приложения (Worldscope постоянно пытается развивать его фактор «привлекательности») и подумайте о потребностях и желаниях пользователя. Дополнительные параметры не всегда равны большему числу пользователей, и, возможно, вскоре вы столкнетесь с парадоксом выбора в его самой уродливой форме.
Не забывайте упрощать в разумных пределах и никогда не забывайте, для кого вы пишете весь этот код (подсказка: речь идет не только о вас).
Последний сюрприз
Хотя мы рекомендуем использовать последнюю версию Worldscope, вот файл APK 1.2, чтобы вы могли сравнить его с тем, что существует сегодня: