Ставка на iBeacon. Новинки мобильной индустрии в реальной...

Post on 16-Jul-2015

436 views 1 download

Transcript of Ставка на iBeacon. Новинки мобильной индустрии в реальной...

Ставка на iBeaconlessons learned

О чем?• iBeacon

О чем?• iBeacon

• Запуск приложения

О чем?• iBeacon

• Запуск приложения

• Socket как альтернатива Push

О чем?• iBeacon

• Запуск приложения

• Socket как альтернатива Push

• Аналитика

Omnom

Покушал

Поймал официанта

Попросил счет

Принесли счет

Положили деньги или карту

Забрали счет

Поймал официанта

Принесли счет

Оставил чаевые

Ушел

Покушал

Поймал официанта

Попросил счет

Принесли счет

Положили деньги или карту

Забрали счет

Поймал официанта

Принесли счет

Оставил чаевые

Ушел

11 минут

Покушал

Достал телефон

Оплатил счет и оставил чай

Покушал

Достал телефон

Оплатил счет и оставил чай

10-20 секунд

Задачи• Ресторан?

Задачи• Ресторан?

• Стол?

Задачи• Ресторан?

• Стол?

• Получить и оплатить счет

Как определить стол?• QR

Как определить стол?• QR

• Указать ручками

Как определить стол?• QR

• Указать ручками

• Или…

lesson 1: iBeacon

iBeacon• UUID

iBeacon• UUID

• major + minor

iBeacon• UUID

• major + minor

• RSSI

почему iBeacon?• iOS 7+

почему iBeacon?• iOS 7+

• все кроме iPhone 4

почему iBeacon?• iOS 7+

• все кроме iPhone 4

• Android

iBeacons:• Estimote

iBeacons:• Estimote

• Stick-n-Find

iBeacons:• Estimote

• Stick-n-Find

• RadBeacon

iBeacons:• Estimote

• Stick-n-Find

• RadBeacon

• China unnamed

RedBear• UUID+major+minor

RedBear• UUID+major+minor

• Сила сигнала

RedBear• UUID+major+minor

• Сила сигнала

• Период вещания

RedBear• UUID+major+minor

• Сила сигнала

• Период вещания

• Безопасность

RedBear• UUID+major+minor

• Сила сигнала

• Период вещания

• Безопасность

• 2+ года работы

Геолокационный регион:• unique UUID

Геолокационный регион:• unique UUID

• >= 1 iBeacon

Геолокационный регион:• unique UUID

• >= 1 iBeacon

• Уведомления: вход + выход

Геолокационный регион:• unique UUID

• >= 1 iBeacon

• Уведомления: вход + выход

• Поиск

Геолокационный регион:• unique UUID

• >= 1 iBeacon

• Уведомления: вход + выход

• Поиск

• Запуск в фоне!!!

Apple учит работе в фоне

Apple учит работе в фоне• iBeacon не background mode!!!!!!

Apple учит работе в фоне• iBeacon не background mode!!!!!!

• ~10 секунд

Apple учит работе в фоне• iBeacon не background mode!!!!!!

• ~10 секунд

• > 10 секунд = Алерт

Apple учит работе в фоне• iBeacon не background mode!!!!!!

• ~10 секунд

• > 10 секунд = Алерт

• только 10 регионов

Как определить ресторан и стол?

• регион = 1 x UUID

Как определить ресторан и стол?

• регион = 1 x UUID

• ресторан = major

Как определить ресторан и стол?

• регион = 1 x UUID

• ресторан = major

• стол = minor

Мы запустились, но не знаем major+minor

Первые проблемы

Мир иллюзий

Для одного бикона

Найти расстояние!

Что хотели

Жизнь

Гипотеза про силу сигнала

PROFIT!!!11

Battery• сила сигнала почти не влияет

Battery• сила сигнала почти не влияет

• влияет период вещания

Боль 1Отваливающийся BLE

Боль 2

Боль 2Зависший BLE

РешениеДекодирование на серваке

Как готовить iBeacon• min 5 измерений

Как готовить iBeacon• min 5 измерений

• low signal strength = high accuracy

Как готовить iBeacon• min 5 измерений

• low signal strength = high accuracy

• BLE stack виснет (~1%)

Как готовить iBeacon• min 5 измерений

• low signal strength = high accuracy

• BLE stack виснет (~1%)

• фантомные буйки (~1%)

Как готовить iBeacon• min 5 измерений

• low signal strength = high accuracy

• BLE stack виснет (~1%)

• фантомные буйки (~1%)

• мобилка собирает данные

