#ifndef MY_HABRA_ENTRY
#define MY_HABRA_ENTRY
Мир тебе, дорогой хабраюзер!
Минутка откровений. Не кривя душой, открою завесу тайны, что я протёр своё кожаное кресло, ёрзая на нём, и думая, а стоит ли вообще писать это всё. Сомнения одолевали меня до последнего, но кто-то сидящий на правом плече всё же победил кого-то на левом. И вуаля, много букв перед вами. Сразу хочу признаться ещё кое в чём: главная цель написания данной статьи — в первую очередь удовлетворение своих личностных потребностей, амбиций, а, может, и пункта самореализации, которого до сих пор не хватало для завершения процесса достижения вершины эволюционной лестницы…
Минутка лирики. Мне необходима конструктивная (обожаю это слово! И оно во всём этом ключевое) критика профессионального сообщества, то есть вас. В противном случае у меня может начаться паранойя от навязчивых мыслей, что возможно где-то в этой жизни я свернул не туда…
Минутка
В общем, если коротко, статья про сравнение геоинфосервисов, лидеров российского рынка.
Далее пойдет слегка изменённый текст в виде ответов на вопросы из того самого тестового задания одной компании из this. Заголовок. Напоминаю, зачем же я всё же хочу, чтобы вы это прочитали: постарайтесь воздержаться в порицании меня как личности или компании, которая мне отказала. Хочу оставить все интриги в стороне. Обращаюсь за мнением: что, на ваш взгляд, не так в ответах. Конечно же я буду очень рад, если данная статья кому-то окажется полезной, ещё больше, если соискателям. Всем добра!
char *company_names[] = {"Яндекс.Карты", "2ГИС", "Google Maps"};
char *COMPANY = company_name[rnd.next(3)];
1. Опишите основные сценарии использования картографической и справочной информации, приведите примеры. Укажите сценарии в порядке убывания аудитории.
Аудитории по каждому сценарию использования отличаются в зависимости от региона. Например, в Москве огромное количество организаций. Они открываются, закрываются, переезжают. Подавляющее число мест относятся к разряду «куда придется ехать всего один раз». Поэтому в системах, предоставляющих картографическую и справочную информацию, пользователи в Москве чаще пользуются навигацией, чем поиском услуги. В регионах ситуация обратная. Пользователи достаточно хорошо знают город и чаще ищут услуги, а не определенный адрес.
Для лучшего понимания основных сценариев использования я составил Use-case диаграмму:
Найти объект на карте.
Краткое описание. Данный вариант использования описывает поиск пользователем необходимого объекта на карте.
1. Основной поток событий.
Данный вариант использования начинает выполняться, когда пользователь хочет найти объект на карте.
Система запрашивает известную информацию об объекте.
Пользователь вводит информацию об объекте: название улицы, адрес, название микрорайона, название остановки общественного транспорта, маршрут общественного транспорта.
В момент ввода информации приложение выводит подсказки.
После ввода информации пользователь нажимает кнопку «Найти».
Система ищет данный объект на карте, после чего отображает его.
2. Альтернативные потоки
2.1. Информация об объекте не найдена. Если во время выполнения Основного потока обнаружится, что пользователь ввел информацию, которой нет в базе или по которой невозможно определить объект, система извещает об этом. Пользователь может вернуться к началу Основного потока или отказаться от поиска, при этом выполнение варианта использования завершается.
2.2. Пользователь воспользовался подсказкой. Если во время выполнения Основного потока обнаружится, что пользователь выбрал один из предложенных вариантов подсказки, система подставляет в поле ввода соответствующую информацию из подсказки. Пользователь может вернуться к началу Основного потока или продолжить поиск, для этого ему нужно нажать кнопку «Найти», при этом выполнение варианта использования продолжается.
3. Предусловия
Отсутствуют.
4. Постусловия
Если вариант использования выполнен успешно, пользователь видит на карте запрашиваемый объект. В противном случае состояние системы не изменяется.
1. Основной поток событий.
Данный вариант использования начинает выполняться, когда пользователь хочет найти объект на карте.
Система запрашивает известную информацию об объекте.
Пользователь вводит информацию об объекте: название улицы, адрес, название микрорайона, название остановки общественного транспорта, маршрут общественного транспорта.
В момент ввода информации приложение выводит подсказки.
После ввода информации пользователь нажимает кнопку «Найти».
Система ищет данный объект на карте, после чего отображает его.
2. Альтернативные потоки
2.1. Информация об объекте не найдена. Если во время выполнения Основного потока обнаружится, что пользователь ввел информацию, которой нет в базе или по которой невозможно определить объект, система извещает об этом. Пользователь может вернуться к началу Основного потока или отказаться от поиска, при этом выполнение варианта использования завершается.
2.2. Пользователь воспользовался подсказкой. Если во время выполнения Основного потока обнаружится, что пользователь выбрал один из предложенных вариантов подсказки, система подставляет в поле ввода соответствующую информацию из подсказки. Пользователь может вернуться к началу Основного потока или продолжить поиск, для этого ему нужно нажать кнопку «Найти», при этом выполнение варианта использования продолжается.
3. Предусловия
Отсутствуют.
4. Постусловия
Если вариант использования выполнен успешно, пользователь видит на карте запрашиваемый объект. В противном случае состояние системы не изменяется.
Найти информацию о компании.
Краткое описание. Данный вариант использования позволяет пользователю найти подробную информацию о компании.
1. Основной поток событий
Данный вариант использования начинает выполняться, когда пользователь хочет найти информацию о компании.
Система запрашивает известную информацию о компании.
Пользователь вводит информацию о компании, такую как название компании, номер телефона.
В момент ввода информации приложение выводит подсказки.
После ввода информации пользователь нажимает кнопку «Найти».
Система ищет компанию по введенной информации, после чего отображает полную информацию о компании.
2. Альтернативные потоки
2.1. Информация о компании не найдена. Если во время выполнения Основного потока обнаружится, что пользователь ввел информацию, которой нет в базе или по которой невозможно определить компанию, система извещает об этом. Пользователь может вернуться к началу Основного потока или отказаться от поиска, при этом выполнение варианта использования завершается.
2.2. Пользователь воспользовался подсказкой. Если во время выполнения Основного потока обнаружится, что пользователь выбрал один из предложенных вариантов подсказки, система подставляет в поле ввода соответствующую информацию из подсказки. Пользователь может вернуться к началу Основного потока или продолжить поиск, для этого ему нужно нажать кнопку «Найти», при этом выполнение варианта использования продолжается.
3. Предусловия
Отсутствуют.
4. Постусловия
Если вариант использования выполнен успешно, пользователь видит подробную информацию о компании. В противном случае состояние системы не изменяется.
1. Основной поток событий
Данный вариант использования начинает выполняться, когда пользователь хочет найти информацию о компании.
Система запрашивает известную информацию о компании.
Пользователь вводит информацию о компании, такую как название компании, номер телефона.
В момент ввода информации приложение выводит подсказки.
После ввода информации пользователь нажимает кнопку «Найти».
Система ищет компанию по введенной информации, после чего отображает полную информацию о компании.
2. Альтернативные потоки
2.1. Информация о компании не найдена. Если во время выполнения Основного потока обнаружится, что пользователь ввел информацию, которой нет в базе или по которой невозможно определить компанию, система извещает об этом. Пользователь может вернуться к началу Основного потока или отказаться от поиска, при этом выполнение варианта использования завершается.
2.2. Пользователь воспользовался подсказкой. Если во время выполнения Основного потока обнаружится, что пользователь выбрал один из предложенных вариантов подсказки, система подставляет в поле ввода соответствующую информацию из подсказки. Пользователь может вернуться к началу Основного потока или продолжить поиск, для этого ему нужно нажать кнопку «Найти», при этом выполнение варианта использования продолжается.
3. Предусловия
Отсутствуют.
4. Постусловия
Если вариант использования выполнен успешно, пользователь видит подробную информацию о компании. В противном случае состояние системы не изменяется.
Найти информацию об услуге.
Краткое описание. Данный вариант использования описывает поиск пользователем компании оказывающей необходимую услугу.
1. Основной поток событий.
Данный вариант использования начинает выполняться, когда пользователь хочет найти компанию, которая оказывает необходимую услугу.
Система предлагает выбрать услугу из справочника или ввести в поле поиска вручную.
Пользователь вводит информацию или выбирает из справочника.
В момент ввода информации приложение фильтрует справочник с учетом введенной пользователем информации.
После ввода информации пользователь нажимает кнопку «Найти».
Система выводит список организаций, оказывающих данную услугу.
2. Альтернативные потоки
2.1. Информация об услуге не найдена. Если во время выполнения Основного потока обнаружится, что пользователь ввел информацию, которой нет в базе или по которой невозможно определить компании, система извещает об этом. Пользователь может вернуться к началу Основного потока или отказаться от поиска, при этом выполнение варианта использования завершается.
3. Предусловия
Отсутствуют.
4. Постусловия
Если вариант использования выполнен успешно, пользователь видит список компаний, оказывающих запрашиваемую услугу. В противном случае состояние системы не изменяется.
1. Основной поток событий.
Данный вариант использования начинает выполняться, когда пользователь хочет найти компанию, которая оказывает необходимую услугу.
Система предлагает выбрать услугу из справочника или ввести в поле поиска вручную.
Пользователь вводит информацию или выбирает из справочника.
В момент ввода информации приложение фильтрует справочник с учетом введенной пользователем информации.
После ввода информации пользователь нажимает кнопку «Найти».
Система выводит список организаций, оказывающих данную услугу.
2. Альтернативные потоки
2.1. Информация об услуге не найдена. Если во время выполнения Основного потока обнаружится, что пользователь ввел информацию, которой нет в базе или по которой невозможно определить компании, система извещает об этом. Пользователь может вернуться к началу Основного потока или отказаться от поиска, при этом выполнение варианта использования завершается.
3. Предусловия
Отсутствуют.
4. Постусловия
Если вариант использования выполнен успешно, пользователь видит список компаний, оказывающих запрашиваемую услугу. В противном случае состояние системы не изменяется.
Составить маршрут
Краткое описание. Данный вариант использования позволяет пользователю составить маршрут.
1. Основной поток событий
Данный вариант использования начинает выполняться, когда пользователь хочет составить маршрут.
Система запрашивает начальную и конечную точку маршрута.
Пользователь вводит название остановки или указывает место на карте.
В момент ввода названия приложение выводит подсказки либо предлагает использовать текущее местоположение.
Система предлагает выбрать, как строить маршрут: «Составить маршрут на общественном транспорте», «Составить пеший маршрут», «Составить маршрут на автомобиле».
После ввода начальной и конечной точки пользователь нажимает кнопку «Построить маршрут».
Система строит маршрут, после чего отображает его.
2. Альтернативные потоки
2.1. Остановка не найдена. Если во время выполнения Основного потока обнаружится, что пользователь ввел название остановки, которой нет в базе, система извещает об этом. Пользователь может вернуться к началу Основного потока или отказаться от построения маршрута, при этом выполнение варианта использования завершается.
2.2. Пользователь воспользовался подсказкой. Если во время выполнения Основного потока обнаружится, что пользователь выбрал один из предложенных вариантов подсказки, система подставляет в поле ввода полное название компании. Пользователь может вернуться к началу Основного потока или продолжить поиск, для этого ему нужно нажать кнопку «Найти», при этом выполнение варианта использования продолжается.
2.3. Несколько маршрутов. Если во время Основного потока обнаружится, что система предложила несколько маршрутов, пользователь имеет возможность выбрать маршрут из предложенных, после чего система отобразит его на карте.
3. Предусловия
Отсутствуют.
4. Постусловия
Если вариант использования выполнен успешно, пользователь видит построенный маршрут. В противном случае состояние системы не изменяется.
1. Основной поток событий
Данный вариант использования начинает выполняться, когда пользователь хочет составить маршрут.
Система запрашивает начальную и конечную точку маршрута.
Пользователь вводит название остановки или указывает место на карте.
В момент ввода названия приложение выводит подсказки либо предлагает использовать текущее местоположение.
Система предлагает выбрать, как строить маршрут: «Составить маршрут на общественном транспорте», «Составить пеший маршрут», «Составить маршрут на автомобиле».
После ввода начальной и конечной точки пользователь нажимает кнопку «Построить маршрут».
Система строит маршрут, после чего отображает его.
2. Альтернативные потоки
2.1. Остановка не найдена. Если во время выполнения Основного потока обнаружится, что пользователь ввел название остановки, которой нет в базе, система извещает об этом. Пользователь может вернуться к началу Основного потока или отказаться от построения маршрута, при этом выполнение варианта использования завершается.
2.2. Пользователь воспользовался подсказкой. Если во время выполнения Основного потока обнаружится, что пользователь выбрал один из предложенных вариантов подсказки, система подставляет в поле ввода полное название компании. Пользователь может вернуться к началу Основного потока или продолжить поиск, для этого ему нужно нажать кнопку «Найти», при этом выполнение варианта использования продолжается.
2.3. Несколько маршрутов. Если во время Основного потока обнаружится, что система предложила несколько маршрутов, пользователь имеет возможность выбрать маршрут из предложенных, после чего система отобразит его на карте.
3. Предусловия
Отсутствуют.
4. Постусловия
Если вариант использования выполнен успешно, пользователь видит построенный маршрут. В противном случае состояние системы не изменяется.
2. Какие сервисы являются конкурентами COMPANY? В чем их сильные стороны, а в чем преимущества COMPANY? Каковы ключевые факторы успеха на этом рынке?
На российском рынке картографических и справочных сервисов можно выделить трех основных игроков:
- Яндекс.Карты;
- 2ГИС;
- Google Maps.
Сервисы Яндекс.Карты и Google Maps создавались как сервисы, предоставляющие картографическую информацию. 2ГИС изначально предоставлял пользователю справочную информацию о различных организациях в городе. В дальнейшем данные сервисы развились до полноценных справочно-навигационных продуктов, сочетающих в себе множество функций и сервисов городской навигации.
часть текста отсутствует
В приведенной таблице сравнение продуктов по конкурирующим критериям.none
Яндекс.Карты | 2ГИС | Google Maps | |
---|---|---|---|
Покрытие | Лучшее покрытие России, уступает Google в покрытии мира | Уступает конкурентам в покрытии как в России, так и в других странах | Лучшее покрытие всего мира |
Хорошая детализация России, достаточная в мире | Одна из лучших детализаций в городах присутствия | Хорошая детализация по всему миру. На карте России могут отсутствовать крупные города. В плане отображения невнятная детализация. Объекты хорошо видны только при достаточно сильном приближении. | |
Детализация на уровне здания | Нет | Крупные торговые центры | Крупные торговые центры |
Возможность загрузки и использования офлайн | Да. Большой размер данных | Да | Да. Большой размер данных |
Сервис «Народная карта» (web); Сообщение об ошибках | Сообщение об ошибках | Сообщение об ошибках | |
Вариант выбора отображения ландшафта | Карта, спутник, народная карта | Карта | Карта, спутник, Велокарта, общественный транспорт |
Да. Отображение доп. информации о дорожной обстановке | Не все города | Не все города. Интеграция с сервисом Waze | |
Возможность общения между пользователями | «Разговорчики» | Нет | Нет |
Обзорные фотографии улиц (Streetview) | Яндекс Панорамы | Нет | Google Streetview |
Поиск |
Да. Интеллектуальный поиск | Да | Да. Интеллектуальный поиск |
Голосовой ввод (на русском) | Да | Нет | Да |
Режим 3D | (*)Одинаковая высота зданий | Да | Да |
Ночной режим | Да | Нет | Да |
Построение маршрута | Автомобиль, общественный транспорт. Строит с учетом пробок. Требует интернет для построения | Автомобиль, общественный транспорт. Возможность отдельно выбрать вариант «Метро». Не требует интернета для построения маршрута | Автомобиль, общественный транспорт, пешеходный маршрут. Возможность выбрать только один из видов транспорта или вариант пешком. Строит с учетом пробок и расписания общественного транспорта. Требует интернет для построения |
Справочная информация | Подробная информация об организациях | Подробная информация об организациях. Ежемесячные обновления | Хуже других знает российские организации |
Актуализация гео-, справочной информации | Нет информации | Обновления каждый месяц | Нет информации |
Возможность оставить отзывы и оценить организацию | Оценка. Развивается сервис Яндекс.Город | Интеграция с сервисом Фламп | Отзыв и оценка |
Интерфейс и юзабилити | Современный интерфейс. Осуществление большинства функций возможно в два шага | Интерфейс iPhone версии не адаптирован для iOS 7 | Современный интерфейс. Некоторые функции не до конца понятны на интуитивном уровне |
Итог: | Хорошо знает географию и организации по всей России. Наличие сервисов «Народная карта», «Панорамы улиц», голосового ввода | Детальная информация по организациям и высокая детализация карт в городах присутствия | Удобное и функциональное построение маршрутов. Панорама улиц, голосовой ввод |
Факторы успеха:
- Необходимый и достаточный функционал для осуществления полноценной городской навигации.
- Наличие продуктов для разных мобильных платформ (обязательно iPhone и Android версии).
- Интуитивный интерфейс, следование трендам в дизайне.
- Доступ к актуальной справочной информации с постоянными обновлениями.
- Возможность работать офлайн, желательно использовать для этого маленький объем памяти.
3. Каким образом, по вашему мнению, можно выработать стратегию развития продукта на 6-12 месяцев вперед? Как вы будете принимать решения – какие возможности реализовывать, а какие – нет?
Для начала нужно определить тренды в этой области. Проанализировать куда движутся конкуренты. Например, для продукта COMPANY, обратить внимание на Конкурент1, который активно сейчас развивает проект Проект1. Необходимо планировать, что покажет Конкурент1 и Конкурент2 через 6-12 месяцев в своих продуктах. Сопоставить эти данные с целями компании, предположить к чему может привести ситуация, когда пути пересекутся. В таких регионах как Москва, Санкт-Петербург, COMPANY явно отстает от конкурентов, а значит необходимо их догнать. В свою очередь на платформе Windows Phone, Конкурент2 официально не представлен, а в Конкурент1 нет возможности использовать данный продукт офлайн.
Необходимо учитывать факторы быстрого развития телекоммуникационных технологий. Уже сейчас с мобильного можно смотреть панорамы. С развитием технологий, мобильники будут способны, к примеру, качественно воспроизводить видеоэкскурсии. Рост производительности «железа» и способности мобильных камер откроет новые границы для реализации идей дополненной реальности, интеграции специальных устройств, например, очков с трехмерным изображением. Для продукта COMPANY на платформе Windows Phone требуется обращать внимание на календарь развития данной платформы. Следить за новыми инструментами, фреймворками от Microsoft, которые предоставят доступ к использованию новых технических фич.
В общем случае нужно понимать, кто является целевой аудиторией. Все улучшения и изменения в системе не должны противоречить её интересам. Особенно полезными будут применение таких методик как когортный анализ. В случае COMPANY данный пункт наименее может быть полезен с учетом большой разнородности потенциальной аудитории. Развитие коммьюнити, площадки для обсуждения продукта, проведения опросов и общения между пользователями продукта. Прислушиваться и поощрять людей с энтузиазмом, проводить с ними ежеквартальные митинги, для получения обратной связи.
Думаю, задачи придумать новые возможности для продукта COMPANY нет. Запас фич для развития картографических и справочных сервисов достаточен и профессионалам из этой области хорошо известен. Развиваться в техническом плане можно как в ширину – добавлять новые фичи, так и в глубину – развивать существующие. Важным здесь является выбор тех самых фич, которые будут реализованы в течении 6-12 месяцев. Для этого стоит учесть ценность фичи, затраты по ресурсам, опыт конкурентов, желания пользователей. Выбор получается в результате обсуждения пула фич с командой. Конечное решение по реализации конкретной фичи всегда принимает продукт-менеджер, исходя из приведенных выше факторов и из своего собственного ощущения рынка. В данном случае я всегда беру ответственность на себя.
4. Приведите любые примеры удобного и неудобного интерфейса. Что в них самое удачное и самое неудачное?
При ответе на данный вопрос я прежде всего исходил из того, что нет смысла приводить «затертые» примеры хороших и плохих интерфейсов. Данные кейсы уже всем известны из Интернета и соответствующих книг по UI/UX. Поэтому приведу примеры из продуктов COMPANY и конкурентов. Например, в Google Maps (iPhone версии) в погоне за красотой и минимализмом, отсутствует возможность использования приложения одной рукой, что не соответствует сегодняшним мобильным тенденциям. В Яндекс.Картах и 2ГИС-е для функции приблизить/отдалить карту есть возможность включить специальные кнопки Приближения/Отдаления карты. Инструмент в первую очередь должен быть удобный, а не красивый.
Удачным считаю отображение предлагаемых маршрутов в Яндекс.Картах и 2ГИС (на платформе Windows Phone). Перед тем как выбрать маршрут, у пользователя есть возможность посмотреть его на карте.
Осторожно! Скриншот!
В свою очередь, считаю неудачным интерфейс у 2ГИС (на платформах iPhone, Android) при переходе от результатов поиска к результатам поиска на карте («Показать на карте») и обратно. Создается иерархичная структура, на мой взгляд, ненужных вкладок, в которых легко можно заблудиться, а использовать их несколько раз чаще всего не приходится.
#endif /* MY_HABRA_ENTRY */