Идентификация, абстрагирование, смысл

Автор: Юрий Гуськов

Опубликовано 12 августа 2010 года

Орфография и пунктуация автора сохранены.

Интернет - это большая свалка информации. Впрочем, не без попыток отсортировать и упорядочить. Но даже самые успешные сортироворочные машины на простейшие запросы вываливают на вас миллион ссылок (что, по видимому, должно считаться символом успешности сортировки, как если бы вы попали в библиотеку, а вам сказали: "да, у нас есть миллион книжек на эту тему, поищите там..."). Что ж, приходится полагаться на собственные умения и досортировывать то, что уже предложено. Вполне естественно, что обычно мы ограничиваемся сортировкой десятка, максимум, сотни ссылок, если ничего не находим - поиск можно считать провалившимся. Конечно, сортировочные машины проделывают огромную работу: по расчетам, на данный момент, в Интернете существует около 1 триллиона (10 в 16 степени) уникальных страниц, запросы на общие слова обычно дают около сотни миллионов страниц (10 в 8 степени), на менее общие мы уже получаем десятки миллионов, и так далее. Но ведь, в реальной жизни, поиск должен давать от десятка-сотни до одной ссылки. Например, на запрос "чемпион мира по футболу 2010 года" существует ровно один ответ, на запрос "кошки", наверное, все же ожидается ответ с сайтами и страницами, посвященным только им, а не все ссылки, гдеони так или иначе упоминаются. Поэтому неудивительно, что современные поисковики пытаются угадать то, что вам нужно, предложить лучшуюфильтрацию, полагаются на человеческую досортировку, логично полагая, что уж люди лучше разберутся в информационном хламе.

А ведь вначале о подобных проблемах никто и не думал. Первые компьютеры были весьма неудобны в использовании (относительно современных, конечно), поэтому информация накапливалась очень медленно. Но, к счастью или сожалению, прогресс не стоял на месте. Появился текстовый интерфейс, операционные системы, высокоуровневые языки программирования, форматы данных, графический интерфейс, Интернет, наконец. Каждое из последующих нововведений (не считая прогресса аппаратного обеспечения) облегчало ввод и обработку информации, что вело к росту ее объемов и затрудняло поиск. С появлением Интернета ситуация еще больше усугубилась: покуда компьютеры не были связаны в единую сеть не каждый находил удовольствие в выплескивании своих мыслей и эмоций на жесткий диск, но появление тысяч и даже миллионов благодарных (а пусть даже и неблагодарных) читателей, стало спусковым крючком для экспоненциального роста информации.

Можно ли решить проблему больших объемов информации? Кое-кто полагает, что решение в коллаборации и разного рода социальных сетях, а также Семантическом Вебе (который, хотя и акцентируется на интеллектуальныхагентах и приложениях, но тоже подразумевает своего рода социальнуюсеть). Однако существует, по крайней мере, две проблемы. (1)Информация, когда создается и публикуется, уже должна бытьупорядочена. Возникает вопрос, есть ли гарантия, что сторонние людиупорядочат ее лучше, чем ее создатели? (2) Порой коллаборация вместоупорядочивания информации создает еще больший объем информации,которую в свою очередь, тоже надо упорядочивать. (3) Частоупорядочивание требует эксперта, что порой просто невозможно. Другиеперспективные направления включают (но не ограничены только этими):виртуальная реальность, дополненная реальность, 3-мерный интерфейс,распознавание образов и языка. Некоторые из них еще недостаточноразвиты, другие же весьма эффектны эстетически, но не так полезныпрактически. Раз так, то давайте попробуем взглянуть на проблему сдругой стороны: а можно ли вообще понять, что хотя бы теоретическимогло бы решить эту проблему? Для начала можно посмотреть на революциипрошлого и попробовать понять, почему то или иное изобретениеоказалось прорывом.

* Текстовый (консольный) интерфейс. Возник, т.к. человеку былонеобходимо общаться с компьютером на понятном языке. Для подобногообщения были неоходимы два условия: возможность идентифицировать туили иную компьютерную сущность (например, диск или операциюкопирования) и возможность абстрагирования (т.е. выражения множествадействий или объектов при помощи одного идентификатора). Как побочныйэффект: возможность переиспользования уже имеющихся идентификаторов.Долгое время проводились попытки использовать естественный язык дляэтих же целей, но они провалились не только из-за того, что анализполного набора грамматических конструкций затруднен (хотя анализупрощенного подмножества вполне реален), но также из-за того, что дляоперирования компьютерными сущностями лучше подходит специальный язык.Ведь, любая область человеческой деятельности рано или поздно приходитлибо к своему жаргону (арго), либо к специфическому абстрактному языку(как в математике), которые лучше абстрагируют объекты и действия этойобласти.

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

* Операционная система. Среда, помогающая программному обеспечению ипользователю использовать аппаратное обеспечение. По сути же,предоставляет слой абстракции, который скрывает низкоуровневыесущности аппаратного обеспечения, а также позволяет программномуобеспечению выстраивать свой слой абстракции, предоставляя наборсущностей, понятных пользователю.

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

* Приложения. Являются слоем абстракции между операционной системой ипользователем. Предоставляют детерминированный набор действий напредопределенные реакции пользователя. Кодируют первоначальный смысл(то, как систему видят пользователи) в виде абстракций (сначалаархитекторами, а потом и разработчиками), чтобы в итоге декодироватьабстракции в смысл, понятный пользователем (естественно, во многихслучаях, уже хоть немного, но искаженный, т.к. смысл проходит черезнесколько преобразований).