Как готовить iBeacon• min 5 измерений

• low signal strength = high accuracy

• BLE stack виснет (~1%)

• фантомные буйки (~1%)

• мобилка собирает данные

• обрабатывает сервер

Behind the magic Пришел в ресторан

Нашел бикон

Запустились в фоне

Нашел биконы

Отправили на сервак

Нашли стол?

Лежит на столе?

Пришел пуш

Попросили разбудить пушем Показали пуш

ДаНет

Job is done!

Flamp

iBeacon

+ iOS + Android

+ Геокодирование

+ Работа в фоне

+ Телефон = iBeacon

+ Магия

– Не стабильные

– Bluetooth = 5%

– $10+

lesson 2: Запуск приложения

Custom URL schemeomnom://app?config=test&user=test&password=test

Command line

Запуск приложения:• Запустить нужный экран

Запуск приложения:• Запустить нужный экран

• Разные серваки

Запуск приложения:• Запустить нужный экран

• Разные серваки

• Разные пользователи

Запуск приложения:• Запустить нужный экран

• Разные серваки

• Разные пользователи

• и.т.д.

Custom URL scheme• быстро реализовать

Custom URL scheme• быстро реализовать

• одна сборка

Custom URL scheme• быстро реализовать

• одна сборка

• быстрая отладка

Custom URL scheme• быстро реализовать

• одна сборка

• быстрая отладка

• config

Custom URL scheme• быстро реализовать

• одна сборка

• быстрая отладка

• config

• iOS + Android

Custom URL scheme• быстро реализовать

• одна сборка

• быстрая отладка

• config

• iOS + Android

• интеграция с другими приложениями

Custom URL scheme• быстро реализовать

• одна сборка

• быстрая отладка

• config

• iOS + Android

• интеграция с другими приложениями

• можно прокидывать в почте и SMS

lesson 3: Данные

Прокидывать данные• real-time

Прокидывать данные• real-time

• много

Прокидывать данные• real-time

• много

• гарантированно

Прокидывать данные• real-time

• много

• гарантированно

• iOS + Android

Пуши?• мало

Пуши?• мало

• не гарантированная доставка

Пуши?• мало

• не гарантированная доставка

• сложный workflow

Socket?

WebSocket?

Socket.io

Socket.io• авторизация

Socket.io• авторизация

• гарантированная доставка

Socket.io• авторизация

• гарантированная доставка

• реконект

Socket.io• авторизация

• гарантированная доставка

• реконект

• малый ping

Socket.io• авторизация

• гарантированная доставка

• реконект

• малый ping

• большой размер

Socket.io• авторизация

• гарантированная доставка

• реконект

• малый ping

• большой размер

• комнаты

Socket.io• авторизация

• гарантированная доставка

• реконект

• малый ping

• большой размер

• комнаты

• масштабируются

Socket.io• авторизация

• гарантированная доставка

• реконект

• малый ping

• большой размер

• комнаты

• масштабируются

• iOS + Android

lesson 4: Аналитика

Аналитика• готовое решение

Аналитика• готовое решение

• в реальном времени

Аналитика• готовое решение

• в реальном времени

• фильтры + воронки

Аналитика• готовое решение

• в реальном времени

• фильтры + воронки

• iOS + Android

Mixpanel

В аналитику должно уйти чуть меньше чем все*

Аналитика + iBeacon =Шли мимо

Зашли

Сели застол

Посмотрели счет

Оплатили

0 25 50 75 100

2

4

5

10

100

Аналитика + iBeacon =Шли мимо

Зашли

Сели застол

Посмотрели счет

Оплатили

0 25 50 75 100

2

4

5

10

100

Конверсия

Кто виноват?

Что делать?request 1 request-id

request N request-id

Мобилка request-id

Аналитикаrequest-id

Server

Аналитика• не пишите велосипед

Аналитика• не пишите велосипед

• специфичная специфика? – фичареквест / форк!

Аналитика• не пишите велосипед

• специфичная специфика? – фичареквест / форк!

• кто виноват?

Аналитика• не пишите велосипед

• специфичная специфика? – фичареквест / форк!

• кто виноват?

• тесты

Аналитика• не пишите велосипед

• специфичная специфика? – фичареквест / форк!

• кто виноват?

• тесты

• цепочка запросов? = request-id

Итого• iBeacon

Итого• iBeacon

• Запуск приложения

Итого• iBeacon

• Запуск приложения

• Socket.io

Итого• iBeacon

• Запуск приложения

• Socket.io

• Аналитика

Вопросы?

http://saintlab.com/codefest2015/