1.1 Nearify
Nearify — программа, разработанная индийскими программистами, позволяющая искать и создавать различные события, в большинстве своем события представляют собой массовые мероприятия, такие как концерты, конференции, фестивали, спортивные соревнования, выставки и т.д. По словам разработчиков, программой пользуются более чем в двухстах городах по всему миру.
Скриншот главного окна представлен на рисунке 1.
Рисунок 1 – Скриншот главного окна программы Nearify
Достоинства программы:
- возможность поиска событий, связанных с конкретными людьми, например, с певцами, артистами кино, программистами и т.д.;
- возможность подписки на зарегистрированного пользователя программного средства, что позволяет следить за созданными им событиями;
- возможность поиска по радиусу от определенного местоположения.
Основные характеристики:
- операционная система – iOS, Android;
- примерное количество скачиваний – 100 тыс.;
- язык интерфейса – английский;
- создание собственных событий – да;
- поддержка карт Google Maps – да;
- синхронизация с календарем – нет;
- сортировка по категориям – сейчас и в ближайшее время;
- возможность поделиться событием в социальных сетях – Facebook.
1.2 All events in city
All events in city — программа, также разработанная программистами из Индии, позволяет производить поиск и создание собственных событий, обладает небольшим количеством функций по сравнению с аналогичными решениями.
Скриншот главного окна представлен на рисунке 2.
Рисунок 2 – Скриншот главного окна программы All events in city
Достоинства программы:
- возможность создания организации из нескольких зарегистрированных пользователей;
- возможность подписки на зарегистрированного пользователя.
|
Основные характеристики:
- операционная система – iOS, Android;
- примерное количество скачиваний – 100 тыс.;
- язык интерфейса – английский;
- создание собственных событий – да;
- поддержка карт Google Maps –да;
- синхронизация с календарем –да;
- сортировка по категориям – по роду и виду занятия;
Возможность поделиться событием в социальных сетях – Facebook.
1.3 Eventbrite
Eventbrite – очередная зарубежная программа, разработанная программистами из США, позволяет просматривать и создавать собственные события, является самой популярной из приведенных решений, исходя из данных, представленных в официальном магазине приложений для ОС Android – App Store.
Скриншот главного окна представлен на рисунке 3.
Рисунок 3 – Скриншот главного окна программы Eventbrite
Достоинства программы:
- позволяет добавлять избранные категории событий для зарегистрированных пользователей;
- просмотр событий друзей из социальной сети Facebook.
Основные характеристики:
- операционная система - iOS, Android;
- примерное количество скачиваний – 5 млн.;
- язык интерфейса – английский;
- создание собственных событий – да;
- поддержка карт Google Maps – да;
- синхронизация с календарем – нет;
- сортировка по категориям – по популярности, по роду и виду занятия;
- возможность поделиться событием в социальных сетях – Facebook.
1.4 Event near me
Event near me — зарубежная программа, разработанная разработчиками из Америки, имеет такую особенность, что возможно исключительно просматривать существующие события, информация о которых берется с сайтов организаторов этих событий. Также стоит отметить что отсутствует система аутентификации пользователя.
|
Скриншот главного окна представлен на рисунке 4.
Рисунок – 4 Скриншот главного окна программы Event near me
Особенности программы:
- возможность перехода на сайт организатора события по прямой ссылке.
- Основные характеристики:
- операционная система – iOS, Android;
- примерное количество скачиваний – 10 тыс.;
- язык интерфейса – английский;
- создание собственных событий – нет;
- поддержка карт Google Maps – да;
- синхронизация с календарем – да;
- сортировка по категориям – по роду и виду занятия;
- возможность поделиться событием в социальных сетях – Facebook.
1.5 Сравнение решений и вывод
Сравнение программ будет проводиться по следующим характеристикам:
- операционная система: iOS, Android;
- примерное количество скачиваний: n скачиваний;
- язык интерфейса: поддерживаемые языки;
- создание собственных событий: да, нет;
- поддержка карт Google Maps: да, нет;
- синхронизация с календарем: да, нет;
- сортировка по категориям: имеющиеся сортировки;
- возможность поделиться событием в социальных сетях: поддерживаемые социальные сети;
- поддержка технологии Push уведомлений.
Для наглядности сравнения программных средств, создадим таблицу, куда занесем вышеперечисленные характеристики.
Таблица 1 – Сравнение существующих решений
Программа и характеристики | Nearify | All events in city | Eventbrite | Events near me |
Операционные система | iOS, Android | iOS, Android | iOS, Android | iOS, Android |
Примерное количество скачиваний | 100 тыс. | 100 тыс. | 5 млн. | 10 тыс. |
Язык интерфейса | английский | английский | английский | английский |
Создание собственных событий | да | да | да | нет |
Поддержка карт Google Maps | да | да | да | да |
Синхронизация с календарем | нет | да | нет | да |
Сортировка по категориям | сейчас и в ближайшее время | по роду и виду деятельности | по популярности, роду и виду деятельности | по виду деятельности |
Интеграция с социальными сетями: | ||||
Технология Push уведомлений | нет | нет | нет | нет |
На основе анализа таблицы 1, можно сделать следующие выводы:
|
- ни у одной программы не имеется поддержка русского языка;
- не все программы могут сохранят события в календарь;
- у большинства программ лишь частично реализована сортировка событий;
- ни в одной программе не реализована технология Push уведомлений;
- крайне низкая популярность в России.
Анализ популярности был проведен на основе количества имеющихся событий на 25.01.2017 в самом многочисленном городе России – Москве, было найдено от 0 до нескольких десятков событий в зависимости от программы.
Постановка задачи
2.1 Определение проблемы
После анализа существующих решений их сравнения и составленного вывода, было выявлено, что существует необходимость в разработке программы, которая устраняла бы недостатки имеющихся программ, а также предоставляла новые возможности.
2.2 Формальная постановка задачи
В данной ВКР, мобильная служба организации краткосрочных событий подразумевает создание, управление, просмотр и другие возможности по работе с событиями, которые выполняются пользователем. Для того чтобы правильно сформулировать все понятия и определения, использующиеся в данной ВКР, необходимо написать постановку задачи, которая давала бы наиболее ясное и точное описание решаемой задачи. В формальной постановке задачи описываются все процессы, происходящие при организации событий в мобильной службе.
Пусть имеется множество пользователей P состоящее из конкретных пользователей , формула (1).
(1) |
где:
P – множество пользователей мобильной службы;
– конкретный пользователь;
n – количество пользователей мобильной службы.
Предположим, что конкретный пользователь , который, например, решил набрать форму перед предстоящем экстремальным путешествием посредством утренних пробежек. Так как бег в компании предоставляет такие преимущества как: ответственность, соревновательный настрой, наблюдения со стороны компании для выявления ошибок при беге и т.д., у пользователя возникает желание в поиске той компании людей, вместе с которой он совершал бы коллективную утреннюю пробежку. Решением данной задачи в общем случае, будет выступать программа, разработанная в рамках данной ВКР, в которой пользователь будет иметь следующие основные возможности:
- производить поиск на основе существующих событий E, таких событий , которые будут удовлетворять критериям пользователя;
- создавать собственные события , с целью получения отклика от других пользователей.
В качестве примера разберем процесс поиска существующих событий , которые будут удовлетворять заданным критериям пользователя .
Поиск событий по заданным критериям осуществляется на основе множества из всех существующих событий E, формула (2), и критериям поиска, по которым фильтруются события. В качестве критериев поиска выступают такие фильтры как:
- род занятия;
- вид занятия;
- радиус поиска событий;
- время действия события;
- количество участников события.
(2) |
где:
– конкретное событие;
E – множество существующих событий;
n – количество существующих событий.
Процесс поиска конкретных событий по заданным критериям можно представить с помощью формулы (3).
После произведенного поиска событий из множества событий , удовлетворяющих заданным критериям, пользователю предоставляется соответствующее множество событий удовлетворяющих критериям поиска.
(3) |
где:
E’ – множество существующих событий, удовлетворяющих критериям поиска;
– конкретное событие, удовлетворяющее критериям поиска;
– время действия события;
R – радиус поиска событий;
G – род занятия, характеризующее событие;
H – вид занятия, характеризующее событие;
N – количество участников события.
После того, как пользователь получил множество событий удовлетворяющих критериям поиска, он может посмотреть время прибытия до них и принять в них участие. Время прибытия до событий вычисляется на основе расстояния до их места назначения и способа передвижения (частный автомобиль, ходьба, общественный транспорт). Функция подсчитывающая время прибытия до местонахождений событий представлена в формуле (4).
(4) |
где:
– время прибытия до местонахождений конкретных событий;
l – расстояние до события;
f – способ передвижения до события.
Так-как наряду с проблемой поиска событий существует проблема сокращения времени на их поиск, в данной работе была реализована поддержка технологии Push–уведомлений, которая решает эту проблему.
Push–уведомления – это такой способ распространения информации, когда уведомления отправляются от сервера клиенту по инициативе сервера на основе определённых параметров. В отличие от обратной схемы «клиент-сервер», push-технология выгодна тем, что даёт пользователю целевую информацию, которая может быть ему полезна в будущем времени.
В нашем случае, если интересующее пользователя событие не было найдено изначально, пользователь может включить Push–уведомление, и как только событие будет найдено, ему придет соответствующее уведомление.
Множество из всех будущих событий можно представить с помощью формулы (5).
(5) |
где:
– множество будущих событий;
– множество будущих событий;
Функция поиска будущих событий, удовлетворяющих критериям поиска, представлена с помощью формулы (6).
При поиске будущих событий, пользователь может задать время их поиска, которое будет для него актуально, и каждый раз, когда событие, удовлетворяющее условиям поиска, будет поступать в БД, оно будет доставляться с сервера, на Android – устройство пользователя с помощью Push–уведомлений.
(6) |
где:
– множество будущих событий, удовлетворяющих параметрам поиска;
– множество будущих событий;
– актуальное время поиска будущего события
2.3 Выработка требований
Для того чтобы определить функциональность системы необходимым этапом является выработка требований. Эти требования были определены как из анализа достоинств и недостатков существующих решений, так и из выдвинутых, собственных идей.
В Итоге были сформулированы следующие требования к программе:
- графический интерфейс пользователя;
- поддержка как русского, так и английского языков;
- аутентификация пользователя;
- просмотр с и создание собственных событий E;
- сортировка имеющихся событий ;
- просмотр событий E на интерактивной карте;
- добавление событий E на карту в виде маркеров;
- возможность делиться событиями в социальных сетях;
- сохранение событий в календарем;
- возможность подписки на зарегистрированного пользователя;
- поддержка технологии Push–уведомлений;
- расчет времени прибытия до события.