Как и положено в каждой истории необходимо начать с вступления.
Я являюсь давним пользователем ОС Windows Phone. На заре становления системы да и сейчас имеется мало как официальных, так и не официальных приложений. Качественные же приложения вообще сложно найти.
Иногда приходится перебирать десяток приложении, чтобы найти именно тот который тебя устраивает, ну или хотя бы качественно сделанные. Одним из таких приложении являлся простой список покупок. Некоторые были слишком просты, другие слишком сложные. И вот тогда было принято решение создать именно то, что мне нужно.
В этом посте не будет ни кусочка кода, а только история начинающего разработчика приложений. Думаю этот материал будет интересен не только тем, кто собирается написать свое приложение, но и тем, кто уже пишет его.
Желание написать приложение появилось после того как я некоторое время прожил в новом городе. Приходилось привыкать к новым местам и магазинам. В такой момент начинаешь понимать, что нужны постоянные проверенные места с нормальной ценой за товары и услуги. А так, как мне тяжело запоминать цены и места купленных товаров, основной фишкой приложения является то, что имеется история покупок и поиск по ним.
В первую очередь были скачены и распечатаны макеты экранов windows phone (спасибо гуглу). После чего начался процесс изложения мысли на бумаги, именно того, что хотелось увидеть в конечном итоге. Лично для меня рисовать макеты от руки всегда было удобнее и проще.
В моем случае это был список покупок, с историей, поиском и парой форм для заполнения данных. Хоть макет приложения и дает представление как должно все выглядеть и работать, узнать, будет ли это удобно можно было только на аппарате.
Особенностью приложения является то, что пользователь покупая товары заносит в приложение данные о магазине и его цене. В дальнейшем при добавлении в список новых покупок товаров, осуществляется поиск похожих и выдача из истории приложения, магазинов с их ценами. Таким образом, вы всегда можете посмотреть где и за сколько купили продукты, вещи и т.д., а также сравнить цены в различных магазинах. В дальнейшем конечно в приложение будут добавлены новые функции.
После того, как макет приложения был утвержден (а он оказался далеко не последним) я решил использовать Expression Blend для создания его цифровой версии. Это удобный редактор по «рисованию» приложении. Чем прописывать все ручками в студии, проще парой кликов мышки расставить все необходимые элементы и установить их свойства. Blend гораздо облегчает жизнь в создании и редактировании макета.
После этого начался долги путь написания кода, поиска ответов на вопросы (отлично помогает гугл и stackoverflow), а также ночи без сна и покоя. Вместе с тем, это был самый завораживающий и интересный процесс. Видеть, как на твоих глазах создается что-то свое, родное, да еще и работающее так, как задумывалось мало с чем может сравниться.
Являясь человеком, не занимающимся программированием профессионально, однако имея базовые знания и руки из нужного места, мне всегда удавалось находить решения на все вопросы и возникающие проблемы. Знание английского здесь конечно очень помогает, так как большинство ответов находятся именно на англоязычных сайтах. Пару раз конечно бывало, что не найдя ответов на то, почему ничего не работает, я мог по несколько дней не прикасаться к приложению. Однако, желание довести дело до конца сделали свое дело.
Главным принципом в разработке приложения являлось его качество и удобство. Ничто не заставит пользователя использовать его, если оно будет глючным или неудобным. Хотелось сделать его интуитивно понятным, простым и главное эффективным. Думаю у меня это получилось.
Когда все было наконец закончено, приложение приобрело необходимы вид и функционал, пришло время публиковаться в магазине. В первую очередь необходимо было у них зарегистрироваться. Прежде чем это сделать необходимо было просмотреть вот этот список, для уточнения, возможен ли вывод средств на счета банков Казахстана. Это является важным моментом, потому что после регистрации изменить страну будет невозможно, и придется регистрироваться заново (и заново платить за регистрацию). В Казахстане имеется возможность вывода средств в местные банки, поэтому введя все нужные формы мне удалось быстро создать необходимый аккаунт.
Для начала я опубликовал бета версию (благо сертификация проходит очень быстро, в течении нескольких часов), для того, чтобы мои друзья и знакомые могли скачать и проверить приложение. Их советы и предложения очень помогли. Кроме того, нужно было проверить работу приложения на различных условиях и с различными данными. Например список покупок в приложении тестировался с парой-тройкой товаров, однако добавив туда пару десятков, обнаружился один баг, который был быстро устранен.
Кроме того, был проведен Store Test Kit, и я даже не поленился пройти все «ручные» тесты, которые позволили обезопасить себя от возможных возвратов при сертификации приложения перед публикацией.
Итак, подготовив скриншоты (советую сделать их в эмуляторе на самом большом разрешении, так как на странице загрузки можно будет их автоматический изменить для всех разрешений экранов), выбрав логотип (а также сделав все его необходимые размеры) из среди тех, что доступны бесплатно, и загрузив приложение, оно ушло на сертификацию. Мое приложение было отправлено поздно вечером, а на утро у меня уже стоял статус pending certification (самый долгий процесс) который означает что вы прошли предварительную проверку, и теперь ваше приложение должно быть испытано на устройстве (перечень всех стадий можно посмотреть здесь). На сертификацию ушло 4 рабочих дня, после одобрения я уже мог скачать его из магазина приложении.
Кстати, советую добавить в приложение google analytics, так как собственная система учета в магазине приложении немного запаздывает (2-3 дня) с обновлением данных. Кроме того, с помощью нее мне удалось узнать, что приложение тестировалось на третий день после его загрузки, в штате Вашингтон, городе Белвью.
После того как приложение было доступно к скачиванию я был расстроен тем, что не добавил возможность получения полного доступа к приложению. Объясню, было решено сделать приложение в демо-версии и платным. Демо-версия отличается тем, что в список товаров можно добавить только 3 товара, в списке истории сохраняется только 10 товаров. Системы раздачи бесплатных приложении по определенному списку в магазине не имеется, поэтому было решено сделать форму введения промо кодов, которые позволяли открывать полный доступ к приложению. Для этого был сделан сайт, на котором имеется база данных промо кодов со статусами активации. Пользователь вводит код, данные уходят на сервер, обрабатываются и выдается ответ о том, что приложение активировано через промо-код.
В связи с этим, пришлось срочно исправлять ошибку и по новой отправлять приложение на сертификацию. Кстати, при указании новой версии приложения, мною была добавлена лишь третья цифра (1.0.1.0) что позволило пройти сертификацию за сутки.
С момент публикации прошло уже больше недели, маркетинг только начинается (начиная с этого поста), а пока приложением пользуются лишь мои знакомые и друзья, поэтому из статистики пока показать особо нечего.
В завершении могу сказать, что написание первого приложения, доведения его до логического конца позволило повысить свои знания, получить немалый опыт и убедиться в том, что если сильно захотеть то всего можно добиться. Кроме того, появилось желание писать больше качественных приложении под данную систему.
Если кого заинтересовало, приложение вы можете скачать вот по этой ссылке.
Кроме того имеется небольшое количество промо-кодов, для их получения пишите на kaliyev.r@live.com (их не так много).