Войти

Или войди с помощью

Dev Story Ребенок под присмотром. История о родительской опеке

Информатор avatar |

ТЕКСТ: АНДРЕЙ ЕРМОЛАЕВ. С удовольствием читаю недавно появившуюся рубрику Dev Story. Эти истории опровергают сложившийся стереотип, что сейчас в App Store могут чего то добиться только крупные компании с огромным маркетинговым бюджетом. Конечно, по сравнению с командами, которые презентовали свои приложения в “Dev Story”, я считаю себя просто любителем. Но, тем не менее, хочу рассказать свою историю. На своем примере, хотелось бы показать, что не все места в App Store заняты, и даже такой непрофессионал как я смог написать приложение, которое за 3 дня попало в десятку русского App Store в категорию Top Free iPhone Navigation Apps.

Как возникла идея

Я являюсь большим поклонником известной фруктовой компании и программирование это мое хобби. Захотелось мне написать что то для iPhone, но не просто какое то приложение, а что то полезное. Идея пришла почти сразу. У меня сын ходит в школу далеко от дома, и я часто звоню ему после уроков, чтобы узнать, как он добрался. Но очень часто я просто слушаю длинные гудки в трубку телефона, так как мой сын забыл после уроков отключить режим «без звука» на своем телефоне и просто не слышит мой вызов.

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

Название для приложения пришло сразу Child locator, и я принялся за работу. Да в App Store были другие трекеры, но они все были на английском, а многие к тому же еще и платными.

Программирование и прохождение ревью

Само программирование больших трудностей не вызвало, но в процессе отладки возникли сложности в основном связанные с работой приложения в фоновом режиме и точностью GPS. В фоне приложение упорно определяло координаты не с помощью GPS, а по базовым вышкам сотовой связи с погрешностью 1.5 километра, что ни как не годилось. Интерфейс приложения сделан на русском языке, предусмотрены удобные настройки, по принципу настроил один раз, перевел в фоновый режим и дальше все работает автономно. Можно задать интервал, через который будут определяться координаты телефона, а также время начала и завершения отслеживания. Другими словами если ребенок идет в школу на 9.00 часов, а приходит в 14.00, то достаточно в настройках указать время старта 8.00 и время завершения 15.00 и каждый день приложение будет автоматически «просыпаться» в 8.00 и завершаться в 15.00, передавая координаты телефона на сервер.

А все остальное время программа будет в спящем режиме, экономя заряд аккумулятора и интернет трафик. Местонахождение отслеживаемого телефона можно посмотреть не только на сервере, но и со своего мобильного.


Кликабельно

А вот с прохождением ревю Apple при публикации приложения возникли сложности. Дважды мое приложение было отклонено Apple и где то неделю оно находилось в статусе «In Review». Я добросовестно исправлял все, на что указывал мне Apple и вновь отправлял приложение на ревю. Трудности с прохождением ревю предполагались заранее. Зная, как трепетно относится Apple к «privacy», наивно было думать, что программа, отправляющая в фоне координаты мобильного на какой то сервер, сумеет быстро пройти ревю. Но все осталось позади, и 20 сентября Apple дал добро на публикацию программы.

Послесловие

Я и не предполагал, что так много школьников имеют iPhone, так как уже 22 сентября моя программа была на 7-м месте в русском App Store в категории Top Free iPhone Navigation Apps. Хотя конечно, подозреваю, что она используется и для других целей. Хотелось бы всем начинающим разработчикам под iOS, пожелать не бояться пробовать свои силы, ведь не боги горшки обжигают.

Цена: Free [iTunes link]

Данная история опубликована в рамках рубрики Developer Story, где разработчики делятся секретами своей внутренней кухни.
48
undefined
iPhones.ru
ТЕКСТ: АНДРЕЙ ЕРМОЛАЕВ. С удовольствием читаю недавно появившуюся рубрику Dev Story. Эти истории опровергают сложившийся стереотип, что сейчас в App Store могут чего то добиться только крупные компании с огромным маркетинговым бюджетом. Конечно, по сравнению с командами, которые презентовали свои приложения в “Dev Story”, я считаю себя просто любителем. Но, тем не менее, хочу рассказать...

Войди и оставь комментарий

Или войди с помощью