* Графический интерфейс. Его преимущества связаны не только с тем, чточеловек лучше воспринимают информацию визуально (человек быстрееобрабатывает пространственные абстракции, чем логические или языковые,к тому же само абстрагирование возможно является порождением именновизуального восприятия информации). Не менее важно и то, что он явнопредоставляет и ограничивает информацию (т.е. вы видите все командысразу, а не вспоминаете их, а их возможные значения ограничены всписке и т.п.) и связывает ее (одному элементу соответствуют другиеэлементы информации или действия, например, связь между объектом идействиями, предоставляемыми в меню). Однако, при большом количествеэлементов мы опять возвращаемся к необходимости использованияподдержки естественного языка (в виде руководств и т.п.). К тому же,что часть элементов приходится скрывать, упорядочивая их в иерархии(меню, деревья, вложенные окна и т.п.), при этом мы ограничиваемконтекст, что хорошо для понимания отдельной области, но при этом же,многие уровни вложенности так хорошо скрывают возможности приложения,что ими редко, кто пользуется, а иногда и с трудом находит. Наконец,еще одна проблема заключается в том, что элементы графическогоинтерфейса и данные связаны неявно (для пользователя), что непозволяет переиспользовать подобный интерфейс (т.е. ссылаться наэлементы GUI). При всех преимуществах, графический интерфейс всегдаподдерживается натуральным языком: в корне проблемы лежит тот факт,что визуальные элементы программы не всегда интуитивно понятны, в товремя как естественному языку люди обучаются в течении десятилетий.Собственно говоря, иконки ничем не отличаются от букв (которые тожеявляются иконками), но при необходимости компоновки сложных действий -это проще будет сделать при помощи естественного языка (в видеинструкции), либо при помощи абстрактного языка скриптов, а непереиспользуя графический интерфейс. В целом, хотя графическийинтерфейс и очень эффективен, но он не может представить любуюинформацию (например, звук), поэтому универсальным может быть толькосимвольный интерфейс.

* Интернет. Его достоинства заключаются в неразрывном сплетении двухфакторов: объединение компьютеров в глобальную сеть и объединениеинформации внутри гипертекста (который представляет собой контейнер,объединяющий текст и другие медии). Оба эти фактора по раздельности немогли совершить революцию: представьте себе Интернет, в котором нетгипертекста, а есть один ftp протокол, или же, наоборот, существуетпрогрессивный формат, позволяющий переходить из текста в текст, но врамках вашего жесткого диска. Естественно, что одно вытекало издругого и появление глобальной сети послужило спусковым крючком дляпоявления всего набора Интернет технологий.

* Гипертекст, Веб, Веб 2.0, доменная система. В свою очередь,представляет собой симбиоз трех факторов: связывания ресурсов(различных репрезентаций информации), форматирования данных и разногорода динамика: клиентская (ДжаваСкрипт, плагины) и серверная (формы,элементы графического интерфейса) ресурсов. Впоследствии, серьезноевнимание было уделено форматированию и динамическим возможностя,поэтому были упущены недостатки связывания. А именно, гипертекстовоесвязывание позволяет реализовать ссылку только один-к-одному, инаибольший смысл имеет только тогда, когда мы ссылаемся на уникальныйресурс (или оригинал) или же ссылаемся на часть общего целого (как,например, один сайт). Если же мы ссылаемся на произвольный ресурспроизвольного сайта (например, новость на определенном новостномресурсе, хотя она продублирована на множестве других), то такая ссылкастановится ограниченной и субъективной. Веб 2.0 представляет собойразвитие динамической составляющей ресурсов, добавляя большевозможностей графического интерфейса со стороны клиента. Доменнаясистема является аналогом "файловой системы" Интернета, где домен иего компоненты должны (теоретически) идентифицировать провайдераинформации. Практически же, домены в виде идентификаторов частонеправильно (намеренно или нет) используются (как и имена файлов), чтопоощряет коррупцию вокруг доменных имен.

* Персональные страницы, электронная почта, чаты, мгновенный обменсообщениями, блоги, микроблоги, социальные сети, комментирование,коллаборейшн сайты. Интернет стал спусковым крючком для ростанакопленной информации. В пре-Интернет эпоху никому и не приходило вголову создавать документ с описанием себя любимого (кроме резюме) ираспространять его каким-либо способом (здесь мы тоже видим сплетениедвух неразрывных факторов: публикование персональной информации и еераспространение). Вначале, модным словом стало "персональнаястраница", с появлением блогов необходимость в персональных страницахпостепенно отпадает, так как блоги предоставляют почти те жевозможности, при меньших затратах на дизайн и поддержку, к тому жесочетая в себе возможности обмена сообщениями, но с возможностьюсохранения и всемирной доступности (микроблоги являются еще болееупрощенным развитием той же линии). В дополнении к этому многие сайтысейчас предоставляют системы комментирования своих ресурсов, что длянекоторых постоянных посетителей является эдакой разновидностьюмикроблога (часто комментарии постоянных посетителей могут уклонятьсяот темы ресурса и становиться микроблогом). Тоже самое касается исоциальных сетей. Коллаборейшн сайты, в отличие от социальных системобмена субъективной информацией, предназначены для обмена объективнойинформации, в идеале, роль личности должна быть сведена к нулю. Привсех недостатках, Википедия стала де-факто стандартом для справки отом или ином предмете.

* Порталы, поисковые системы. Первоначально именно порталыпредставлялись решением, которое позволит упорядочить информацию вИнтернете. Но они обладали и определенными недостатками: (а) любаяиерархия знаний частично субъективна, поэтому не всегда очевидно какойпуть иерархии выбрать, чтобы найти нужный предмет, (б) любая иерархиявместе с упорядочиванием, посредством разбиения на ветви, также искрывает информацию в этих ветвях, (в) использовалось ручноеобновление каталога, хотя при этом многие порталы предоставляли этувозможность любому, что роднило их с коллаборейшн сайтами. На порталахбыл даже поиск по содержимому портала, но появление поисковых системнанесло серьезный удар по их позициям, так как их поисковая строкабыла точкой входа (кстати, подобно консоли операционной системы) длялюбой информации в Интернете, причем постоянно обновляемой.Разумеется, как и любое творение человека, поисковые системы имеют исвои недостатки. Главный из которых, является, одновременно ихдостоинством: это представление всего массива данных Интернета в видебольшой "плоской" базы данных. Точно также можно представлять весь нашмир, все континенты, города, людей, животных в виде "плоской" базыданных атомов. Конечно же, такое представление частично абсурдно (т.к.имеет значение в какие структуры эти атомы собираются). И создателипоисковых систем прекрасно это понимают, предоставляя дополнительныесредства, как то: релевантность/ранжирование слов/запросов,коллаборейшн средства для повышения релевантности поиска, и т.п.Поисковая система достигает максимума продуктивности только в случае,когда слово или словосочетание полностью соответствует смыслу,скрывающемуся за ним.

