- Подобие командной строки (не только для операционной системы, но и для приложений и сайтов) со смысловыми ограничениями, подсказками, связностью и т.п. (например, если список товаров может быть определен только после того, как создан заказ, то при вводе "товар добавить", строка должна показать, что это действие возможно только, если заказ определен, поэтому она должна предложить либо "добавить в заказ", либо "создать заказ"). Возможность оперирования с интерфейсом при помощи и фиксированной формы (как это сделано в нынешнем GUI), и динамической формы для действий, для которых не предусмотрена фиксированная форма (действие представляется в виде идентификатора, с которым связаны параметры, для которых существуют места/placeholders, помеченные как обязательные/необязательные, ограниченные областью видимости, доступные/недоступные и т.п.).
- Безопасность, может быть дополнена (не считая уже существующих средств) контекстовой фильтрацией: т.е. приложение должно декларировать в каком контексте оно собирается работать.
- Возможность работать с нелинейным текстом (т.е. который в дополнение к линейному тексту, представляющему из себя последовательность символов, имеет еще ссылки на другую информацию). Нелинейный текст является продолжением идеи гипертекста, для которого не созданы простые средства, позволяющие создать текст, дополнить его ссылками, или же комментариями, не усложняя все форматированием и прочим (подобная задача проще решается при помощи офисных пакетов, но без использования доступных глобально идентификаторов и отношений). Данная задача очень актуальна в случаях, когда необходимы несколько фрагментов текста, связанных между собой (например, описание и субъективный комментарий, который не должен быть частью описания).
Итак, как это будет работать всё вместе?
Пример 1. В отпуске вы сняли фотографии и привезли их домой.
1. Открываете контекст фотографий (в котором доступны только графические приложения и/или только файлы с фотографиями).
2. Загружаете фотографии из фотоаппарата, при этом вам сразу предлагают классифицировать их внутри данного контекста. Вы набираете "отпуск", но у вас уже есть идентификатор "отпуск 2009 дача", поэтому вам предлагают добавить новый идентификатор (т.к. атрибуты файлов фотографий 2010 года и геотаг не находится близко от дачи), например "отпуск 2010 Париж" (т.к. для обозначения времени вы используете только год, а геотаги, абстрагируются в самую крупную географическую структуру, в районе Парижа, если же например, геотаги захватывают и Версаль, то они могут быть абстрагированы как Иль-де-Франс). При дальнейшей классификации, вы можете отобрать наиболее используемые идентификаторы: "я" и "жена" (которые имеют особые значения в пределах данного компьютера), "Лувр", "лучший", выделять фотографии, и перетаскивать идентификаторы на них, таким образом связывая их с фотографиями.
3. Ваша классификация готова к использованию. "лучшие фотографии из Парижа" теперь вернет только лучшие фотографии, а не все документы, в которых встречается эти слова. "я на фотографиях" вернет в том числе и мои фотографии из Парижа.
4. Если, вам нужно отправить лучшие фотографии из Парижа другу, то для этого достаточно только применить действие "отправить" к выделенным лучшим фотографиям, при этом вы можете выбрать (а можете и нет) способ передачи. Дальше возможны варианты: (а) друг доступен за компьютером, тогда он подтверждает передачу (если она не разрешена всегда), ваши компьютеры устанавливают доступное соединение (имейл, http, ftp, IM, p2p, и т.п.) и копируют фотографии, (б) друг не доступен, ему отправляется только сообщение о намерении передать файлы, он подтверждает, когда он включает компьютер, вы получаете подтверждение и ваш компьютер начинает передачу (без вашего вмешательства) на один из промежуточных серверов, далее, когда ваш друг включит компьютер - он получит ваши фотографии с промежуточного сервера. Причем, фотографии попадают в тот же контекст, что и у вас (хотя он, при желании, может быть изменен).
В чем отличие от современного положения вещей? (1) Идентификаторы значат ровно то, что они должны значить, т.е. дача - не просто слово, а может включать географические координаты, 2009 - это не число, а год, и т.п. (2) Идентификаторы доступны не только для приложения, в котором они могут быть созданы, но для всей системы и глобально (например, для той же передачи файлов) (3) Вам не нужно помнить их месторасположение на диске, использование контекста, классификация и абстракция гарантируют, что вы сможете их найти. (4) Вы работаете с компьютером при помощи целей (отправить), а не инструкций (открыть приложение, найти фотографии, приаттачить, отправить).