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

Нюансы, которые делают некоторые приложения потрясающими, обычно остаются незамеченными, но сразу же замечаются, когда они отсутствуют. Цель этой статьи - выявить небольшие оптимизации, которые были созданы блестящими разработчиками Whatsapp для улучшения пользовательского опыта для своего приложения. Я расскажу о некоторых вещах, которые, как я считаю, делают отличным приложением для чата, на примере Whatsapp, поскольку он мой любимый. Список, который я собираюсь рассмотреть, применим не только к чат-приложениям, но и ко всем современным приложениям.

Шифрование:

Недавние проблемы с конфиденциальностью и безопасностью данных, возникшие за последние несколько лет, сделали широкую общественность очень осведомленной о том, что происходит с их информацией. Whatsapp обеспечивает сквозное шифрование для всех сообщений, это означает шифрование текстов, изображений, видео, гифок и всего остального, что перемещается между пользователями. Для разработчика-одиночки создание строгой и безопасной системы шифрования - нелегкая задача, требующая огромного объема работы и твердого понимания безопасности данных. Шифрование важно, потому что пользователи приложений могут спокойно отдыхать, зная, что их данные защищены от злонамеренных действий.

Кеширование:

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

Локальные данные также постоянно синхронизируются с базой данных Whatsapp, обеспечивая обновление при отправке нового сообщения. Whatsapp также синхронизирует ваши данные в неактивные часы, чтобы не мешать работе пользователей. Как известно большинству разработчиков приложений, создание оптимизированного приложения, синхронизирующего сетевые данные с локальными данными, может быть сложной и трудоемкой операцией. Разработчики могут отказаться от локальных данных, но создание приложения для чата, которое использует только сетевые данные, может привести к прерывистому, «загружающемуся» заполненному приложению, что ухудшит взаимодействие с пользователем.

Сохранение функций в приложении:

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

Фоновые задачи:

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

Синхронизация телефонного номера:

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

Минималистичный дизайн:

Минималистичный дизайн Whatsapp - это то, что я считаю его сильнейшей стороной. Все важные функции, которые могут понадобиться пользователю, доступны сразу же, и пользователю не нужно изо всех сил искать их. Такие функции, как удаление сообщений, немного скрыты, но их очень легко найти, если пользователь решит, что они им нужны. Что делает современное приложение блестящим, так это то, что за простым фасадом скрывается огромный уровень сложности, что обеспечивает оптимальное взаимодействие с пользователем. Для большинства разработчиков создание такого приложения требует большого количества проб и ошибок, а также пользовательского тестирования.

Присутствие в сети:

Whatsapp отслеживает присутствие своих пользователей и отслеживает, когда они в последний раз были в сети или офлайн. Текстовые сообщения также присутствуют, и пользователи получают уведомление, если сообщение было отправлено, прочитано или доставлено другим участникам чата. Система присутствия постоянно информирует пользователя о статусе приложения и значительно улучшает взаимодействие с пользователем. Создание системы присутствия может быть сложной задачей и потребует обновлений в реальном времени и автоматической синхронизации.

Профили:

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

Уведомления:

Уведомления могут сделать или сломать приложение, нет ничего хуже постоянных и бесполезных уведомлений. Whatsapp группирует уведомления, обеспечивает предварительный просмотр, позволяет пользователю отвечать в уведомлении и не засыпает пользователя огромным количеством уведомлений. Создание надежной системы уведомлений требует надлежащей аналитики и пользовательского тестирования, чтобы гарантировать, что пользователи не теряют интерес к приложению.

Ответная реакция:

Whatsapp принимает во внимание большинство ситуаций, с которыми может столкнуться пользователь. Будь то медленное подключение к Интернету, отсутствие Интернета, неудачная загрузка или любые другие ошибки, пользователь всегда знает, что происходит. Whatsapp попытается повторно отправить текст несколько раз, если нет подключения к Интернету, или дождется восстановления подключения к Интернету перед повторной попыткой. Как и другие аспекты в моем списке, отзывчивость снова увеличивает время разработки приложения.

Последние слова:

То, что я упомянул в этой статье, - это лишь малая часть того, что происходит в Whatsapp или любом другом замечательном приложении. Статья из 10 абзацев никогда не сможет охватить всю оптимизацию, которую разработчики Whatsapp сделали за эти годы. Со всеми аспектами, которые я упомянул в этой статье, простое приложение для чата может легко превратиться в четырехмесячный проект, если потребуется полное решение. Надеюсь, я пролил свет на бедственное положение скромных разработчиков приложений. Наша задача как разработчиков приложений - повысить уровень сложности с нашей стороны, чтобы пользователи наших приложений могли получить безупречный опыт.

Lattice Studios - компания по разработке приложений, базирующаяся в Калгари, Альберта. Посетите нас на сайте latticestudios .com и в наших социальных сетях @ latticestudios.