При использовании облачного хостинга вроде OneDrive или Google Drive обычно предполагается резервное копирование. Кажется логичным, что облачное копирование должно повысить сохранность информации, сделав дубликаты файлов. К сожалению, иногда это не так. И после копирования в облако файлы удаляются с компьютера, что может стать сюрпризом.


Проблему описывает один из пострадавших по имени Джейсон Паргин (Jason Pargin):

В какой-то момент система обновляется и начинает использовать OneDrive, а пользователю не даётся никакого простого предупреждения или возможности отказаться, облачный хостинг просто включается. Затем он замечает, что ОС скрытно загружает все файлы с компьютера на серверы Microsoft. Некоторые заметят это только потому, что у них медленное или ограниченное интернет-соединение… или потому что в OneDrive заканчивается место… Затем человек будет искать, как отключить резервное копирование OneDrive. Тогда он обнаружит, что файлы с компьютера пропали. Всё было удалено. А на рабочем столе, чистом рабочем столе, будет одна маленькая иконка с наглой надписью «Где мои файлы» ("Where are my files")

Система не совсем качественно объясняет новое поведение после обновления — или дизайнеры UI намеренно решили не объяснять его, чтобы не затруднять переход на облачный сервис.

Ещё одно «недопонимание» возникает, если пользователь выбирает опцию скачать обратно свои файлы, но если затем выбрать удаление облачной копии, то файлы будут снова удалены с HDD. В таком случае вообще не останется ни единого экземпляра файлов, если верить описанию Паргина. Аналогичные жалобы можно найти на Reddit и в центре онлайн-поддержки Microsoft Learn.

На форумах объясняют, что облачный хостинг — это не система резервного копирования, а скорее «удалённый диск»:

Тёмные паттерны?

С одной стороны, подобное поведение ПО можно считать примером тёмных паттернов, то есть «обманных» приёмов UI. Такие приёмы часто применяются в современных веб-сервисах, которые пытаются манипулировать пользователями.

Другие тёмные паттерны, перечисленные на сайте Deceptive Patterns:

  • Конфирмшейминг: эмоциональная манипуляция пользователем для совершения определённого выбора

  • Замаскированная реклама

  • Ложная срочность: подталкивание к выполнению действия под предлогом срочности

  • Трудность отмены

  • Постоянные напоминания

  • Предварительный выбор

  • Ловкие формулировки

  • Визуальные помехи

Возможно, применение отдельных таких приёмов — одна из причин, по которой в последнее время рыночная доля Windows снижается (−9,2 процентных пункта за год), а доля Linux растёт.

С другой стороны, пользователи просто не понимают, что такое удалённый диск и как он работает. Это не система резервного копирования, а в прямом слове «удалённый диск». Тогда перед нами совсем не тёмные паттерны, а обычное непонимание (недостаточная техническая грамотность пользователей).

Клиент OneDrive для Linux

Примечание. Любопытно, что существует опенсорсный клиент OneDrive для Linux, поэтому облачным хостингом от Microsoft можно пользоваться под Linux.

GUI окна конфигурации клиента OneDrive для Linux
GUI окна конфигурации клиента OneDrive для Linux

Это полнофункциональный, бесплатный и активно поддерживаемый клиент OneDrive, который поддерживает OneDrive Personal, OneDrive for Business, Microsoft 365 (ранее Office 365) и библиотеки документов SharePoint.

Программа работает на всех основных дистрибутивах Linux и FreeBSD. Его также можно развернуть в контейнерах Docker или Podman. Программа поддерживает односторонний и двусторонний режимы синхронизации, обеспечивая безопасную и эффективную синхронизацию файлов с сервисами OneDrive — адаптированную как для настольных ПК, так и для серверов.

Архитектура клиента
Архитектура клиента

На схеме видно, что независимо от режима работы система проходит через следующие шаги:

  • Запрос OneDrive API для изменённых элементов (/delta) с обработкой каждого элемента, включая обработку новых элементов, изменений и удалений.

  • Проверка согласованности БД, которая в зависимости от объёма данных может занять значительное время.

  • Обход файловой системы, чтобы загрузить изменения и новые локальные файлы.

В режиме --synchronize приложение отобразит сообщение "Синхронизация с OneDrive завершена" и выйдет.

В режиме --monitor клиент будет ждать в соответствии со значением 'monitor_interval' (по умолчанию 300 секунд), прежде чем снова вернуться к началу. В этот период ожидания оно обрабатывает любые локальные события в реальном времени (добавление, изменение, удаление).

В определённом смысле клиент под Linux гораздо функциональнее, чем стандартный клиент под Windows.