Доброе время суток, Хабр

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



Идея обмена местоположением проста, понятна и многие ее пытаются реализовать. И вот тут начинаются детали.

Обзор



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

Начнем с Apple Find My Friends



Нам предлагается вести список друзей — тех Apple ID, кого мы захотели добавить. При этом друг должен разрешить передачу нам своего местоположения. Интерфейс состоит из двух частей: список контактов и карта. И важно, что начинать работать предлагается в части экрана со списком, а только потом карта меняется в зависимости от ваших действий. Кроме общего списка со всеми друзьями можно создавать временные группы, чтобы быстро смотреть, где кто из группы. При этом кроме самой координаты человека нам известно, когда эта точка была отправлена. И вот тут самое интересное: помимо обычного трекинга с периодической (очень редкой) отправкой телефоном своего положения на сервер, которая бы создавала отставание в трекинге на несколько минут, они напрямую спрашивают устройство в тот момент, когда его местоположение запрашивает друг. Это их сильное преимущество — получение точки в момент «сейчас», хотя и не ясно, используют ли они какие-то хаки iOS, запрещенные обычному разработчику, или обходятся введенным в iOS5 поведением приложений VoIP и Geo. Остается лишь одно неприятное ограничение — приложение работает только на устройствах Apple. Чтобы начать пользоваться приложением достаточно иметь Apple ID.

Его главный конкурент от Google, по моему скромному мнению


Google Latitude на Android и iPhone. А еще на BlackBerry, Symbian и Windows Mobile в составе приложения Maps.

Опишем в той же манере.
Нам предлагается вести список друзей — тех Google Account, кого мы захотели добавить. Главным элементом интерфейса в этом приложении является карта, именно с нее нам прелагают начать работать, на ней находится весь функционал. Пользователям можно настроить, какое местоположение будет доступно друзьям: текущее, выбранное вручную или никакое. По аналогии с предыдущим приложением кроме самой координаты человека нам известно, когда эта точка была отправлена. Для обновления точки в режиме конфиденциальности «текущее местоположение» выполняется обычный трекинг с периодической отправкой телефоном своего положения на сервер. В случае ручной установки пользователь сам указывает координаты своего местоположения. Остается лишь одно неприятное ограничение — участвуют только пользователи с Google Account.

Еще один способ поделиться своим местоположением: Glympse


Опять же есть и для Android, и для iPhone. А еще есть для BlackBerry, Windows Phone 7, Windows Mobile.

Glympse позволяет любому человеку отправить некоторый токен, по которому он сможет отслеживать местоположение пользователя. Токену настраивается время жизни, а также сообщение и место, куда пользователь предполагает добраться. Интерфейс использует только карту, где отображает текущее движение, которым пользователь поделился. При этом координата во время отслеживания отсылается раз в несколько секунд. А главное преимущество — получателю токена не нужно устанавливать приложение, он может смотреть за пользователем через веб-интерфейс. В добавок к этому приложение не требует регистрации. Указывать Twitter или Facebook аккаунты нужно только для отправки токена через эти сервисы.

Не поделиться, а узнать местоположение в echoecho


Поддерживаются Android, iPhone, BlackBerry, Windows Phone 7, Symbian.

В echoecho принцип взаимодействия пользователей строится на запросе. Если пользователь хочет узнать местоположение друга, он явно его об этом спрашивает. А друг или явно на этот запрос отвечает, или настраивает автоответ. При этом разработчики добавили фишку из Glympse — можно послать Live запрос, который, будучи принятым, в течение некоторого времени постоянно обновляет местоположение. Казалось бы функционал готов, но разработчики пошли дальше и добавили чат для обмена простыми текстовыми сообщениями и примитивную систему организации встреч. Причем при организации встреч для указания места они зачем-то используют свою крайне скудную базу заведений, поэтому пока куда удобнее назначать координату встречи. Весь этот функционал работает относительно интерфейса карты. Главное преимущество — работают на всех популярных платформах. Чтобы приложение работало, нужна регистрация отправкой СМС к ним на сервер. А в случае отказа можно запросить от них СМС или звонок, по которому можно узнать код, который нужно перебить в приложение.

