• AppTractor.ru
  • Главная
  • iTunes
  • SoundCloud
  • Podster
  • Чат в Telegram
Подкасты Android Dev
Подкасты Android Dev
  • AppTractor.ru
  • Главная
  • iTunes
  • SoundCloud
  • Podster
  • Чат в Telegram
Как приложение Wikipedia готовится к работе в офлайне

Как приложение Wikipedia готовится к работе в офлайне

Представляем вашему вниманию статью Риты Хо, соучредителя 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.

Facebook Twitter Google+ LinkedIn VKontakte

Facebook Comments

Другие записи

Трудоустройство Android-разработчиков в России и за рубежом: собеседования, знания, деньги — часть 1.1 Статья
18/06/2018

Трудоустройство Android-разработчиков в России и за рубежом: собеседования, знания, деньги — часть 1.1

38 лучших Open Source Android-проектов на Java Статья
13/04/2018

38 лучших Open Source Android-проектов на Java

Соединяем Android Things со смартфоном при помощи Nearby Connections 2.0 Статья
23/03/2018

Соединяем Android Things со смартфоном при помощи Nearby Connections 2.0

Слушайте
itunes-podcast-app-logo soundcloud-icon thumb17
Подпишитесь на рассылку Дайджест интересных материалов для разработчиков
Facebook
Apptractor

  • AppTractor.ru
  • Главная
  • Обратная связь
  • О проекте
  • RSS
  • Back to top
Android Dev — подкаст о разработке под Android и всем, что с этим связано. Гости программы — разработчики с большим опытом и стажем, которые помнят Android, когда он еще был версии 1.5, и за годы написали приложения для миллионов пользователей по всему миру.
Последние записи
Интересные материалы для Android-разработчика #250

Интересные материалы для Android-разработчика #250

Интересные материалы для Android-разработчика #249

Интересные материалы для Android-разработчика #249

Метки
Android Android O Android Pay Android Things ConstraintLayout Continuous Delivery Continuous Integration Dagger Droidcon Firebase Flutter Google Assistant Google I/O Gradle I/O Instant apps Java Jrebel Kotlin Mobius NDK open source React Native RXJava TensorFlow анимация архитектура аудио безопасность видео дайджест дизайн дополненная реальность интернет вещей исходный код конференция кроссплатформенная разработка машинное обучение новости обучение программирование работа разработка статья тестирование
© AppTractor.ru 2019