Pull to refresh

Минимизация обращений к файловой системе при передаче документа между приложениями

Reading time3 min
Views518
При работе с документами и передаче их от приложения к приложению, очень многое делается через посредника — файловую систему (ФС). Ну как бы делается и делается, совсем её отрицать не буду (хотя есть и такие проекты), но лишние обращения к ней со стороны пользователя тоже ни к чему хорошему.

Пример. Открыты текстовый документ и аськин чат (тоже документ, по сути). Вот они, оба передо мной, но нет способа познакомить их друг с другом — простой привычный DnD (drug'n'drop) на уровне документов не работает, а если спуститься на уровень ФС, здесь работает.

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



Пик — высокий уровень абстракции (документ), низина, соответственно, — низкий (файл). Наверху живётся заметно приятнее, так что хорошо бы спускаться вниз пореже.

Ещё, я часто слышу от людей вопрос «куда я сохранила файл?!» И это сюда же. «Мои документы» и «recent files» в файловом диалоге помогают, но это костыли по-сути — мы всё так же спускаемся на уровень абстракции вниз, вспоминаем под каким именем что сохранили.
 

Ещё примеры


[PrtScr] → mspaint.exe → ctrl+v → сохраняем картинку → Word: вставить объект → выбираем файл

Запускаем word.exe → тыц-тыц-тыц по клавишам → сохраняем *.doc → Почтовик: приложить файл → диалог открытия файла

Firefox.exe: сохраняем картинку → Explorer.exe: находим файл → клац-клац!

Я создал новый текстовый документ, хочу его сохранить. Соседнее приложение — файловый менеджер с открытой директорией, той самой куда я хочу сохранить. Но обойтись без посредника (ФС) снова не получается.

Вобщем, бессмысленных неудобств хватает. Другое дело …
 

Что можно сделать


1) некая графическая сущность в каждом документе, олицетворяющая сам документ, которую можно было бы перетянуть на другой документ

2) система уведомлений о создаваемых документах; что-то в углу, всплывающее в нужных случаях: как-то создание файла по воле пользователя (Download Statusbar — локальная реализация)

3) «системное» меню document/send-to в каждом приложении

(Драгндроп не так очевиден, конечно, что может помешать использованию.)

Документ можно передать:
— в уже запущенное другое приложение, и тогда работает механизм DnD,
— в ещё незапущенное — и тут с DnD не так просто :-), может спасти «Send To».

Конечно, какие-то единичные приложения позволяют сделать одно (перетянуть песню из плейлиста в редактор), другие — что-то другое, но таких мало, а без массовости и унификации это мало что значит. Хорошо если бы такая передача документа от приложения к приложению была заранее продуманной, заметной, сквозной особенностью операционной системы. Присутствовала в культуре разработки или была навязана системой как то же системное меню «закрыть-переместить».
 

Что уже есть


1) Контекстное меню «Sent To» доступно из той же самой ФС и потому само по себе ценности в данном контексте не представляет, но вполне может послужить при реализации концепции.

2) Некоторые программы позволяют вызвать другие, передав файл документа как параметр, но это либо захардкожено («Редактировать» в просмотрщике), либо требует настройки для каждой программы (foobar2000 run services) — просто передать любой документ в любую программу нельзя.

3) Расширение Firefox'а Download Statusbar как раз и есть пример вышеописанной локальной Системы Уведомлений (в Chrome есть аналог). Расширение невероятно ценное и является отличной иллюстрацией профита от неспускания вниз (но попробуй догадаться до такого функционала!) Действие (action), конечно, доступно лишь одно, но это покрывает большинство случаев.
 

P. S.


Изложенное здесь похоже на одну статью в личном блоге здесь, но я менее расчитываю на услужливые предложения системы — у меня человек остаётся таким же источником воли как и сейчас, всего лишь упрощается способ взаимодействия между документами (приложениями). И не надо прописывать никаких возможных действий для каждого типа файла: edit, view, etc.
Tags:
Hubs:
Total votes 11: ↑6 and ↓5+1
Comments21

Articles