Узнать местоположение по-другому в WAY?


Поддерживаются только Android и iPhone. Хотя версия iPhone давно не обновлялась, но вполне работает.

Разработчики WAY? на момент написания статьи как-то резко сменили интерфейс. Раньше, когда я смотрел это приложение, то оно состояло из меню с кучей экранов, а теперь главной деталью интерфейса стала карта и начать работу предлагается именно с нее. Раньше в приложении был пункт «My family», но в новой версии его нет, а жаль. Аналогично echoecho принцип взаимодействия строится на запросе. Здесь тоже есть список друзей, которых можно спросить. А еще другу можно послать свое местоположение без каких-либо вопросов. И, конечно, есть настройка автоответа. Кстати говоря, при переходе на новый интерфейс они убрали функцию комментария, прикладываемого к отправляемому местоположению, что было очень удобно. ИМХО, зря убрали! Чтобы приложение работало, нужна регистрация отправкой СМС к ним на сервер. К сожалению, альтернативных вариантов не предлагается. Главное преимущество — они наши российские, поэтому регистрационная СМС стоила как обычная смс-ка. А еще меня несколько насмешили добавленные мне в список друзей персонажи: Годзилла, Несси, Ктулху, разработчик и еще какие-то мне не понятные. Надеюсь Ктулху никогда не сдвинется с места.

Следить за семьей, детьми в Foot Prints


Поддерживается только iPhone

В отличие от предыдущих приложений в Foot Prints основным действием пользователя является просмотр пройденных точек с указанием времени. Весь интерфейс — карта с множеством прозрачных панелей. Каждый пользователь на карте оставляет следы — координаты со временем прохождения. Можно смотреть где все сейчас, а можно где кто-то был в какое-то время. Чтобы следить за пользователем, он должен дать персональное разрешение на слежение. Для полноценной работы приложения необходима регистрация по электро-почте и мобильному телефону. Именно «И». В ходе регистрации они присылают код, который необходимо указать в приложении. Это единственное приложение в обзоре, которое требует денег по окончании 30-дневного бесплатного периода. Покупать необходимо подписку на 3/12/24 месяцев.

Аналогичное слежение в Life360


Поддерживаются Android, iPhone, BlackBerry, Windows Phone 7 (на сайте отмечено, что скоро будет).

Самое продуманное на данные момент приложение для слежения за семьей. Все видно на общей карте. Кроме банальных опросов местоположения можно выполнять более конкретные запросы. Например, требование чек-ина своего состояния: «Все хорошо», «Мне нужна помощь». Даже без запроса можно отправлять чек-ины, что все хорошо. И самая крутая функция — кнопка Тревоги, которая рассылает всем, кто в списке семьи сообщение «Panic Alert» с координатами места и предложением вызвать 911. Интересны и побочные функции: список полицейских участков и больниц в округе, возможность просмотра трека движения по истории, своего рода чат с семьей. Правда при всем этом приложение слишком усложнено в плане работы с пользователем. Для регистрации в приложении нужно указать свою электро-почту и пароль и в дальнейшем использовать их для входа. И введено понятие администратора семьи, управляющего в итоге списком.

Несколько мыслей


Полезных идей в области геолокации огромное множество, и многие из них пока не реализованы. Но даже если приложение полезно, ему еще нужен удобный интерфейс. А иначе пользу никто и не заметит.
В обзоре можно выделить два основных направления:
  1. Список — список друзей, контактов, семьи, в общем любой список людей, о местоположении которых хочется знать или кому хочется о нем сообщать
  2. Карта — одна карта с управлением на ней и вспомогательными списками

В потребностях тоже есть существенное разделение:
  1. Поделиться с друзьями или узнать, где они
  2. Следить за близкими в хорошем смысле и не только

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


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

UPD. Авторы «WAY?» попросили меня обновить статью. Оказывается их последняя версия в AppStore называется «W.A.Y.»