История развития программного обеспечения

Мультимедиа – очередной миф или реальность?

Вся история компьютеризации – это набегающие и спадающие волны мифов разной степени достоверности. Старшее поколение, вероятно, еще не забыло кавалерийскую атаку "лучшего в мире языка программирования" PL/1, впоследствии занявшего подобающее ему скромное место в ряду остальных языков. Из недавнего прошлого вспоминаются экспертные системы, так и не принесшие ощутимого "урожая". А чего стоил проект машин пятого поколения?

Этот проект, кстати, показал, в чем разница между Японией, США и СССР (а теперь Россией). Затеяв его, японцы обрели уникальную для своего социума возможность сменить место работы без тяжелых социальных последствий, американцы получили солидные государственные субсидии, а у нас открылось новое отделение Академии наук и полтора десятка людей "без очереди" стали академиками.

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

У меня уже давно есть свой взгляд на развитие вычислительной техники, причем не с точки зрения производителя (как, например, счет поколений ЭВМ, учитывающий только способ их технического устройства), а с точки зрения пользователя. В отношении каждого новшества уместен прежде всего вопрос: что оно дает пользователю? Соответственно, и счет поколений здесь совсем другой.

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

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

В этом ряду заняли свое место и персональные компьютеры как новая организация ЭВМ. Наконец, пятое, современное поколение машин – это машины с графическими дисплеями, давшими пользователю возможность оперировать изображениями, а не только текстами.

Мультимедиа является, на мой взгляд, естественным продолжением этого ряда, в сущности делая доступной большинству пользователей работу с физическим временем. Если ранее системы REAL TIME были экзотикой, то с использованием мультимедиа время станет неотъемлемой компонентой работы пользователя на компьютере.

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

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

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

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

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

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

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

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

Было бы ошибкой думать, что само появление мультимедиа решит какие-либо проблемы. Как всяким средством, им нужно учиться пользоваться, причем тем дольше, чем сложнее средство. И наверняка по ходу дела будут возникать все новые проблемы, решения которых придется искать с нуля.

Статья опубликована в журнале "Мир ПК" №4, 1993 г., стр. 48. Перепечатывается с разрешения автора.