* XML, Семантический Веб. Идея связывания всего и представления водном универсальном формате лежала еще в основе HTML, а если копнутьеще глубже, то и в SGML (если уж копать дальше и дальше - идея-топрорабатывалась еще философами за много столетий до того как). XMLподошел к проблеме ближе, так как, по крайней мере, был достигнутконсенсус по поводу универсального формата. Однако, не хватало смысла.Семантический Веб добавил немного смысла, и стал потенциальнымкандидатом на новую революцию, но он обладает и определенныминедостатками. Главное - это то, что он ориентирован на обработку"интеллектуальными агентами", а не простыми пользователями. Иобработку, в основном, данных, причем, данных упорядоченных. К томуже, формат тройки "субъект-предикат-объект" заставляет сомневаться вцелесообразности абстрагирования всего при его помощи. Никто неподвергает сомнению факт, что всё можно втиснуть в подобный формат, нобудет ли являтся это целесообразным? Этот принцип аналогиченконструкциям естественного языка, где подобные тройки выступают каксимвол дуальности пространства-времени и выражение факта, что любоедействие происходит между двумя предметами. Но, в естественном языкеформат тройки не является обязательным, к тому же часто расширяетсяобстоятельствами. Разумеется, что и дополнения, и обстоятельства можнопредставить тройками тоже, но это может быть целесообразным только,когда субъект, предикат и объект - это роли, а не смысл. Например, втаком случае в роли предиката может выступать как глагол-действие, таки глагол-отношение, а в роли объекта как существительное (объект), таки прилагательное (которое редко бывает объектом, а обычно выступаетатрибутом объекта). Любимый пример в Семантическом Вебе: "небоголубое", где субъектом выступает "небо", предикатом "иметь цвет", аобъектом "голубое". Как мы видим, здесь не совершается никакогодействия по смыслу, а выражается только отношение (или жеатрибутивность). Данный пример показывает, что изначальный смыслдуальности пространства и времени (например, в "я иду"),представляется в абстрактной форме, где вся предикат и объект являютсяролями. И, конечно, очевидный недостаток в обязательности тернарногопредставления, хотя большинство данных организовано в Н-арном виде, вобщем случае (особенно это очевидно в мире компьютеров, где данныемогут быть связаны множеством произвольных ссылок, но это истинно идля естественного языка). Онтологии Семантического Веба вводят новыйуровень сложности, но не являются ли они логическим продолжением XMLсхем, на которые мечтали перевести целые индустрии несколько лет томуназад (и на которые все так и не перешли)? В целом, мы видим картину,что с Семантическим Вебом могут работать (по крайней мере, на данныймомент), в основном, эксперты, что очень сужает возможностиколлаборации на его основе.

Итак, работа с компьютером представляет собой работу с абстракциями,которые выражаются в абстрактных, графических и естественных языках,форматах, протоколах, представлениях. Которые, в свою очередь,представляют собой набор идентификаторов, связанных между собойправилами и отношениями (в частности системой разделителей, которыевыражаются либо в определенном символе, представляют собой пустойидентификатор, выражающие обычно отношение границы или связывания).Перед появлением Интернета все революции заключались в построении всеболее и более высоких уровней абстракции над аппаратным обеспечением имашинным кодом, высшей формой чего явился графический интерфейс(который, теоретически, должен быть ближе всего к пользователю).Интернет революция дала нам связность информации между компьютерами исвязность информации внутри гипертекста. Все остальные нововведенияявляются либо следствиями этих причин (появление социальных сетей, какеще одна возможность общения в Интернете), либо недостаткамиизначальных стандартов (как, например, динамический аспектгипертекста), либо же средствами преодоления возникших проблем (какпоисковые системы и Семантический Веб). В целом же, мы видим, чтокаждый шаг касался трех основных аспектов: идентификация, абстракция исмысл (связность).

* Идентификация

Проблема идентификации идеально решается в программировании. Чтонеудивительно - ведь там это необходимое условие самого процесса (т.к.всё должно быть идентифицировано, чтобы использовать его вдальнейшем). Для всего остального мира, проблема идентификации какстояла, так и стоит, как никогда остро (впрочем, проблема существуетдаже в программировании на месте его стыка с миромне-программирования, например, идентификации предметов, не включенныхв программу напрямую). Текстовый интерфейс усугубил проблемуидентификации тысячей аббревиатур, которые необходимо запомнить (илинайти). Графический интерфейс облегчил проблему тем, что показываетидентификаторы явно, однако проблема его заключается в том, что этиидентификаторы не доступны для переиспользования (например, чтобысослаться на какой-либо элемент и изменить его значение/состояние).Файловая система вводит еще один уровень сложности идентифицирования,т.к. необходимо запоминание имен файлов и путей. Доменная системазаставляет запоминать имена доменов и URL-ы. В целом, конечно, любоезапоминание полезно для тренировки памяти, но на выходе мы также видимсвалку из миллионов идентификаторов. И ладно, когда чужиеидентификаторы нам ничего не говорят о содержимом, так даже теидентификаторы, которые мы используем для собственных файлов, современем тоже могут потерять смысл.

* Абстракция

