Представляем вашему вниманию статью Риты Хо, соучредителя Wikimedia.
Нам в Wikimedia нам нравится начинать процесс проектирования с понимания аудитории. В 2017 году наша инициатива «Новые читатели» проводила этнографические исследования в Нигерии и Индии. Несколько моментов сильно повлияли на Android-команду Wikipedia:
Мобайл доминирует в выходе в Интернет, а Android — главная платформа. Мобильные приложения бьют все рекорды: мгновенные сообщения и социальные медиа находятся в топе.
Подводя итог этим выводам, мы внесли ряд улучшений в приложение для Android, чтобы лучше обслуживать пользователей, которые имеют ограниченный доступ или доступ к интернету с низкой пропускной способностью.
Особенности работы в офлайне
В течение прошлого года мы работали над несколькими офлайн функциями в приложении.
- Списки чтения. Пользователи могут легко сохранять статьи в списках чтения, чтобы просматривать их позже в автономном режиме.
- Кеширование по умолчанию. Все открытые статьи кешируются и остаются доступными даже при потере интернет-соединения.
- Офлайн-библиотека. Эта функция предусматривает бесшовный просмотр Википедии в онлайне и офлайне. Пользователи могут загружать коллекции статей Википедии в свою «автономную библиотеку» и продолжать поиск и чтение этих статей вне зависимости от наличия интернета.
Проектирование для офлайн
Мы попытались применить ряд лучших практик при проектировании приложения для офлайн-пользователей и пользователей с низкой пропускной способностью. Мы хотим выделить следующие ключевые соображения для тех из вас, кто может разрабатывать аналогичные продукты для схожих аудиторий.
1. Осознавать состояние
Понимать состояния подключения к интернету очень важно, особенно когда он работает с перебоями. Мы внедрили четкий обмен сообщениями в приложении, поэтому пользователи всегда знают о статусе подключения и знают, когда читают офлайн-контент.
Примеры различных уведомлений, когда приложение отключено от Сети. Слева: “тост” уведомление, когда отображается автономная версия статьи. Центр: сообщение отображается в автономной библиотеке при поиске в автономном режиме. Справа: сообщение о том, что можно обновиться.
2. Контекстные действия
Кроме ясного указания статуса подключения, мы также предоставляем пользователям контекстные релевантные действия, которые появляются тогда, когда приложение находится в автономном режиме. Примером этого является тот случай, когда пользователь нажимает на ссылку во время чтения статьи.
Когда пользователь подключен к Сети, отображается предварительный просмотр связанной статьи, но когда он находится в автономном режиме, вместо того, чтобы показывать сообщение «нет соединения», им предоставляется возможность сохранить статью для чтения позже, как только соединение будет восстановлено.
Разница между онлайн и офлайн.
3. Обратная связь на медленном соединении
Для тех, у кого медленная скорость подключения, особенно важно быть уверенными в том, что совершенные в приложении действия распознаны и загрузка пошла. Отсутствие обратной связи может привести к потере времени и данных при повторном запуске процесса или, что еще хуже, люди могут отказаться от того, что они пытались сделать, если они считают, что приложение не реагирует на медленное соединение.
Принимая это во внимание, мы добавили дополнительные индикаторы прогресса, чтобы предоставить эту обратную связь пользователям, когда статья сохраняется в их списке чтения. Пользователям также четко показывают ход загрузки пакетов статей в их автономную библиотеку.
Слева: индикатор прогресса, согласно которому статья будет сохранена в списке чтения, когда пользователь снова будет в сети. Справа: сообщение, показывающее ход загрузки статей, загружаемой в автономную библиотеку.
Мы также планируем обновить экран загрузки, чтобы показать “скелет” приложения – так пользователи смогут понимать, какой контент получается в момент открытия приложения, это лучший индикатор прогресса, чем текущий статический экран с буквой «W» от Wikipedia.
4. Умное кеширование для ненадежных соединений
Вместо того, чтобы перекладывать ответственность на самих пользователей с плохим соединением, мы изменили систему кеширования статей и сделали их сохранение сразу же после открытия.
Таким образом, все статьи, открытые людьми (и даже недавно просмотренные статьи), остаются доступными даже тогда, когда они теряют связь с интернетом во время чтения.
5. Контроль использования данных
Теперь доступны дополнительные настройки для тех, кто хочет экономить использование данных – есть возможность отключения изображений, и еще один вариант «предпочитать офлайн-контент», а не всегда загружать последнюю версию статьи.
Слева: настройка изображения. Справа: Предпочитаю использование автономного содержимого.
В будущем планируется еще больше контроля, в том числе:
- Возможность загрузки статей только по WiFi
- Исключительно автономный режим
- Загрузка изображений с низким разрешением перед загрузкой изображений с полным разрешением
6. Использование и хранение данных
Мы хотим быть прозрачным в отношении того, как много места в хранилище используют автономные статьи. Мы надеемся, что это поможет людям с ограниченными и дорогостоящими пакетами данных лучше понимать использование своих данных и принимать соответствующие осознанные решения.
Слева: сборники статей для загрузки – четко показан размер файла. Центр: общее пространство для хранения, используемое автономной библиотекой. Справа: списки чтения показывают количество доступных статей в автономном режиме и размер файла.
Мы также изучаем способы уменьшить размер самого приложения, рассматривая альтернативы “тяжелым” функциям. Например, использование Mapbox для просмотра статей поблизости в режиме карты.
7. Обучение пользователей
Создание лучшего автономного/низкоскоростного пользовательского опыта требует от пользователей понимания всех преимуществ и четкого информаирования, чтобы они знали, как и где получить доступ к контенту для работы в автономном режиме.
Имея это в виду, мы сделали обучающий онбоардинг, а также воспользовались «пустыми состояниями», чтобы предоставить дополнительную информацию о функциях, при помощи которых пользователи могут взаимодействовать с приложением.
Экран обучения пользователей для офлайн-библиотеки.
Пустые экраны.
8. Совместное использование офлайн
Еще одним ключевым результатом нашего исследования было то, что «люди все чаще получают информацию онлайн, а затем потребляют ее или делятся ею офлайн».
Автономная библиотека была разработана с учетом этого – пользователи, загружающие коллекции статей на одном устройстве, могут обмениваться файлами с другими через USB, передавать их на карте microSD или даже через соединение Bluetooth. Приложение само может обнаруживать файлы с коллекциями статей, независимо от того, записаны они на устройстве или где-либо на внешней SD-карте.
Наконец, помимо функции «Автономная библиотека», само приложение Wikipedia также может быть загружено из сторонних источников, доступно на F-Droid (за пределами магазина Google Play), его можно скачать как APK на нашем сайте.
9. Вопросы экономии батареи
Пользователи в зонах с низкой пропускной способностью имеют устройства с меньшей емкостью аккумулятора и имеют меньше возможностей перезаряжать телефон в течение дня, поэтому мы также начинаем рассматривать способы, с помощью которых наше приложение может снизить потребление батареи.
Недавнее обновление добавило “черный” режим, поскольку было доказано, что устройства AMOLED получают значительную экономию энергии при использовании пользовательского интерфейса в черном цвете.
Что любопытно, эту функцию мы внедрили после того, как наше сообщество попросило об этом.
Примеры черного режима.
Приложение для Wikipedia является открытым проектом и вы можете принять участие в его развитии. Официальная страница: https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Android/App_hacking.