Выбрать главу
Детский мир

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

Одно из основных направлений OLPC – совместная работа и общение между детьми. Технически оно обеспечивается автоматическим созданием беспроводных ad-hoc-сетей (ячеек, mesh), однако одной лишь возможности связи между несколькими компьютерами мало. Чтобы ей могли воспользоваться маленькие юзеры (причем естественным образом), нужно существенно перестроить всю модель системы. И это чувствуется практически в каждом ее элементе.

Например, в метафоре "рабочего стола". Собственно, как такового «стола» нет. (И правда, причем здесь стол, да еще и рабочий, когда мы говорим о детях?) Есть несколько режимов отображения виртуального пространства ноутбука и его окрестностей, различающихся масштабом [Эта идея удивительным образом перекликается с разработками Джефа Раскина о "зуммируемом интерфейсе" (см. статью Владимира Гуриева "Борец с системой" в «КТ» #582) – странно, что этой связи практически никто не замечает]. Наиболее близкий к привычному нам режим – "Дом", соответствующий собственно данному компьютеру. Более широкий взгляд покажет пользователей в группах, к которым принадлежит владелец ноутбука – например, его одноклассников, друзей и т. д. Участники представляются двухцветными иконками, причем этот цветовой идентификатор является важным элементом интерфейса системы – он сопровождает каждого пользователя почти постоянно (например, заменяет картинки-аватары в сообщениях). Поднимаясь на ступеньку вверх, можно осмотреть всю «окрестность» (neighborhood) – на экране отображаются все пользователи ячейки, объединенные в кластеры по текущей активности.

Кстати, об «активностях» (activity) – они заменяют привычные нам "приложения". Этим словом обозначается одновременно и программа, и документ, и группа участников, которые над ним работают, и пространство для общения между ними. Можно воспринимать activity как своеобразную многопользовательскую игру, которая может быть надстроена над любым привычным нам приложением (собственно игрушкам в XO уделяется совсем немного внимания). Конечно, если ребенок просто загрузит веб-страницу или станет рисовать картинку в графическом редакторе, разница между двумя понятиями будет практически несущественной, но как только ему захочется пригласить к участию других пользователей XO, он должен иметь возможность это сделать буквально одной кнопкой. Например, если на лэптопе приглашенного участника нет необходимого кода, он скопируется и установится автоматически.

Еще одна привычная концепция, которой нет в OLPC – иерархическая файловая система. Роль файлов играют "объекты", а вместо файловой системы имеется "журнал", в котором записываются основные их изменения. Сохранение и восстановление состояний в идеале происходит автоматически при запуске и завершении «активности» [И снова что-то подобное мы уже видели у Раскина]. Если же нужно запомнить текущую версию объекта, но при этом продолжить его изменение (аналог функции "сохранить как"), на помощь приходит встроенная система управления версиями, знакомая программистам и участникам вики-проектов.

Модель для разборки

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

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