Проблема абстракции более-менее решена в программировании. Чтонеудивительно - ведь там это достаточное условие самого процесса, аименно, программирование постоянно оперирует с абстракциями, которыесоответствуют другим абстракциям или предметам реального мира.Существует, конечно, и небольшая проблема, а именно: пройдя черезнесколько этапов абстрагирования (например, в цепочке"пользователь-дизайнер-разработчик-пользователь") на выходе мы имеемабстракции, которым не всегда можно поставить в соответствие исходныеабстракции. Отброшенная информация либо подразумевается (дизайнером,разработчиком, и т.п.), либо просто игнорируется. Для мира внепрограммирования проблема выглядит по-другому, т.к. здесьабстрагирование отсутствует вообще. Почему? Главным образом, потомучто не существует формального алгоритма абстрагирования. Впрочем,абстрагирование частично доступно через идентификацию (ведьидентификатору соответствует содержимое, т.е. идентификатор, по сути,и является абстракцией информации, особенно это очевидно, если в ролиидентификатора выступает текст на естественном языке), чтонеудивительно, так как идентификация - это как бы "идеальное"абстрагирование, когда похожесть источника и результатаабстрагирования является полной.

* Смысл

Проблема смысла лучше всего решается в программировании. Что такоесмысл? Простейшее определение может звучать так: комплексидентификаторов сходны по смыслу, если стоящие за ними объекты,действия, отношения тоже сходны. Например, комплекс идентификаторовможет включать: (1) фотографию части реальности, где травка зеленеет исолнышко блестит, (2) сочинение, описывающее эту часть реальности, (3)предложение "травка зеленеет, солнышко блестит", (4) предложение"весна пришла, ожили растения, стало тепло и сухо". Разумеется, чтополной эквивалентности между этими комплексами достичь практическиневозможно, так (2) абстрагирована при помощи фотоаппарата (а если этокартинка в памяти, то абстрагирована человеческим глазом), (2), (3) и(4) являются результатом абстрагирования человеческого ума, причем (3)и (4) также могут выступать в качестве абстракции по отношению к (2).Все эти случаи не могут быть полностью эквивалентными, так какполностью идентичное абстрагирование двух инструментов абстракции(человеческий ум, глаз, фотоаппарат, и т.п.) достижимо только видеальных условиях. Поэтому нам приходится устанавливать допустимыеграницы, в пределах которого мы считаем комплексы сходными. Так, внашем случае, смысл абстрагируется в объекты травы и солнца, которыесоответственно зеленеют и блестят (действия, отношения).Абстрагируясь, мы можем отбросить факты, что трава не полностьюзеленеет, и не всегда солнышко блестит. Обозначив допущения, мы можемприйти к ситуации, в которой все комплексы могут считаться сходными. Впрограммировании каждому объекту реального мира соответствуют либопеременная, либо объект, либо комплекс объектов и т.д. Чего нет иличастично нет в программировании: (а) категоризации элементов смысла(объекты, действия, отношения, временные отношения, и т.п.), (б) связис объектами реального мира. Тоже самое касается и Семантического Веба,который пытается упорядочить информацию при помощи новых стандартов,но не решает полностью ни проблему категоризации (хотя пытается припомощи онтологий), ни проблему связи с реальным миром (хотя пытаетсяпри помощи URI/URN).

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

* Большие объемы компьютерных идентификаторов (имена файлов,каталогов, сайтов, последовательность открытия графических элементов)невозможно запомнить.

* Компьютерные идентификаторы неестественны (слова естественного языкачасто представляются в виде не всегда понятных аббревиатур,разделители либо пропускаются, либо заменяются другими разделителями)и сложны для запоминания (URL). Например, equalsIgnoreCase -идентификатор используемый для сравнения игнорируя регистр букв, онэквивалентен идентификатору естественного языка "equals ignoring case"или же другому компьютерному идентификатору equals(booleanignoreCase). Как мы видим компьютерные идентификаторы приводятся кнеестественному виду главным образом, т.к. игнорируются разделителиестественного языка (которые используются для других целей) и т.к.часть смысла становится статической, а не динамической (параметром).

* Обычные идентификаторы (например, естественного языка) используютсядля графических элементов, но неотделимы от самих элементов (т.е.недоступны для переиспользования).

* Элементы интерфейса, файла, документа, приложения и сайтов монолитныи неотделимы друг от друга, что затрудняет переиспользование.

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

* Гипертекст жестко интегрирует информацию, что приводит в результатек "контентовому кошмару" (а. невозможно понять, где граница междуконтентом и не-контентом; б. сам контент представляет собой лишьпоследовательность символов/слов; в. субъективное и объективноесмешаны)

* Гипертекстовая ссылка ссылает слово (абстрактное) на ресурс (конкретное).

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

* Невозможно маркировать информацию при помощи идентификаторов илисмысла, не вмешиваясь в содержимое файла или в работу приложения

* Невозможно пользоваться совместно классификацией файлов (например,автор классифицирует файл как "документ проекта А" и вы автоматическивидите ту же классификацию), совместно пользоваться информацией безпосредника (например, чтобы передать файл другу вы должны пользоватьсяпрограммой электронной почты, браузером, и т.п.), запросить информациюбез посредника (например, попросить у друга документ по проекту, минуяобмен сообщениями и собственно сам поиск и передачу документа)

* Практически отсутствует возможность сохранять "снимки" информации, скоторой вы работали (например, последний запрос к базе данных илисайту), с возможностью обновить позднее

* Невозможно при поиске получить точный ответ (вместо этого выполучаете миллионы ссылок)

* Практически невозможно руководствоваться целями при работе сприложениями (хотя мы их представляем, когда работаем), а толькоинструкциями (например, вместо того, чтобы поставить цель "послатьдокументы господину Х" мы должны разбивать нашу цель на команды,которые включают в себя выделение документов, нахождение господина Х вадресной книге, и отсылку при помощи какого-то приложения)

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

