От редакции
Идеи реконфигурации человеческого организма прошу направлять в виде кратких предложений автору (главреду интернет-журнала «Коммерческая биотехнология») с копией на [email protected]. Глядишь, и тему номера соберем. – Л.Л. – М.
АНАЛИЗЫ: И пусть никто не уйдет обиженный
Автор: Илья Щуров Voyager
Необычный ноутбук XO-1, разрабатываемый в рамках проекта OLPC (laptop.org) для борьбы с проблемой «цифрового разрыва», скептики могут высокомерно окрестить «компьютером для бедных». Формально они правы: целевая аудитория «стодолларового лэптопа» – дети из стран третьего мира, не имеющие доступа не только к высокоскоростному Интернету, блогам MySpace или вселенной Second Life, но и к обычным книжкам и учебникам. Однако, если сбудется хотя бы часть объявленных планов, я не удивлюсь, когда через десять-пятнадцать лет нынешние «бедные» пользователи по уровню владения информационными технологиями (и не только ими) окажутся на голову выше своих «богатеньких» сверстников. На то есть множество причин.
Своими глазами
Я давно присматривался к этой инициативе, однако до недавнего времени знакомство с нею не выходило за рамки внимательного прочтения новостей по теме, попадающих на страницы "КТ". Поводом к более серьезным отношениям послужил выход LiveCD с промежуточной версией операционной системы (конечно, это Linux), лежащей в основе XO. (Образ размером в 200 мегабайт доступен с сервера olpc.download.redhat.com.) На самом деле, складывается впечатление, что это не первый подобный релиз, однако на глаза он попался впервые, и, не имея надежды получить доступ к тестовым устройствам (уже существующим в реальности в очень ограниченном количестве), я не смог пройти мимо возможности своими руками пощупать заманчивую игрушку.
Памятуя заветы главного редактора, не буду рассказывать душераздирающие истории о том, как LiveCD не загрузился на моем (отнюдь не стодолларовом) ноутбуке из-за внешнего FireWire-привода, как он ругался на отсутствие каких-то устройств хранения уже на десктопе, как жутковато хрустел жесткими дисками при загрузке и как в конце концов счастливо загрузился. Вы не узнаете и о том, как я пытался найти в нем эмулятор терминала, меню «Пуск» или на худой конец иконку "Мой компьютер". Собственно, про LiveCD вы не узнаете больше вообще ничего: он представляет собой скорее SDK (набор для разработчика), чем «демонстрашку» возможностей и идей системы, о которых, собственно, мне и хочется рассказать.
Постановка задачи
Кстати
Название «XO» – это не загадочная аббревиатура, а просто символьное представление для иконки проекта.
Проблема создания максимально экономичного (в смысле цены и энергопотребления) компьютера, обладающего уникальными свойствами и ориентированного в первую очередь на детей, вернула разработчиков на несколько десятков лет назад. В те славные времена, когда каждый байт оперативной памяти был на счету, программы приходилось писать, все еще задумываясь о производительности, когда не было устоявшихся интерфейсных стереотипов и парадигм современных операционных систем. Конечно, разработка ведется далеко не с нуля – без ядра Linux, языка Python и множества других разработок OLPC вряд ли был бы возможен. Однако, участники проекта обладают огромной свободой в способах достижения заявленных целей, неведомой индустриальным программистам. Более того: благодаря этой свободе проект может ставить перед собой фундаментальные вопросы о роли информационных технологий в образовании – и давать на них нестандартные ответы.
Что именно нужно детям для обучения и как им могут помочь в этом ИТ? Очевидно, им не нужно уметь работать в Excel, в совершенстве владеть Photoshop или знать язык запросов SQL. Даже не нужно знать, что файл – это "поименованная область на жестком диске". Равно как и множество других вещей, которыми богаты курсы информатики в школе.
Что же все-таки требуется в первую очередь? Ответ очень простой: иметь возможность экспериментировать, творчески выражать себя, общаться с другими людьми (в первую очередь – своими сверстниками), обмениваться с ними приобретенным опытом – и тем самым активно познавать окружающий мир, учиться и учить других. Эти идеи, объединяемые в концепцию конструктивистского (constructivism) обучения, активно продвигаются создателем языка Logo Сеймуром Пэйпертом (Seymour Papert), создателем Smalltalk Аланом Кеем (Alan Kay) и другими известными участниками проекта OLPC, и лежат в основе операционной системы XO.
Детский мир
Взрослые живут в мире документов, таблиц, формул, писем, поручений, совещаний. Дети живут в совершенно другом мире. В нем можно сказать "давай поиграем?" или "я с тобой не дружу" (а не "ты добавлен в игнор-лист"), можно придумывать бесконечные истории (а не обсуждать бесконечные отчеты), фантазируя на ходу и подыгрывая фантазиям друг друга, можно рисовать смешные или серьезные картины (а не диаграммы и графики), делая штрихи по очереди. К счастью, разработчики OLPC не забыли обо всем этом.
Одно из основных направлений OLPC – совместная работа и общение между детьми. Технически оно обеспечивается автоматическим созданием беспроводных ad-hoc-сетей (ячеек, mesh), однако одной лишь возможности связи между несколькими компьютерами мало. Чтобы ей могли воспользоваться маленькие юзеры (причем естественным образом), нужно существенно перестроить всю модель системы. И это чувствуется практически в каждом ее элементе.
Например, в метафоре "рабочего стола". Собственно, как такового «стола» нет. (И правда, причем здесь стол, да еще и рабочий, когда мы говорим о детях?) Есть несколько режимов отображения виртуального пространства ноутбука и его окрестностей, различающихся масштабом [Эта идея удивительным образом перекликается с разработками Джефа Раскина о "зуммируемом интерфейсе" (см. статью Владимира Гуриева "Борец с системой" в «КТ» #582) – странно, что этой связи практически никто не замечает]. Наиболее близкий к привычному нам режим – "Дом", соответствующий собственно данному компьютеру. Более широкий взгляд покажет пользователей в группах, к которым принадлежит владелец ноутбука – например, его одноклассников, друзей и т. д. Участники представляются двухцветными иконками, причем этот цветовой идентификатор является важным элементом интерфейса системы – он сопровождает каждого пользователя почти постоянно (например, заменяет картинки-аватары в сообщениях). Поднимаясь на ступеньку вверх, можно осмотреть всю «окрестность» (neighborhood) – на экране отображаются все пользователи ячейки, объединенные в кластеры по текущей активности.
Кстати, об «активностях» (activity) – они заменяют привычные нам "приложения". Этим словом обозначается одновременно и программа, и документ, и группа участников, которые над ним работают, и пространство для общения между ними. Можно воспринимать activity как своеобразную многопользовательскую игру, которая может быть надстроена над любым привычным нам приложением (собственно игрушкам в XO уделяется совсем немного внимания). Конечно, если ребенок просто загрузит веб-страницу или станет рисовать картинку в графическом редакторе, разница между двумя понятиями будет практически несущественной, но как только ему захочется пригласить к участию других пользователей XO, он должен иметь возможность это сделать буквально одной кнопкой. Например, если на лэптопе приглашенного участника нет необходимого кода, он скопируется и установится автоматически.