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

Информатор avatar | 48
FavoriteLoading В закладки

ТЕКСТ: АНДРЕЙ ЕРМОЛАЕВ. С удовольствием читаю недавно появившуюся рубрику 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, где разработчики делятся секретами своей внутренней кухни.
1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (Проголосуйте первым за статью!)
undefined
iPhones.ru
ТЕКСТ: АНДРЕЙ ЕРМОЛАЕВ. С удовольствием читаю недавно появившуюся рубрику Dev Story. Эти истории опровергают сложившийся стереотип, что сейчас в App Store могут чего то добиться только крупные компании с огромным маркетинговым бюджетом. Конечно, по сравнению с командами, которые презентовали свои приложения в “Dev Story”, я считаю себя просто любителем. Но, тем не менее, хочу рассказать...
Прокомментировать

🙈 Комментарии 48

  1. LogaN avatar
    LogaN25 сентября 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
    yakudza925 сентября 2011
    0

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

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

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

  3. Tolin avatar
    Tolin25 сентября 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.Aibolit25 сентября 2011
    0

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

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

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

  5. RocketJump avatar
    RocketJump25 сентября 2011
    0

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

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

    Спасибо

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

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

  6. HELM avatar
    HELM25 сентября 2011
    0

    Андрей, спасибо за программу! Можно ли сделать так чтоб не вводить постоянно логин и пароль? И если это не сложно сделать Openstreet map:) в Барнауле ни яндекскарт ни гугл карт:(

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

    @HELM,
    И Вам спасибо! С Openstreet map никогда не работал, думаю быстро не получится. Но надо по пробовать, не думаю, что там API сложнее гугловского или яндексного. Боюсь без логина и пароля не получится:) Но если Вы уже вошли на страничку где карта, нажимайте просто “обновить” в браузере и информация будет обновляться.

  7. HappyByte avatar
    HappyByte25 сентября 2011
    0

    Программа – наполовину фейк.

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

    Реальное отслеживать положение можно только с родным приложением Эппла – Find My iPhone и сервисом me.com (mobile me) – т.к. это не требует запуска приложения и вообще нахождения его в фоне. Да и доступ к отключению этого можно закрыть через родительский контроль. В общем, родителям рекомендую использовать аутентичный Find My iPhone.

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

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

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

    @HappyByte,
    Во первых, программа не предназначена шпионить за кем либо. Во вторых, она полностью бесплатна и не нуждается ни в какой активации. В третьих, конечно же она легко отключается, еще раз повторюсь это не шпионская программа и ставится добровольно, ну в случае с детьми добровольно-принудительно:).
    Что бы использовать Find My iPhone нужен Apple ID и включить данную услуги у Apple. Вот у меня например к моему Apple ID привязана банковская карта и я не хочу однажды узнать, что мой ребенок с приятелями накупил игр на 100 баксов.

    HappyByte avatar
    HappyByte25 сентября 2011
    0

    @Andrey Ermolaev, для Find My iPhone логин вводится отдельно от store – не накупят – не бойтесь.

    Артур Малосиев avatar
    Артур Малосиев25 сентября 2011
    0

    @HappyByte, в Find My iPhone нет истории передвижений.

    HappyByte avatar
    HappyByte25 сентября 2011
    0

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

    red_lacosta avatar
    red_lacosta25 сентября 2011
    0

    @HappyByte, данное приложение и find my iphone разные вещи и сравнивать их считаю как минимум глупо.
    Да и если нет wi-fi разве найдется телефон? Нет конечно же (:

    @Andrey Ermolaev, Здравствуйте! Скажите пожалуйста, если телефон выключить или выключить телефон и вставить новую сим-карту ТО определить где находится ребенок/телефон будет не возможно, правильно понимаю? Да и наверное нет таких программ, обязательно требуется наличие чего то.. :(

    HappyByte avatar
    HappyByte25 сентября 2011
    0

    @red_lacosta,

    [quote]
    Да и если нет wi-fi разве найдется телефон? Нет конечно же (:
    [/quote]

    Найдется конечно. У меня находятся далеко далеко в лесах ;) Еще бы по СМС находилось, если нет GPRS/EDGE/3G – было бы вообще круть, но такого тоже нет.

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

    @red_lacosta,
    Абсолютно верно. Если выключить телефон то все:(
    Под iPhone, думаю, таких программ точно нет.

  8. deeper44 avatar
    deeper4425 сентября 2011
    0

    ВОПРОСЫ

    1) я могу на один емейл зарегестрить 2-3-4 телефона ?
    заводить каждый телефон на отельное мыло как то не удобно

    2) я бы добавил кнопку ПОСЛАТЬ ТЕКУЩЕ ПОЛОЖЕНИЕ немедленно. А то нажал кнопку следить и прошло некоторое время пока сайт получил первую инфу
    Кроме того посмотрите сайт Life360 – там есть подобная кнопка Emergency.

    3) что это за красное огромное пятно на карте ???
    это глюк или специально так ? зачем?

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

    @deeper44,
    1. Нет не можете, к сожалению. Ведь связка e-mail и пароль идентифицирует телефон. Да, некоторое неудобство есть, но я и подумать не мог, что кому то необходимо отслеживать 4 телефона. Наверное, когда выпущу апдейт сделаю чтоб можно было с помощью одного аккаунта (назовем его родительский) отслеживать несколько телефонов.
    2. Если время запуска программы попадет во временные рамки, которые указаны в настройках (начать отслеживание/остановить отслеживание), то координаты передаются немедленно. Про кнопку Emergency подумаю.
    3. Возле каждой найденной локации есть красный фоновый кружок, его радиус соответствует точности с которой определились координаты. Т.е. процентов на 98 телефон внутри этого круга. Если телефон долгое время не двигался эти кружки накладываются друг на друга и получается ярко-красный круг.

  9. deeper44 avatar
    deeper4425 сентября 2011
    0

    Далее

    что будет если три часа не было инета ?
    телефон будет сохранять положения в течении этого времени локально а потом пошлет все на сервер когда появится связь?

    Надеюсь будет иначе не умно …

  10. deeper44 avatar
    deeper4425 сентября 2011
    0

    когда на айфоне начал вводить логин другого телефона то клавиатура тупо закрыла поле ввода опс

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

    @deeper44,
    Есть такое, исправлю в следующей версии.

  11. deeper44 avatar
    deeper4425 сентября 2011
    0

    вводить конечно каждый раз полный емейл для другого телефона это неудобняк

    ну где забота о юсере ???

    ну вы пишите прогу под айфон а не винду :)

    посмотрите опять же Life360 там надо ОДНО нажатие чтоб выбрать кого найти да еще и фото и тд

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

    @deeper44,
    Забота о пользователе не должна противопоставляться настройкам приватности. Life360 посмотрел, учту.

  12. erik avatar
    erik25 сентября 2011
    0

    Вот если бы программа была на андроиде, а отслеживать с iPhone, было бы вообще круто! А то давать детям iPhone в школу страшно – не столько за телефон, сколько за здоровье детей.

    deeper44 avatar
    deeper4425 сентября 2011
    0

    @erik, ну там стоит СОКОР БУДЕТ под андроид :)

  13. wildguess avatar
    wildguess25 сентября 2011
    0

    Не пойму что все пристали к автору насчет точности определения координат.
    Используется стандартная функция, а не собственный алгоритм.
    То есть, если программа показывает, что телефон в Гвинее, то любое другое приложение, что Гугл Мепс, что еще кто-нибудь покажет то же самое.
    Может быть кто-то и переживает, что ребенок отключит ее, ну так это проблемы в отношениях с ребенком.
    Нормальные дети не скрывают свое местоположение от родителей и понимают, что это в целях их же безопасности, а не для тотальной слежки за ними. Если же прога для слежки, то проблемы уже в голове у родителей.

  14. deeper44 avatar
    deeper4425 сентября 2011
    0

    АВТОРУ бальзаму :)
    ну хочу похвалить :)

    Прочитав статью убил два часа на вашу софтину, Life360, TraceSaver

    TraceSaver – удалил — не понятно как посмотреть прямо счас положение телефона. И он пытается больше изучать качество мобильного провайдера Мне не надо оно

    Life360 — наиболее качественная софтина + сайт
    но она как бы для дружной семьи где все думают о безопасности
    каждый может каждого видеть что ли – послать сообщение

    Ваша и прога и 360 простояли два часа — я как раз съездил круг по городу

    360 даже не заметила что я посетил один район! Опс
    и второй район отметила точку в дороге а не точку где я пробыл 30 минут

    а вот Ваша прога на удивление отметила оба района – причем как раз те места где я остановился и пробыл 5-30 минут …
    то ли случайно так совпало … Я поставил 20 минут интервал

  15. deeper44 avatar
    deeper4425 сентября 2011
    0

    Это наводит на мысли

    1) добавить АКТИВНЫЙ поиск прогой – скажем раз в минуту
    бесплатный файфай я если человек движется по городу и авто подключение чтоб передать данные на сервер

    2) если у меня стоит 30 мин интервал то как бы можно съездить и вернуться на 10-20 км и прога не заметит — не хорошо

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

  16. deeper44 avatar
    deeper4425 сентября 2011
    0

    У вас есть потенциал

    но надо очень сильно улучшить сайт –
    возможно в нем сделать заточку под разные нужды
    * отслеживать грузовики или бродяг сотрудников
    * отслеживать членов семьи по доброй воле
    * не по доброй воле
    * поис своего телефона

    точно нету возможности на iOS запускать какие то софтинки на загрузке телефона ? Даже если сидия стоит? кто то знает ?

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

    @deeper44,
    Спасибо!
    Да сайт, чуть сыроват. Согласен.
    Не знаю как в сидии, а apple точно не пропустить такую программу в App Store

  17. Zakh avatar
    Zakh27 сентября 2011
    0

    С таким потенциалом для доработок и расширения функционала можно делать платную версию, вложившись в разработку. Сделать английскую локализацию, например.
    Хотя, Россия как раз и отличается широкой душой! Буду рад, если создатель не забросит проект, найдёт единомышленников и разовьёт проект в бесплатный полноценный ресурс.
    Готов тестировать программу на энтузиазме :)

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

    @Zakh,
    Спасибо! Да доработок уже накопилось много. И если приложение так быстро не изменить, то серверную часть уже сегодня подправил. Убрал из выдачи на карту координат с нулевой широтой и долготой, которые иногда появляются если GPS теряет спутники, и переносят пользователя в район Экваториальной Гвинеи.

  18. fisenich avatar
    fisenich27 сентября 2011
    0

    А у меня не работает… :( Зарегистрировался, включил отслеживание. Уже прошло много времени, а на сайте сообщение “В базе отсутствуют координаты телефона”…

    А во время работы приложения должна быть синяя стрелочка вверху? у меня нет.

    И еще в списке приложений, использующих геолокацию, Child locator отсутствует. Это нормально?

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

    @fisenich,
    Странно.
    Да когда опрашивается GPS должна быть стрелочка вверху. Проверьте еще раз настройки и программы и Вашего телефона. А у Вас вообще GPS работает в других программах?

    fisenich avatar
    fisenich27 сентября 2011
    0

    @Andrey Ermolaev, Вообще GPS работает. На данный момент я нахожусь в здании, но Яндекс или Гугл карты показывают нормально, т.е. по вышкам точно видится положение.

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

    @fisenich,
    Если напишите свой логин, я проверю по базе что там и как.

    fisenich avatar
    fisenich27 сентября 2011
    0

    @Andrey Ermolaev, написал через форму на сайте

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

    @fisenich,
    Ответил Вам.

Вы должны авторизоваться или зарегистрироваться для комментирования.

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

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

Как установить аватар в комментариях?

Ответ вот здесь