Предыдущий проект Следующий проект

Мессенджер thismo

С помощью сервиса thismo компании могут создавать корпоративные чаты. Для конечных пользователей предусмотрены мобильные приложения. Мы разрабатывали мобильный дизайн и Android-приложение в сотрудничестве с backend-командой заказчика.

Особенности проекта

Главная особенность проекта — это realtime-события. Практически вся основная функциональность завязана именно на них (диалоги, сообщения и их статусы, индикатор «is typing» и другие). В приложении также присутствует верификация пользователей по SMS, генерация и распознавание QR-кодов, поиск профилей и управление чатами.

Макет приложения-чата для бизнеса

Проектирование навигации

В имеющейся iOS-версии приложения навигация выполнена посредством табов, к которым уже привыкли пользователи этой системы. Работу над дизайном мы начинаем с проектирования навигации, поэтому для Android-версии мы попробовали найти другое решение, привычное для пользователей этой платформы.

Навигация с использованием табов — не лучший выбор для Android, так как у нас одна главная активность (Мои чаты), а поиск чатов и профиль имеют меньший приоритет для пользователя. Решение c боковой навигацией (Drawer), привычно для пользователей Android, но пользовательский опыт в таком случае пострадает, ведь пункты навигации спрятаны в меню и для доступа к ним придется совершить дополнительное действие.

Поэтому оптимальным решением стало разделение навигации по приоритету. Основная активность (чат) является главным экраном, Floating action button из Material Design дает доступ к функции добавления (поиска) нового чата, а профиль и прочие малоприоритетные функции находятся в верхнем Action bar’е.

Навигация в корпоративном чате
Сетка в приложении-чате

Дизайн интерфейса

Для приложения необходимо было разработать дизайн с учетом фирменного стиля, дизайна iOS-версии и требований руководств по Material Design. Мы использовали сетку в 8 пунктов, типографику и набор стандартных пиктограмм от Google. Это позволило ускорить дальнейшую верстку приложения и строить элементы на экранах по жестко заданной структуре.

Для реализации интерфейса мы использовали элементы Material Design исключительно из библиотек AppCompat и Support Design. Благодаря этому приложение выглядит и ведет себя одинаково в разных версиях операционной системы. В придачу, мы реализовали анимации взаимодействия пользователя с UI (переходы между экранами, операции с элементами списков).

Разработка чата

Компонент realtime-событий разрабатывался вместе с командой клиента. Мы использовали WebSocket-протокол в связке с продвинутой мобильной базой данных Realm, что обеспечило гибкость обработки и управления данными.

В основе приложения лежит архитектура Model-View-ViewModel, которая повышает скорость разработки, упрощает проектирование и тестирование продукта. К тому же, с ней проще выполнять масштабирование и поддерживать проект. Удобство и надежность разработки экранов, в свою очередь, повысила библиотека DataBinding. В проектах такого рода все это делает приложение «живым» и отзывчивым, не изобретая при этом «велосипедов».

Помимо socket-соединений, присутствует также работа с удаленным интерфейсом RESTful API, который используется для авторизации и поиска собеседников. Для взаимодействия с ним мы используем библиотеку Retrofit 2.0, что тоже повышает скорость и удобство разработки.

Если пользователю придет ответ, когда он не в приложении, мы известим его с помощью push-уведомления Google Cloud Messaging. Таким образом, важные сообщения всегда дойдут до адресата.

Макеты приложения-чата для бизнеса

Над проектом работали:

  • Максим
    Максим

    Дизайнер

  • Антон
    Антон

    Android-разработчик

  • Александр
    Александр

    Android-разработчик

Наши проекты