<- Назад Забыли пароль? Войти
  1. LogaN avatar
    LogaN 25 сентября 2011
    0

    Молодец! Очень полезная программка! :)

    Andrey Ermolaev avatar
    Andrey Ermolaev25 сентября 2011
    0

    @LogaN,
    Спасибо!

    Physiklehrer2009 avatar
    Physiklehrer200925 сентября 2011
    0

    @Andrey Ermolaev,
    У меня выглядит так:
    1-Место положение Германия с точностью 65 метров (в программе установлено 5 метров)
    Через десять минут!!!
    2-Место положения Экваториальная Гвинея-Буркина Фасо в нескольких км. в открытом море.
    Странно, почему у меня навигатор так не ошибается?

    Andrey Ermolaev avatar
    Andrey Ermolaev25 сентября 2011
    0

    @Physiklehrer2009,
    1. Регулировка точности в настройках означает, что если Вам достаточно 50 метров, то программа не будет мучать GPS и аккумулятор в попытках определить координаты точнее. Но если вы поставили 5 метров это не значить что программа обязательно добьется этого результата. Значит точнее определить координаты не получилось, может Вы находились в помещении. Если программа 2. Если программа не может определить координаты по GPS то она пытается определить их по базовым станциям сотовой связи, если же и это не получилось, например Вы глубоко в подвале то на сервер передаются нули. А точка с координатами 0,0 как раз и находится в море около Гвинеи.

    Physiklehrer2009 avatar
    Physiklehrer200927 сентября 2011
    0

    @Andrey Ermolaev,
    Глубокий подвал находится на центральной площади областного немецкого города. Другие проги с определением местоположения не ошибаются (у меня их штук пятнадцать в телефоне)
    Прога сутки гоняла меня по Африке (различные координаты)
    После перезагрузки вернула меня в Германию. Место положение (все три точки за день) определила с точностью 1414 метров, тоесть определяет ТОЛЬКО по сотовому сигналу да и то неверно (в настройках разрешение на определение местоположения включено)
    И совершенно непонятный косяк-когда набиваешь свой имэйл в программе то выезжающая клавиатура закрывает полосу с текстом-имэйл длинный и набирать его вслепую это уже вообще полный бред.
    Надеюсь на скорое обновление, так как идея впринципе хорошая.
    Заодно добавте чтобы так же как и в НАЙДИ СВОЙ АЙФОН можно было бы добавлять в учётку свои гаджеты, у меня двое детей-я что должен каждый раз вручную набивать регестрационные имэйлы и пароль? Сделайте списком гаджеты с указанием времени последнего сканирования-и если меня заинтересует где мой ребёнок то я выбераю на какую учётку я нажимаю чтоб посмотреть местоположение. Пароль прога должна помнить!

    Войди на сайт, чтобы ответить
    Ответить
  2. yakudza9 avatar
    yakudza9 25 сентября 2011
    0

    Можно просто воспользоваться Find my Phone.

    Andrey Ermolaev avatar
    Andrey Ermolaev25 сентября 2011
    0

    @yakudza9,
    Find my Phone не показывает путь. А показывает только текущие координаты. Это не совсем то.

    Войди на сайт, чтобы ответить
    Ответить
  3. Tolin avatar
    Tolin 25 сентября 2011
    0

    Прога прикольная.
    Но есть вопрос, а что происходит когда ребенок сидит в классе , а GPS сигнала нет и он постоянно ищет сигнал
    и как насчет расхода батареи в это время?

    Andrey Ermolaev avatar
    Andrey Ermolaev25 сентября 2011
    0

    @Tolin,
    GPS не работает все время. Можно в настройках выставить его на включение раз в 30 минут. Такая частота фактически ни как не сказывается на аккумуляторе, дети игрушками его больше садят. Когда нет GPS координаты определяются по базовым станциям. Правда погрешность великовата, но общее представление дает.

    Tolin avatar
    Tolin26 сентября 2011
    0

    @Andrey Ermolaev, Да и еще пару замечаний, нужно запароленное меню где можно включить и выключить или изменить аккаунт, а то просто обычным нажатием можно вырубить прогу и еще чтоб она была невидима в трейе и чтоб нельзя было удалить из списка программ и из памяти.

    Physiklehrer2009 avatar
    Physiklehrer200927 сентября 2011
    0

    @Tolin,
    Присоеденяюсь, плюс всё что написал выше.

    3xploit avatar
    3xploit25 сентября 2011
    0

    @Tolin, сигнал и так всегда ищется, есть он или его нет. Если не ловит gps то можно приблизительно определить по gsm/3g

    Войди на сайт, чтобы ответить
    Ответить
  4. Dr.Aibolit avatar
    Dr.Aibolit 25 сентября 2011
    0

    Вот только Google Locator появился раньше и с таким же функционалом ..

    Physiklehrer2009 avatar
    Physiklehrer200927 сентября 2011
    0

    @Dr.Aibolit,
    Я ненашёл такой проги в Сторе, можеш кинуть ссылку?

    Войди на сайт, чтобы ответить
    Ответить
  5. RocketJump avatar
    RocketJump 25 сентября 2011
    0

    1. Неясно какую картографическую базу использует программа! ПХотелось бы чтоб она использовала Яндекс.Карты, потому что в регионах покрытие Google Maps не просто плохое – оно отсутствует!

    2. Есть ли гарантия что оно не жрет бешено память и аккумулятор? Кто это проверял и как тестировал?

    Спасибо

    Andrey Ermolaev avatar
    Andrey Ermolaev25 сентября 2011
    0

    @RocketJump,
    1. Использует Google Maps. Думаю под Яндекс.Карты переделать будет не сложно. Саму программу переделывать не надо будет, только на сервере переписать часть кода. Учту Ваше замечание.
    2. Гарантий конечно дать не могу, но тестировал. Памяти много не жрет, а аккумулятор в зависимости от настроек. Конечно если передавать координаты каждые 2 минуты, то за сутки посадит аккумулятор. А если поставить нормальный интервал минут 20-30 то на аккумуляторе почти не сказывается.

    Войди на сайт, чтобы ответить
    Ответить
Помни о правилах — если начал оффтопить, то не удивляйся потом.

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.