* Практически отсутствует понятие временных отношений (возможность,необходимость, и т.п.), хотя они часто подразумеваются

* Существуют принципиальные ограничения любого графическогоинтерфейса. Лучше всего он подходит в условиях, когда человек можетзапомнить набор необходимых действий, чтобы автоматически ихвоспроизводить впоследствии. К сожалению, он плохо представляетсложные действия, т.к. человек "оптимизирован" под графическую системуестественного языка и ему сложно запоминать все тонкости новыхграфических систем, предоставляемых приложением или операционнойсистемой. Построить простой графический интерфейс возможно только дляпростых задач (хороший пример, что всё должно быть просто, но непроще, чем необходимо), многие интерфейсы намеренно упрощают, достигаяэстетического эффекта, но и снижая их возможности.

* Проблемы неупорядоченного интерфейса или контента перекладываются напользователя ("посмотри в руководство" или "поищи в интернете"), чточастично связано с проблемой любой иерархии (ограничивая областьпоиска она одновременно и скрывает часть информации), например, искатьнеобходимую для вас информацию в нескольких уровнях вложенности менюили в нескольких уровнях вложенности сайта, представляет собой задачу,требующую не столько умения, сколько времени, а порой и просто удачи.

* Ассоциации (ключевые слова, теги и т.п.) часто заменяют абстракции(редуцированную или обобщенную информацию). Хотя, в общем случае,информация имеет множество ассоциаций, но одну абстракцию.

* Приложения детерминированы и не могут работать с непредусмотренными ситуациями

* Пока не существует способов фильтрации, способных значительно сужатьобласть поиска

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

* Процесс абстрагирования при разработке программы и контента частоопускает часть смысла (который подразумевается или игнорируется), чтоприводит к несоответствию желаемого и действительного

* Семантический Веб предлагает использовать URI для идентификациилюбых объектов, но не предлагается способа разделять идентификаторыобычных объектов от идентификаторов http объектов

* Семантический Веб предлагает определять семантику в виде онтологий,не связывая разные онтологии между собой

* Уже созданные таксономии и онтологии используют множество отношенийдля определения своих элементов, что затрудняет их использование (ачасто понятно только экспертам в семантике). В то время как,определение должно являться лишь одним из возможных ответов на вопрос"что такое х?", более важным является идентификация объекта (которуюможет сделать человек, разбирающийся в предметной области, но неявляющийся экспертом в семантике).

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

Какой же подход способен разобраться с этими вызовами? Сейчассуществует довольно много частных решений для каждого из них, новозможно ли более общее решение? В идеале такой подход должен решатьпроблемы распознавания образов, языка, абстрагирования, хранения,обработки и извлечения информации, недетерминированного поведения(подобно интеллекту). К сожалению, идеал пока недостижим технически(по тем или иным причинам). Но можно ли хотя бы подготовиться к томумоменту, когда подобный идеальный подход заработает? Ведь, пока у наснет возможности даже примерно обозначить смысл предложений илиприблизительно дать абстракцию для некой информации. А, рассуждая вболее широком аспекте, у нас нет уровня абстракции, на котором мыбудем оперировать исключительно терминами, которыми мы оперируем вобычной жизни, а не файлами, меню, диалогами, браузерами, адресами ит.п. Конечно, то, что мы используем компьютерные термины вполнеобъяснимо, так как любая область жизнедеятельности оперируетсобственным словарем (т.к. любой новый термин экономит время наобъяснение некоего дополнительного смысла по сравнению с объяснением,включающим полное описание, например, "браузер" вместо "приложение,позволяющее работать в Вебе" и т.п.). Но являются ли компьютерныетермины необходимым условием, чтобы оперировать информацией? Невозможно ли организовать работу так, чтобы пользователь вообще неподозревал о низкоуровневых компьютерных способностях (как, мы сейчасне задумываемся в каком секторе жесткого диска хранится наш файл)?Нужно ли нам знать, что функция запускается при помощи кнопки илименю?

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

* Общий подход: мягкая интеграция

- Минимум вмешательства в уже существующее положение вещей. То есть,предоставить форму, которая будет подчиняться данным (а не наоборот).Дополнительную информацию о файле предоставлять в виде "оболочки",которая включает внутри себя файл(ы) и другие элементы (наподобиегипертекста, но без возможностей форматирования, которое должно бытьпредставлено внутри самих файлов). Подобные "оболочки" могут такжеиспользоваться для маркировки уже существующих файлов, видимого длявсех приложений (например, информация, помеченная как "документпроекта" попадет в контекст того же проекта и на другой машине).

- Определить новый семантический протокол (возможно использовать URN)вдобавок к уже существующему http, который нецелесообразноиспользовать для этих целей (он ставит ресурс/информацию всоответствие с URL, т.е. компьютерный идентификатор, в большинствеслучаев, представляющий просто набор символов), вместо этогосемантический протокол должен ставить информацию в соответствиеидентификатору, который может представлять из себя слово(сочетание)естественного языка, идентификатор таблицы базы данных, так и URL(например, любое слово на гипертекстовой странице может выступать вкачестве семантической ссылки, причем результатом будет являтьсямножество соответствующих этому слову ресурсов).

- Информационное пространство должно быть "прозрачно" дляпользователя, т.е. информация может запрашиваться из разных источников(как глобальных, так и локальных, см. ниже делегирование).

- Мягкая конкретизация, т.е. возможность устанавливать не полностьюдетализированные отношения, т.к. пользователь не обладает экспертнымизнаниями и т.к. не всегда полная конкретизация нужна (например,двигатель машины - это атрибут машины и структурно должен бытьпредставлен отдельным объектом внутри ее? взамен мы можем простоопределить, что двигатель находится внутри, без детализации), а такжене концентрируясь на проблеме базовых отношений (т.к. пока нетконсенсуса возможно ли их определить в принципе).

