April 21st, 2007

2021 год

Еще раз про мультитаскинг и социальные сети -- на этот раз с цифрами

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

Текст статьи в ComputerWorld.

Тексты самого исследования: http://papers.ssrn.com/sol3/papers.cfm?abstract_id=942310 (про мультитаскинг) и http://papers.ssrn.com/sol3/papers.cfm?abstract_id=887406 (про социальные сети и производительность).
2021 год

Крокет -- www.opencroquet.org

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

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

Приложение, написанное с использованием SDK Крокета, обеспечивает сотрудничество между людьми автоматически. Пользователи могут видеть друг друга и что они делают в реальном времени. Результат их работы немедленно доступен другим пользователям. Ни пользователи, ни программисты не должны делать что-то специальное, чтобы это случилось. Это просто есть.

Крокет http://www.opencroquet.org/index.php/Downloads (71Мбайт) ставится в пять секунд. UPDATE: Можно также поставить коллаборативную версию Крокета (http://www.wetmachine.com/item/770), описание коллаборативного дистрибутива -- http://www.opencroquet.org/index.php/Croquet_Collaborative.

Затем начинаются трудности (правда, это только мой личный опыт двадцати минут общения):
1. у меня на мышку навешаны всякие утилиты, и Крокет не всегда через них прорывается (как минимум, нужно выключать Sensiva Commander);
2. Нужно иметь установленный OpenAL (http://openal.org), а не только OpenGL (если у вас не Мак, который это уже имеет). Стандарты, понимаешь ли...
3. Файерволл и локальная сеть должны быть соответственно настроены: ибо Крокет насквозь коллаборативен. И для одного рабочего места его запускать не имеет смысла.
4. Нужно все время помнить, что интерфейс "контринтуитивный" -- то есть все действия осуществимы, но отнюдь не теми клавишами, которые нажимают ваши пальчики. Но общее ощущение от оконной системы остается такое, что она устроена (для меня) много удобней, чем обычная форточная.
5. Бета, она и есть бета -- попытки поиграться неумелыми пальчиками немедленно приводят к зависанию и крэшу системы. Повисев немного, получаешь какую-то диагностику (и, как я понимаю, всегда есть вариант вмешаться в процесс висения -- если понимаешь, в чем дело ;)

В общем, либо мне нужно стать немножко программистом (прежде всего -- сисадмином собственной сетки, что я особенно не люблю), либо подождать версии 1.1, которая обещает быть много лучше (текущая версия 1.0.18 от 10 апреля 2007г.)

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

И еще: для Крокета уже сейчас делается сейчас чертова туча разных приложений. ОС, он ОС и есть.

Я бы сделал для него набор корпоративных приложений по проектному/процессному менеджменту, приложения финансового учета -- и так далее по списку http://ailev.livejournal.com/443213.html. Удобно то, что многие части этого проекта уже делают другие люди. Поэтому можно будет сосредоточиться на собственно управленческих заморочках.
2021 год

Принципы Xerox PARC

Интересные мысли и принципы из http://www.viewpointsresearch.org/pdf/draper_RN-2004-001.pdf

Алан Кей удивительно интересный: "Мой интерес к образованию детей пришел из речи Марвина Минского, затем посещения ранних классов с ЛОГО Сеймура Пейперта. Добавка МакЛухана привела к аналогии к истории печатных книг, и идеи Динакниги (Dynabook) метамедиа: "персональный компьютер для детей всех возрастов" размером с блокнот и с беспроводным подключением к сети. Реальная книгопечатная революция дала качественный скачок в мышлении и аргументации, который отстал от изобретения ее "железа" на почти два века. Особое качество компьютеров -- это их возможность быстро симулировать произвольные описания, и настоящая компьютерная революция не случится, пока дети не будут учиться читать, писать, аргументировать и думать этим мощным новым способом. Мы должны все пробовать сделать так, чтобы это случилось много скорее, чем через 200 или даже 20 лет! Это заставило меня начать конструировать компьютерные языки и среды авторинга для детей, и я с тех пор занимаюсь этим" (более подробное автобио можно найти в http://www.viewpointsresearch.org/pdf/kprize_RN-2004-002.pdf).

1. Great ideas -- это про поворот точки зрения. "Мощность контекста" или "Точка зрения достойна 80 пунктов IQ" (Point of view is worth 80 IQ points).

2. Отношение к студентам как "исследователям мирового класса, еще не получившим докторской степени". Роль правильной человеческой и ресурсной среды: рыба на воздухе делает примерно те же извивания, что и в воде, но без особого успеха -- чтобы получить от нее достойные результаты, нужно опустить ее в воду.

3. ARPA/PARC имело "видение, а не цели" (visions rather than goal) и "финансировало людей, не проекты". Видение было "интерактивный компьютинг как дополнительный интеллектуальный партнер для людей, постоянно связанных сетью по всему миру".

4. Дело больше похоже на спорт и искусство, нежели на бухгалтерию: стремление схватить небеса, а не избежать поражения. Лучшие игроки в спорте имеют огромное количество промахов, но зато им доступны рекорды в тех случаях, когда попытка удается.

5. Принципы Батлера (Butler): не делать ничего, что не было бы спроектировано для 100 пользователей; должны использовать собственные поделки как собственные основные компьютерные системы (позднее этот принцип получил название Living Lab).

6. Делать минимальные дизайны, которые потом могут вырастать по мере получения нового знания. "Инкрементальное творчество", трюкачество (finessing).

7. "Ошибка-33" (версия ловушки-22 для PARC): заложить на своем критическом пути систему, управляемую извне (в том числе - от поставщиков). Эта ошибка-33 обходилась тем, что все необходимое делалось внутри группы исследователей, а затем этим делились (sharing). Несколько дюжин исследователей разработали два больших мейнфрейма с разделением времени, десктоп Altos, сеть Ethernet, лазерный принтер, хранилище файлов, операционные системы, языки программирования и т.д.

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

9. Лучший способ предсказать будущее -- изобрести его.