- Возможность работать с идентификаторами, соединенные в произвольныеграфы (как альтернатива тройкам, онтологиям и типизации, необходимой вСемантическом Вебе), что сделает семантику доступной для не-экспертов,а в целом будет ближе к ситуации, свойственной естественному языку.

* Идентификация

- Идентификация всех элементов смысла и трансляция идентификаторовмежду собой (например, слово "корабль" и слово "ship" должны иметьодинаковый языконезависимый идентификатор), этот же идентификаторможет транслироваться в локальный идентификатор базы данных дляуказания типа транспортного средства, а также в элемент графическогоинтерфейса, который используется для редакции этого типа (чтопозволит, например, произвольную совместимость приложений, т.е.пользователь может сам определить совместимость идентификаторов разныхприложений).

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

- Идентификация элементов приложения должны включать не все объектыприложения, а только семантически значимые для пользователя (т.к.иначе пользователь потеряется в большом количестве идентификаторов).

- Трансляция идентификаторов и абстракций между собой, с указаниемкритериев схожести (например, модель машины может выйти в другойстране с определенными изменениями, в этом случае трансляция двухидентификаторов моделей невозможна, поэтому идентификатор может только"примерно" транслирован в другой идентификатор). В отличие от ключевыхслов, тегов, ассоциаций, "похожих тем" и тому подобному, подобнаятрансляция подразумевает явное определение критериев схожести(абстрагирования), т.е. по сути их типизированию.

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

- Трансляция идентификаторов может производиться и в вызовыдействий/сервисов/методов (с параметрами), что аналогично предложенияместественного языка (например, "я написал письмо другу ручкой"подразумевает либо вызов "написал" с параметрами "письмо", "друг","ручка", либо "написатьПисьмо" с двумя параметрами, либо"написатьРучкой"). Данный тип трансляции позволит: (1) ссылаться наразные идентификаторы, ресурсы, в зависимости от параметров, (2) болеегибко связывать действия (например, страница может иметь идентификатор"написать письмо" без привязки к сервису или приложению), (3)использовать идентификаторы для помощи пользователю (например,инструкция вида "зайти в меню, выбрать в диалоге чекбокс, нажать ОК"может быть представлена в виде исполняемых идентификаторов) и т.п.

- Трансляция идентификаторов должна явно или неявно делегироваться(например, сначала к компьютеру пользователя, затем к более высокимуровням сетевой принадлежности: например, проект, отдел, компания,город, страна, глобальная сеть; как вариант делегация может идти поцепочке пакет приложений, приложение, библиотеки; или же используяконтексты; т.е. от низкого к высшим уровням абстрагирования). Такимобразом, (1) трансляция будет произведена на уровне, который способенобработать запрос, (2) трансляция может предоставлять разное пониманиеидентификатора из разных уровней, (3) возможно создание сетейсерверов, которые будут отвечать за определенный набор идентификаторов(например, идентификаторы, относящиеся только к биологии и т.д.), (4)упростить обмен информацией (например, вы посылаете идентификатор"документ проекта" коллеге, он пытается его открыть, но операционнаясистема сообщает, что данный документ доступен только на другой машинеи предоставляет возможность сохранить его локально).

* Абстрагирование

- Явное представление результатов абстрагирования (например, статья овыпуске модели А машины марки Б должна абстрагироваться в условнуюфразу "выпуск модели А марки Б", которая состоит из идентификаторов"выпуск", "модель А", "марка Б", связанных между собой, где "модель А"включается в "марку Б", т.к. не может существовать независимо от нее,а "выпуск модели А марки Б" включает в себя все идентификаторы, т.к.является результатом их связывания). Типичным примером представления"идентификатор + абстрагирование" в современном мире является связка"ID + Имя", которая часто используется в приложениях, где первыйэлемент является компьютерным идентификатором, и второй - обычным.

- Абстрагирование форм языка, многие из которых являются историческимиили же предназначены для стыковки разных форм в предложенияопределенного типа (например, "солнце встает" и "встающее солнце"должно быть представлено двумя одинаковыми идентификаторами, т.к. мыупотребляем "встающее" обычно в ситуациях, когда необходимо употребитьеще один глагол как в "встающее солнце светило ярко"; или же "плаваниекорабля" и "корабль плавал": "плавание" употребляется, когда нужнолибо представить объединенное множество действий за определенныйпериод времени, либо когда дальше в предложении будет употребленглагол "плавание корабля привело к...").

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

- Поиск должен абстрагировать результаты, группируя их на основеабстрактного сравнения (например, поиск по "модели А" должен даватьтакие группы как "проблемы с моделью А", "магазины, продающие модельА"), что уже делается современными поисковыми системами, но не всегдана регулярной основе. Данная группировка похожа на иерархии, широкоприменяемые ныне, но группировка является более произвольной, чтоболее точно отражает реальное положение дел (т.к. практически любаяиерархия, за малым исключением, является произвольной и зависит оттого, как абстрагируется информация).

- Критерии важности, основаны на способе абстрагирования и фильтрацииинформации (что в современном интерфейсе выражается сортировкой ифильтрацией).

* Смысл

- Семантика должна быть явной и совместимой в приложениях (для чего инужны идентификаторы). Информация должна быть упорядочена в видеструктур, таких как списки, таблицы, графы, иерархии, использованиеотношений 1:1, 1:N, M:1, N:M (которые соответствуют разным структурам)и использовать объекты, действия, и отношения различного рода(пространственных, временных, возможность, планирование, цель, ит.п.), которые используются в естественном языке, но не всегда явно вмире компьютеров.

- Ассоциация информации с аттрибутами, категориями и т.п. (например,как это сейчас делается при помощи тегов и ключевых слов) заменяетсяна связность с идентификаторами, которые, за кулисами, могут бытьсвязаны с другими идентификаторами (т.е. если вы связываете фотографиюс идентификатором "отпуск", то не нужно ее связывать с идентификатором"отдых", т.к. эта трансляция уже будет сделана неявно). Причем, этасвязь должна подразумевать только саму себя (т.е. "фотографии изотпуска" означает, что фотографии относятся только к отпуску, а недокументы, которые упоминают фотографии и/или отпуск).

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

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

- Любой предмет является статическим и динамическим одновременно итолько абстракция может склонить чашу весов в ту или иную сторону.Этот аспект может быть явно обозначен для любого идентификатора(например, "цены на модель А" - это может быть запросом к сайтудилера, возвращающий текущие цены, но также и зафиксированнымиданными, полученными в определенный момент времени, который тожедолжен быть зафиксирован; при этом обе формы могут быть связаны междусобой, чтобы было возможно их обновить, а также при желании получатьнотификации об обновлении; для документа подобный дуализм может бытьвыражен в его композитной форме, которая развивается во времени, иверсиях, которые фиксируют определенную конфигурацию документа; самаверсионность должна быть одним из базовых свойств информационной"оболочки", описанной выше, т.к. версии предоставляют срезы информацииво времени).

- Любая информация является субъективной и объективной одновременно,объективность является критерием большей абстрагированности (т.е. чембольше субъективного консенсуса, тем больше "объективность"; еще болееточным критерием является проверяемость, но он не всегда применим,особенно к информации, относящейся к неточным областям или чистымабстракциям). Для субъекта (человека или сайта) "объективным" являетсясобственная точка зрения, поэтому важно не только отделять объективноеи субъективное (т.е. статью от комментариев), но и указывать, ктоявляется автором точки зрения (чтобы превратить объективностьинформации в субъективность при выходе за пределы субъекта).

- Любая информация может являться как замкнутой (например, всенеобходимые значения доступны в пределах приложения или сайта), так исвязанной с другой информацией (когда имеются связи внешние, поотношению к приложению или сайту). Связанность может позволитьобъединить обычно изолированные сущности (например, этапы создания ииспользования приложения: данные, код, знания, документацию).

* Интерфейс

- Любой интерфейс тоже является абстракцией, скрывая за собойреализацию (действия, данные, и т.п.), поэтому к нему применимо всёто, что говорилось об абстракции. Необходим смешанный подход, которыйобъединил бы преимущества текстового и графического интерфейсов, идобавил бы что-то новое, а также, который объединил бы преимуществаиерархий (как в графическом интерфейсе и порталах) и одной точки входа(как в консоли или строке ввода поисковой системы).

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

- Информация должна быть доступна при помощи смысловых идентификаторов(например, вместо файла 1234.sub, информация будет видна как "субтитрыфильма А"; причем, "субтитры" и "фильм А" - это два связанныхидентификатора, которые возможно будет переиспользовать длядальнейшего поиска/фильтрации).

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

- Доступ к элементам интерфейса при помощи идентификаторов, отражающихих смысл (т.е., доступ к полю, которое редактирует модель машины будетосуществлен при помощи идентификатора "модель машины", который можнобудет переиспользовать в дальнейшем; например, вы можете сохранитьстатическую форму из всех полей машины, заполнить ее извне приложения,а потом сохранить уже когда приложение будет запущено; или частовстречаются ситуации, когда определенные диалоги используются многораз с одними и теми же значениями, что может дать возможностьсоздавать "шоткаты" для подобных ситуациях).

- Опции/параметры должны быть связаны с функциональностью (например,если опции оказывают влияние на поведение функции, то при запуске этойфункции мы должны видеть какие именно опции оказывают влияние).

- Любой элемент интерфейса должен быть представлен в следующихаспектах: (1) декларативном (объявление и/или идентификатор), (2)императивном (связанный с действием или же с изменениями, например,для текстового поля), (3) ссылочном, (4) вопросительном. Данныеаспекты помогают понять, как данный элемент можно (1) использовать ипереиспользовать, (2) менять и изменять при его помощи другиеэлементы, (3) связан с другими элементами, (4) может быть связан сдругими элементами, вследствие недостаточных сведениях о связях илинеобходимости уточнения.

- Подобие командной строки (не только для операционной системы, но идля приложений и сайтов) со смысловыми ограничениями, подсказками,связностью и т.п. (например, если список товаров может быть определентолько после того, как создан заказ, то при вводе "товар добавить",строка должна показать, что это действие возможно только, если заказопределен, поэтому она должна предложить либо "добавить в заказ", либо"создать заказ"). Возможность оперирования с интерфейсом при помощи ификсированной формы (как это сделано в нынешнем GUI), и динамическойформы для действий, для которых не предусмотрена фиксированная форма(действие представляется в виде идентификатора, с которым связаныпараметры, для которых существуют места/placeholders, помеченные какобязательные/необязательные, ограниченные областью видимости,доступные/недоступные и т.п.).

- Безопасность, может быть дополнена (не считая уже существующихсредств) контекстовой фильтрацией: т.е. приложение должнодекларировать в каком контексте оно собирается работать.

- Возможность работать с нелинейным текстом (т.е. который в дополнениек линейному тексту, представляющему из себя последовательностьсимволов, имеет еще ссылки на другую информацию). Нелинейный текстявляется продолжением идеи гипертекста, для которого не созданыпростые средства, позволяющие создать текст, дополнить его ссылками,или же комментариями, не усложняя все форматированием и прочим(подобная задача проще решается при помощи офисных пакетов, но безиспользования доступных глобально идентификаторов и отношений). Даннаязадача очень актуальна в случаях, когда необходимы несколькофрагментов текста, связанных между собой (например, описание исубъективный комментарий, который не должен быть частью описания).

Итак, как это будет работать всё вместе?

Пример 1. В отпуске вы сняли фотографии и привезли их домой.

1. Открываете контекст фотографий (в котором доступны толькографические приложения и/или только файлы с фотографиями).

2. Загружаете фотографии из фотоаппарата, при этом вам сразупредлагают классифицировать их внутри данного контекста. Вы набираете"отпуск", но у вас уже есть идентификатор "отпуск 2009 дача", поэтомувам предлагают добавить новый идентификатор (т.к. атрибуты файловфотографий 2010 года и геотаг не находится близко от дачи), например"отпуск 2010 Париж" (т.к. для обозначения времени вы используететолько год, а геотаги, абстрагируются в самую крупную географическуюструктуру, в районе Парижа, если же например, геотаги захватывают иВерсаль, то они могут быть абстрагированы как Иль-де-Франс). Придальнейшей классификации, вы можете отобрать наиболее используемыеидентификаторы: "я" и "жена" (которые имеют особые значения в пределахданного компьютера), "Лувр", "лучший", выделять фотографии, иперетаскивать идентификаторы на них, таким образом связывая их сфотографиями.

3. Ваша классификация готова к использованию. "лучшие фотографии изПарижа" теперь вернет только лучшие фотографии, а не все документы, вкоторых встречается эти слова. "я на фотографиях" вернет в том числе имои фотографии из Парижа.

4. Если, вам нужно отправить лучшие фотографии из Парижа другу, то дляэтого достаточно только применить действие "отправить" к выделеннымлучшим фотографиям, при этом вы можете выбрать (а можете и нет) способпередачи. Дальше возможны варианты: (а) друг доступен за компьютером,тогда он подтверждает передачу (если она не разрешена всегда), вашикомпьютеры устанавливают доступное соединение (имейл, http, ftp, IM,p2p, и т.п.) и копируют фотографии, (б) друг не доступен, емуотправляется только сообщение о намерении передать файлы, онподтверждает, когда он включает компьютер, вы получаете подтверждениеи ваш компьютер начинает передачу (без вашего вмешательства) на одиниз промежуточных серверов, далее, когда ваш друг включит компьютер -он получит ваши фотографии с промежуточного сервера. Причем,фотографии попадают в тот же контекст, что и у вас (хотя он, прижелании, может быть изменен).

В чем отличие от современного положения вещей? (1) Идентификаторызначат ровно то, что они должны значить, т.е. дача - не просто слово,а может включать географические координаты, 2009 - это не число, агод, и т.п. (2) Идентификаторы доступны не только для приложения, вкотором они могут быть созданы, но для всей системы и глобально(например, для той же передачи файлов) (3) Вам не нужно помнить ихместорасположение на диске, использование контекста, классификация иабстракция гарантируют, что вы сможете их найти. (4) Вы работаете скомпьютером при помощи целей (отправить), а не инструкций (открытьприложение, найти фотографии, приаттачить, отправить).

Пример 2. Вы хотите запретить блокирование экрана. В настоящий момент,вы должны найти ответ на этот вопрос при помощи поиска и исправитьреестр Windows. Но можно ли упростить решение? В целом же, интересно,каков процент пользователей Windows знают, что экран можно блокироватьвручную? Сколько знают, что это можно делать при помощи клавиатурногобыстрого доступа? Сколько знают, что блокировку вообще можнозапретить? Почему эти знания не являются общедоступными?

Использование блокирования может быть описано следующими пунктами: (1)необходимо, чтобы предотвратить доступ к компьютеру, когдапользователь отсутствует, (2) включается после периода неактивности,(3) может быть включен вручную, (4) может также использоваться, чтобыустановить статус отсутствия в приложении обмена сообщениями. Дляописания данных фактов с точки зрения смысла, нам необходимы следующиеотношения: (1) цель (чтобы предотвратить доступ..., чтобы установитьстатус...), (2) возможности (может быть включен после периоданеактивности, либо вручную; может быть запрещена вообще), (3)причина-следствие (включается после периода неактивности), (4) после(в данном случае "после" совпадает с "причиной-следствие", но в общемслучае, "после" не означает "вследствие").

Почему пользователь не знает, что экран может блокироваться вручную?Об этой возможности, должен информировать сам диалог блокировкиэкрана. Тоже самое касается и клавиатурного доступа. Отношение целиможет быть использовано в информации о безопасности, чтобыпроинформировать о такой возможности, а также в приложениях обменасообщениями. Отношение возможности может быть использовано, когдаблокировка была включена автоматически и проинформировать овозможности сделать это вручную, и наоборот, а также и сообщить овозможности запрета. Отношение причины-следствия может бытьиспользовано после периода неактивности, которая не привела кблокировке, чтобы проинформировать, что можно использовать иблокировку. Естественно, что вся эта информация должна быть связана,так чтобы, все упомянутые возможности не подразумевали дополнительноекодирование в каждом конкретном случае, а вызывались по мере активациисвязей.

Что касается запрета, то здесь ситуация немного сложнее: ручнаякорректировка реестра не предупреждает о том, что с точки зрениябезопасности запрет блокировки экрана нецелесообразен (т.е.представляет своего рода брешь, о которой нужно проинформироватьпользователя). Но как пользователю все-таки использовать даннуювозможность, если уж он хочет игнорировать все предупреждения? Сейчасон должен либо проследовать инструкции и отредактировать реестрвручную, либо же запустить .reg файл (что без понимания еговнутренностей является небезопасной операцией), либо же использоватькакую-то утилиту (но которую еще надо установить, и найти интересующийпункт в дебрях опций), коими полон Интернет. Но есть и другаяальтернатива: например, операционная система должна предоставлятьсервис с идентификаторами "добавить ключ реестра", "изменить значение"и т.п. "Оболочка", связывающая запрет и разрешение блокировки сданными идентификаторами, и которая будет привязана напрямую кинтерфейсу ОС, должна быть загружена на сайт, который сертифицировандля подобных действий, откуда пользователь его может загрузить(возможно даже из самой ОС).

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









Главная | В избранное | Наш E-MAIL | Добавить материал | Нашёл ошибку | Вверх