-
Шпрехшталмейстер: Дамы и господа,
-
прошу приветствовать
-
вице-президента по разработкам —
-
Вик Гундотра.
-
[бурные овации]
-
Вик Гундотра: Всем доброе утро!
-
Добро пожаловать на второй день Google I/O.
-
Я надеюсь, вчера вы хорошо провели время.
-
Я надеюсь, вам понравились собрания,
-
и я надеюсь, вам понравились телефоны на базе Android.
-
[шум зала]
-
[бурные овации]
-
Вчера мы обещали вам сюрприз на это утро.
-
И этим утром Google удивит вас.
-
Мы собираемся представить
-
инструмент для личного общения и совместной работы
-
на очень ранней стадии.
-
Мы решили сделать это на сегодняшней конференции
-
по ряду причин.
-
Этот невероятный продукт,
-
который меня очень, очень впечатлил,
-
будет с открытым кодом.
-
Он будет открытым по многим причинам.
-
Мы не только хотим сделать вклад в развитие интернета,
-
но, честно говоря, нам нужны разработчики,
-
которые помогут нам завершить этот продукт.
-
Нам нужна ваша поддержка.
-
Мы надеемся, что после того, как вы увидите его,
-
вы будете под таким же впечатлением, как и мы.
-
И второе.
-
Мы решили представить этот продукт
-
в его начальной стадии на этой конференции,
-
потому что это невероятная, мощная демонстрация
-
того, что возможно в браузере.
-
Я гарантирую вам, что после полутора часов, в течение которых
-
Вы будете смотреть этот продукт, вы забудете,
-
что смотрите на браузер.
-
И я хочу, чтобы вы повторили за мной:
-
"я смотрю на HTML5 приложение,
-
я смотрю на то, что возможно в браузере".
-
И я надеюсь, вы будете впечатлены так же, как и я,
-
когда я первый раз увидел замысел этого проекта.
-
И теперь для меня не будет сюрпризом,
-
если этот продукт станет волшебным.
-
В конце концов, эти руководители разработки
-
уже представили один волшебный продукт.
-
Разработчики, стоящие за тем, что вы сейчас увидите —
-
это два брата
-
и великолепная команда инженеров с ними.
-
Эти два брата — Ларс и Йенс Расмуссены.
-
Вы, возможно, помните эти имена,
-
потому что это те же замечательные люди,
-
что сделали другое волшебное приложение — Google Maps.
-
Итак, то, над чем они трудились,
-
вы увидите сегодня впервые.
-
Почему бы нам не начать?
-
Помните — это всего лишь предварительная демонстрация разработчиков
-
для этой аудитории.
-
Все в этом зале получат аккаунты, чтобы дать нам свои отзывы.
-
Мы поговорим об этом позже.
-
У нас есть ваши email-ы, и вы получите свои пароли
-
чуть позже, скорее всего завтра.
-
Итак, позвольте мне начать.
-
Позвольте представить Ларса Расмуссена и Стефани Хэннон.
-
Спасибо.
-
[бурные овации]
-
Ларс: Спасибо
-
Спасибо. Спасибо.
-
Большое спасибо.
-
Мне надо разбудить лэптоп.
-
Всем доброе утро!
-
Спасибо, что пришли так рано.
-
Я знаю, вы тут тусовались всю ночь.
-
Сегодня мы собираемся показать вам демо продукта,
-
над которым мы работали пару лет в Сиднее (Австралия).
-
Он называется Google Wave,
-
и это инструмент коммуникации и совместной работы,
-
который мы запустим чуть позже в этом году.
-
Как сказал Вик, для нас немного необычно
-
показывать его столь рано.
-
Причина, по которой мы так делаем — проста.
-
Сегодня мы открываем превью для разработчиков.
-
Все вы ребята получите аккаунты
-
в песочнице этой системы.
-
Вы первые не из Google, кто это увидит,
-
и у вас будут самые первые аккаунты в системе.
-
Мы делаем так потому, что, как вы увидите из демо,
-
Google Wave идёт с набором действительно хороших API
-
и мы надеемся, что сможем склонить вас, ребята,
-
начать делать классные вещи с этими API,
-
пока мы занимаемся подготовкой проекта к запуску,
-
который состоится позднее в этом году
-
Потому что таким образом, когда мы запустим его,
-
наши пользователи и ваши пользователи смогут насладиться и Google Waves,
-
и всеми теми классными вещами,
-
которые, мы надеемся, вы сделаете
-
к тому времени.
-
Позвольте представить Стефани Хэннон.
-
Она, возможно, лучший менеджер продуктов во всём мире.
-
[бурные овации]
-
Стефани: [смеется]
-
Доброе утро, I/O.
-
Спасибо, Вик, за приглашение.
-
Мы даже представить себе не могли лучшую аудиторию,
-
что бы впервые показать наш продукт.
-
Ларс: Согласен!
-
Стефани: Наша сегодняшняя презентация состоит из трёх частей.
-
Во-первых, мы покажем вам демо проекта.
-
Во-вторых, мы покажем API, о котором говорил Ларс.
-
Вы сможете использовать Волны для усовершенствования вашего сайта
-
или же писать расширения для самой Волны.
-
В-третьих, мы продемонстрируем, что Волна — это также и протокол.
-
Мы полны энтузиазма и надеемся, что она станет
-
открытой системой коммуникации.
-
Мы надеемся, что люди создадут Волновые сервисы,
-
которые будут взаимодействовать с нашими,
-
так, что у пользователей будет выбор провайдера.
-
Мы ласково называем это — три П.
-
Продукт, Платформа, Протокол.
-
И мы поговорим о них сегодня.
-
Ларс: Итак, о способах коммуникации.
-
Электронная почта сегодня — несомненно, наиболее популярный способ
-
общения в интернете.
-
Он примечателен тем,
-
что был изобретён более 40 лет назад.
-
До Интернета, до веба,
-
и он был создан без учёта опыта
-
SMS, мгновенных сообщений,
-
блогов, вики, форумов,
-
групп обсуждений, социальных сетей,
-
мультимедиа сайтов, коллективных средств редактирования...
-
Всех этих разных способов связи,
-
которые мы принимаем сегодня как должное.
-
И конечно, компьютеры и сети
-
были кардинально усовершенствованы за эти сорок лет.
-
Когда мы начали проект,
-
а это было около двух лет назад,
-
Мы задались вопросом:
-
"Как мог бы выглядеть email, если бы его изобрели сейчас?".
-
Излишне говорить, что есть миллион
-
разных способов ответить на этот вопрос.
-
И то, что вы увидите сегодня — Google Wave (Волна) — это наша попытка.
-
Давайте я начну с краткого противопоставления
-
электронной почты и Волны.
-
Электронная почта, по сути, копирует бумажную.
-
Основная метафора такова: вы пишете сообщение,
-
посылаете его одному или нескольким получателям.
-
А затем почтовые системы,
-
(и нам хочется думать, что Gmail делает это особенно хорошо,)
-
объединяют сообщения в разговоры или цепочки.
-
Волна же, напротив, начинается
-
с определения разговора,
-
который представляет собой простую древовидную структуру сообщений
-
и множество пользователей, участвующих в этом разговоре.
-
И вместо того, чтобы думать об отдельных сообщениях,
-
которые пересылаются между адресатами,
-
мы говорим о целом разговоре,
-
как об общедоступном объекте, размещённом где-то на сервере.
-
Пользователи, принимающие участие,
-
могут открыть этот объект — волну,
-
оставить там ответы и уйти.
-
Когда другой пользователь войдет в систему,
-
он может открыть этот же общедоступный объект,
-
увидеть сообщения других участников и оставить свои.
-
Таким образом растёт волна.
-
Так строится разговор.
-
Вы можете заметить, что это та модель,
-
по которой работают современные форумы.
-
Мы обнаружили, что в достаточно компактном исполнении,
-
ее можно использовать для построения единого инструмента коммуникации,
-
функциональность которого выходит далеко за рамки того,
-
что вы можете достичь в электроной почте сегодня.
-
И эту функциональность мы вам продемонстрируем.
-
Я покажу ряд сценариев использования Волны.
-
Эти сценарии вам уже должны быть знакомы,
-
но для каждого их них вы выбрали бы разные инструменты.
-
Мы покажем, как изящно все они вписываются
-
в метафору единого объекта разговора, хранящегося на сервере.
-
Стефани.
-
Стефани: То, что вы видите — это HTML5-приложение,
-
которое мы создали на Google Web Toolkit.
-
В левой части экрана Ларс работает в Хроме.
-
В правой — я, в Сафари.
-
А чуть позже в игру вступит и Фаерфокс.
-
Так что одно и то же показано на каждой паре экранов,
-
выберите себе один, на который будете смотреть.
-
Ларс: Отлично, мы начинаем...
-
...с простых и традиционных сообщений электронной почты.
-
Мы покажем, как они выглядят в Волне.
-
Мы планируем совершить морскую прогулку.
-
И я начну с нажатия на кнопку "Создать волну" вот тут,
-
а затем наберу заголовок в первой строке.
-
Стефани: Следи за правописанием, Ларс.
-
Тут много людей.
-
Ларс: [смеется] Да, здесь много людей.
-
Все равно они не видят, что я пишу.
-
"Ты готова к морскому путешествию? Эй, Стеф"
-
[автоматически корректируются опечатки в 2х словах]
-
Ребята, как вам проверка орфографии?
-
[аплодисменты]
-
Похоже понравилась.
-
О ней мы еще успеем поговорить позже.
-
Навряд ли понравится смотреть, как я тут целый час печатаю,
-
мы воспользуемся заготовленными репликами.
-
Постараемся повытаскивать их перед запуском.
-
Я нажимаю "Готово" и система запрашивает у меня список пользователей.
-
Я добавлю Стефани.
-
И поскольку она сейчас не в сети,
-
я буду смотреть на пустую страницу.
-
Стефани: Я открываю Волну.
-
И вы видите на панели поиска, посередине,
-
появилось непрочитанное сообщение от Ларса.
-
Он спрашивает меня,
-
не хочу ли я пройтись по магазинам
-
перед путешествием.
-
Я сделаю нечто в стиле электронной почты -
-
нажму "Ответить"
-
и напишу: "Я люблюююю ходить за покупками!".
-
Ларс: Сценарий писал я.
-
Стефани: "Мне как раз нужны новые ласты. Пойдем."
-
Первое преимущество,
-
которое я хочу продемонстрировать
-
у этих хранящихся на сервере обсуждений,
-
это лёгкость отслеживания их структуры.
-
Если бы это было электронное письмо и я захотела бы ответить
-
на середину сообщения Ларса,
-
где он спрашивает на какой автобус сесть,
-
я бы нажала "Ответить", почтовый клиент скопировал бы сообщение
-
и я бы вручную редактировала ответ.
-
А поскольку эта дискуссия поддерживается сервером
-
и хранится в одном объекте,
-
я могу сказать серверу разбить сообщение на части
-
и ответить "Ты никогда не просыпаешься рано",
-
что, кстати, правда.
-
"Давай поедем на позднем автобусе".
-
Ларс не онлайн, и я закрою волну.
-
Ларс: Итак, чуть позже я возвращаюсь
-
и вы видите, для начала, что волна теперь выделена полужирным шрифтом,
-
показывая мне, что там новый материал.
-
Когда я открываю её, первое сообщение Стефани подсвечено,
-
и я могу продвигаться по обсуждению с клавиатуры,
-
и, конечно, продолжить её цепочку тут.
-
"Ты слишком хорошо меня знаешь".
-
Как-то так.
-
Вот так традиционный стиль общения по электронной почте
-
реализуется в Волне.
-
Вы заметили, что мы тщательно избегали того,
-
чтобы волна была открыта на обоих экранах.
-
Когда волна открыта одновременно у нас обоих,
-
мои сообщения отображаются прямо с сервера
-
в браузере Стефани.
-
Эффект этого в том, что таким образом
-
можно обмениваться мгновенными сообщениями.
-
Фактически, в той же самой волне вы можете переключаться туда и сюда
-
между этими двумя способами ведения дискуссии.
-
Я покажу вам.
-
"Блестяще. Ты наверное знаешь хороший магазин?"
-
[бурные аплодисменты]
-
Стефани: "На Джордж-стрит недавно открылся новый."
-
Ларс: "Классно. Пошли в 7:00."
-
Стефани: "Хорошо. Давай позовём Йенса с нами."
-
Ларс: "Давай."
-
Итак, вы заметили, что мне не нужно было нажимать кнопку "Готово",
-
чтобы Стефани увидела сообщение.
-
Вместо этого мы пересылаем текст
-
почти посимвольно по мере его набора.
-
Это было достаточно трудно сделать.
-
Зачем мы это сделали?
-
Потому что с нынешними инструментами мгновенных сообщений
-
вы тратите половину времени глядя на то, как оно говорит:
-
"Стефани печатает, она печатает, она печатает, она печатает"
-
и только потом видите, что же она сказала.
-
Спасибо.
-
Но поскольку вы можете начать формулировать свой ответ
-
до того как она завершила печатать свой,
-
путём пересылки в живую,
-
вы приходите к тому, что 100% времени используете, чтобы читать или писать,
-
что кардинально ускоряет обсуждение.
-
Сейчас излишне говорить, что бывает так,
-
что вы не хотите, чтобы все видели каждую букву,
-
особенно, если у вас правописание, как у меня,
-
и поэтому у нас вот тут есть чекбокс.
-
Всё что нужно, это включить его,
-
и теперь никто не сможет видеть что вы печатаете,
-
до того, как вы нажмёте "Готово".
-
Это одна из возможностей, которую мы ещё не доработали.
-
[смех]
-
Итак, таким вот образом, почтовая переписка,
-
а точнее обсуждения по типу электронной почты,
-
и обсуждения по типу мгновенных сообщений
-
больше не требуют разных инструментов.
-
Следующее, что мы хотели бы вам показать, —
-
это как легко добавить нового участника в существующий разговор.
-
Кстати, можно вам представить моего брата Йенса?
-
Поприветствуйте его.
-
[бурные аплодисменты]
-
Итак, мы хотели...
-
Мы хотели добавить Йенса к разговору.
-
Если бы это был email, то я бы взял последнее сообщение,
-
ответил на него и добавил Йенса в список получателей.
-
У такого подхода две проблемы.
-
Во-первых,
-
поскольку мы разветвили разговор,
-
последнее сообщение
-
не будет содержать разговора целиком.
-
И к тому же, если Стефани позднее
-
ответит на моё раннее сообщение,
-
Йенс никак не получит его.
-
В итоге мы получаем игру в "кошки-мышки".
-
А в Волнах — все, что вам нужно сделать —
-
это добавить Йенса в участники волны, вот так.
-
И сейчас я переключусь в Firefox,
-
в котором Йенс уже авторизован.
-
Йенс: Итак, я в волне,
-
я собираюсь открыть её
-
и, конечно, для меня всё будет отмечено
-
как непрочитанное.
-
Но, поскольку меня добавили позднее,
-
я не увижу сообщение Ларса как один кусок,
-
и к тому времени, как я был добавлен, оно может быть разделено на произвольные части.
-
Поэтому мы добавили такую возможность как "Воспроизведение".
-
Так я могу увидеть исходное сообщение Ларса.
-
Ларс спрашивает у Стефани, Стефани отвечает,
-
Стеф пишет внедрённый ответ в другом месте и т.д., и т.п.
-
[аплодисменты]
-
Спасибо.
-
Воспроизведение получается действительно полезным,
-
особенно когда волна
-
начинает приобретать сложную структуру,
-
и мы ещё продемонстрируем вам это позже.
-
А поскольку я теперь уже на волне,
-
я иду добавить свой ответ:
-
"Я тоже".
-
О, кажется она поломалась.
-
Ларс: Я упомянул, что это предварительная версия для разработчиков?
-
[смех]
-
Так что мы добавили несколько ошибок,
-
чтобы у вас не было слишком больших ожида...
-
Я просто шучу.
-
Йенс: Вы заметили, как быстро он перезагружается?
-
[смех]
-
Мы упоминали, что использовали GWT?
-
Хорошо, итак, я собираюсь добавить свой ответ.
-
"Я тоже.
-
Не забудь ключи."
-
И теперь я передаю слово Ларсу.
-
Ларс: Спасибо.
-
Вот так легко можно добавить нового участника
-
в существующий разговор.
-
И таким образом часто у нас получается
-
весьма симпатичное групповое обсуждение в Волне.
-
Но иногда вам может захотеться сказать что-либо в волне
-
так, чтобы это было видно не всем участникам.
-
Мы называем это "Личный ответ",
-
и я добавлю один такой вот здесь внизу,
-
и скажу:
-
"Давай купим Стефани по-настоящему классный подарок".
-
Стефани: Я писала эту часть.
-
Ларс: Затем я добавлю только Йенса,
-
и вы увидите,
-
если я быстро переключусь в браузер Йенса
-
и прокручу вниз —
-
он видит этот личный ответ.
-
Но если вы посмотрите на экран Стефани —
-
она не видит его.
-
Если вы помните, я объяснял,
-
что волна — это древовидная структура сообщений.
-
Естественно, вы можете взять любое под-дерево сообщений
-
и ограничить доступ подмножеству участников.
-
Ладно, я переключаюсь обратно в свой аккаунт.
-
Следующее, что мы хотим показать —
-
это то, как работают вложения в Волне.
-
Итак, мы побывали на морской прогулке,
-
было очень здорово, спасибо.
-
И у нас у всех есть фото.
-
У меня шесть таких лежат на рабочем столе,
-
и я собираюсь перетащить их на волну вот так.
-
[аплодисменты]
-
Стефани: Может вы не заметили,
-
но миниатюры фотографий на моем экране появились
-
задолго до того, как полные изображения загрузились c компьютера Ларса.
-
Я покажу вам это еще раз,
-
перетягивая собственные фотографии из iPhoto.
-
Готовы? Поехали.
-
Ларс: И вы видите, как они появляются на моем экране.
-
[голос из зала] Да!
-
[аплодисменты]
-
Не стесняйтесь, ребята.
-
Если вам нравится то, что вы видите, не стесняйтесь сказать нам об этом.
-
[аплодисменты]
-
Мы сможем... мы выдержим сколько угодно аплодисментов.
-
[смех]
-
Стефани: Возможность
-
перетягивания с рабочего стола в браузер —
-
часть Волны, которую HTML5 еще не поддерживает.
-
Мы работаем над предложением добавить это в стандарт.
-
На данный момент вам придется перекачать Gears,
-
чтобы это заработало.
-
Это единственный момент в Волне, который потребует установки Gears.
-
Когда Ларс перетянул свои фотографии,
-
вы могли заметить, что внизу панели Волны
-
есть меню "Изображение"
-
с действиями, которые вы можете применить к изображениям,
-
например, скачать или загрузить на сервер.
-
Примечательно в этих действиях —
-
они применимы ко всем изображениям в Волне,
-
а не только к тем, которые я только что перетащила,
-
что делает Волну простым и легким средством
-
создания группового фотоальбома,
-
который удивительно трудно создать с помощью нынешних инструментов.
-
Ларс: И вот — фотоальбом.
-
Это — капитан Афина.
-
А вот — нелегкая жизнь в Австралии.
-
И, как было замечено ранее, вы увидите, что
-
фотографии Стефани отображаются в моём альбоме.
-
Поэтому, я могу показать вам,
-
как замечательна жизнь в Австралии.
-
И это только изображения.
-
Вот так легко можно делиться фотками в Волне.
-
Это было групповая поездка.
-
Мы все сбросим фотографии сюда.
-
Мы бы, наверное, захотели поделиться с остальными в офисе,
-
чтоб им было завидно.
-
В данном случае, не ясно,
-
хотим ли мы, чтоб все знали, что мы ходили по магазинам вместе.
-
Итак, одна из возможностей
-
позволяет мне скопировать одни только изображения
-
из этой волны в свежую волну.
-
"Прогулка на лодке в январе.
-
Наслаждайтесь все вокруг."
-
Сейчас я ещё добавлю Стефани сюда.
-
Теперь я мог бы и поделиться этим с остальным офисом.
-
Так вот, возможность экспорта изображений
-
из одной волны в новую волну
-
является для нас частью очень важного
-
для нас принципа проектирования.
-
А именно — мы думаем о том,
-
что можно сделать с помощью волны, не меньше, чем о самой волне.
-
И позже мы покажем вам ещё больше примеров этого.
-
Да, покажем.
-
Эм, я забыл что дальше?
-
Стефани: Как насчет того, чтобы показать им API для встраивания волн?
-
Ларс: Отличная идея
-
ОК, спасибо. Итак...
-
[смех]
-
Она права.
-
Нам стоило отрепетировать всё, прежде, чем выступать этим утром.
-
Шучу.
-
Итак первая...
-
первая категория API, который мы хотим показать вам,
-
это API, который позволят встраивать волны в ваши веб-страницы.
-
Это очень похоже на API Google Maps.
-
Кстати, спасибо всем, кто его использовал.
-
Мы считаем, что ваша приверженность этому API
-
является важным фактором успеха продукта в целом
-
и мы надеемся, очевидно, повторить это с Волной.
-
Стефани: Поаплодируйте друг другу.
-
[аплодисменты]
-
Ларс: Ага, аплодируйте сами себе.
-
Отлично.
-
Стефани: [радостно] разработчики!
-
Ларс: Окей, итак...
-
Вот пример приложения.
-
Это маленький блог, который мы создали.
-
На Google App Engine,
-
но вы можете сделать это в любом месте, где бы вы не разместили свой сайт.
-
И этот блог...
-
В дополнение к волнам, которые я могу встроить на его страницах,
-
предоставляет мне автоматизированного участника,
-
которого мы нежно называем Блогги.
-
Все что мне надо — добавить Блогги к волне,
-
и вы увидите...
-
Вы, возможно, не прочитаете это,
-
но на желтом баннере
-
все участники волны теперь знают, что Блогги,
-
этот новый участник, опубликовал блог
-
на страницу, которую мы создали на App Engine.
-
Можно представить Грегори Деласандера?
-
Это еще один менеджер нашей команды.
-
[бурные аплодисменты]
-
Он покажет вам блог.
-
Грег: Привет, меня зовут Грег,
-
и я большой фанат блога Ларса,
-
так же, как и любой другой член команды должен быть в восторге.
-
Я собираюсь показать вам...
-
Стефани: Он заставляет нас читать это!
-
Ларс: Да ладно! Это хороший блог.
-
Грег: Опаньки, подождите секунду.
-
У нас упал...
-
Стефани: У нас упал VPN?
-
Грег: Да, похоже на то.
-
Стефани: Ларс, пора танцевать.
-
Грег: Ларс, да, будь добр.
-
Ларс: Все смотрим на меня.
-
Не смотрите на экран.
-
[бубнит]
-
Танцы с волнами.
-
Грег: Похоже связь пропала полностью.
-
Ларс: "На-на, на-на, на-на".
-
Есть не...
-
Грег: А потом...
-
Ларс: Не так много людей в мире,
-
которые могут так эффектно провалить презентацию
-
перед лицом 4000 человек и даже не вспотеть.
-
Стефани: Это была не демонстрация, это сеть.
-
Ларс: Хотели бы мы быть на их месте.
-
Думаю твой прокси сервер отвалился.
-
Стефани: Все окей, мы вернулись.
-
Грег: Ага, продолжаем.
-
Грег: Итак, как я говорил...
-
Блог.
-
Итак, в блоге, одна из клёвых вещей, которые вы...
-
вы можете увидеть, это то, что мы не просто встраиваем картинки,
-
а на самом деле мы встраиваем всю волну
-
со всем её пользовательским интерфейсом
-
Это означает что я могу ответить.
-
"Эй, выглядит прикольно. Почему меня не пригласили?"
-
[бурные аплодисменты]
-
Аналогично мы встраиваем...
-
и мы... мы... делаем
-
Вы можете отвечать точно так же как и в клиенте Волны.
-
Ларс: Точно.
-
Итак, теперь, я могу видеть, очевидно,
-
вопрос Грега из моего Wave-клиента.
-
Я могу ответить прямо здесь.
-
Мне не надо для этого заходить на сайт блога.
-
Я мог бы, если б захотел, но я могу остаться и здесь.
-
"Эээ... Я потерял телефон с твоим номером."
-
Ну я правда не умею писать...
-
Ну вот.
-
Грег: Заодно вы только что увидели ещё кое что:
-
мне случилось выйти в онлайн тогда же, когда и Ларс был онлайн,
-
и я увидел, как его ответ в блоге появляется в реальном времени.
-
Такое случается не всегда.
-
Как только я ответил в этот блог,
-
он оказывается виден в моем Wave-клиенте...
-
Как только обновлю мой Wave-клиент...
-
...Оно станет видно в моем Wave-клиенте,
-
и я могу продолжить беседу здесь.
-
"Но Ларс, я же за соседней дверью живу."
-
[смех]
-
и, мммм... И далее мы можем...
-
Этот ответ показывается в блоге,
-
мы можем продолжить беседу отсюда,
-
и любой может присоединиться к этой беседе.
-
Ларс: Спасибо, Грег.
-
Грег: Без проблем.
-
[аплодисменты]
-
Ларс: Спасибо.
-
И так, это, опять-таки, пример
-
как использовать API встраивания для добавления блогов на ваши страницы,
-
мы показали это вам на примере сайта с блогом,
-
но вы можете представить сайты дискуссионных групп,
-
общественные форумы...
-
если у вас есть мультимедийный сайт
-
вы можете позволить вашим пользователям обсуждать его, используя волны.
-
Преимуществом для разработчиков, конечно,
-
является то, что вы получаете эти живые и богатые возможности
-
при написании совсем немного кода.
-
Ваши пользователи, для начала, получат знакомый UI,
-
а те, у кого есть Wave-аккаунты,
-
смогут бродить по Сети,
-
собирая и группируя обсуждения, которые их интересуют
-
в Wave-клиенте, чтобы
-
не нужно было раз за разом заглядывать в десятки тысяч страниц
-
только чтобы узнать, не ответил ли им кто-то в их отсутствие.
-
Что сделает флейм намного более эффективным.
-
[смех]
-
Она ненавидит эту шутку.
-
Стефани: Да, ненавижу.
-
[смеётся]
-
Ларс: Хорошо.
-
Это был пример того, как внедрять волны.
-
API встраивания позволяет делать и другие вещи,
-
и Стефани вам это покажет.
-
Стефани: Итак, мы пригласили несколько наших коллег
-
из Бразилии и Индии в Сидней,
-
работающих над одной из наших социальных сетей, Orkut.
-
Мы хотели создать демо того, как могло бы выглядеть,
-
помести мы волны внутрь Orkut.
-
Очевидно, это место. где происходит много дискуссий.
-
Это демонстрирует три важных принципа,
-
или возможностей, нашего API встраивания.
-
Позвольте мне загрузить демо.
-
Итак, вот мой аккаунт в Orkut.
-
И вы видите там панель Волны в середине.
-
И первое: я могу создать волну прямо из Orkut
-
Итак я создам новую волну и скажу: "Поездка в Бразилию?
-
Когда же Ларс меня отпустит?"
-
Вторая важная особенность в том, что вы можете использовать
-
другие контакты, помимо ваших Волновых.
-
В данном случае, авторы сайта
-
решили использовать контакты Orkut,
-
поэтому я могу добавить несколько моих друзей из Orkut
-
например Сида, Торсона и Родриго,
-
которые помогали мне делать эту демонстрацию.
-
Третья принципиальная особенность в том, что я могу встроить панель поиска
-
внутрь Orkut, используя API встраивания.
-
Я покажу вам это сейчас.
-
Я могу искать по всем моим волнам отсюда.
-
И так далее. Посмотрите на это.
-
Итак, это волны, внедренные в Orkut
-
Что важно, так это то, что наш API встраивания
-
достаточно мощный, чтобы вы могли создать свой Wave-клиент.
-
В данном случае, команда Orkut
-
решила сфокусироваться на волнах, созданных внутри Orkut.
-
Но, также как и в примере с блогом,
-
я могу вернуться в мой Wave-клиент,
-
и увидеть тут волну, которую я начала там, в Orkut.
-
"Когда же Ларс меня отпустит в Бразилию?"
-
Итак, это API встраивания.
-
Ларс: Ребята...
-
[аплодисменты]
-
Спасибо.
-
Ну что, ребята, вдохновляюще?
-
Итак, помните, мы все собираемся дать вам аккаунты
-
для тестового билда,
-
который в сущности тот билд, который мы демонстрируем с сегодняшнего дня
-
и все эти примеры приложений,
-
которые, мы надеемся, вы оцените
-
и создадите много много ещё более клёвых вещей.
-
Хорошо, итак, следующее, что я хотел бы показать, это...
-
Конечно же вы захотите использовать Волну на ваших мобильных устройствах,
-
у меня тут есть Android и iPhone,
-
я собирался показать вам как хорошо Волна работает в связке
-
мобильного устройства с десктопом,
-
но вы же ребята все на Facebook сидите, так ведь?
-
Поэтому я не могу подключится к беспроводному интернету.
-
[смех]
-
Так что, если это не работает, это ваша вина.
-
Хорошо, вы можете видеть мою почту здесь.
-
Это на устройстве Android.
-
Вот открыта...
-
та же волна, которую вы видели до этого.
-
Вы видите симпатичные картинки.
-
И теперь, я могу нажать на кнопку "Ответить",
-
и вы увидите на экране Стефани,
-
который я не вижу.
-
Вы увидите ответ.
-
Представьте, я на самом деле в сети,
-
и я мог бы написать: "Я в лодке".
-
Готово.
-
Снова уведомление о моей орфографии.
-
И ничего не собирается появиться здесь,
-
потому что мы так и не сообразили
-
как передать это без наличия связи.
-
Возможно, мы покажем вам это.
-
[смех]
-
Стефани: Это твоя вина, что оно не работает.
-
Ларс: Мы...
-
Стефани: Я просто не хочу напортачить...
-
Ларс: Мы работаем над этим.
-
Окей, итак, это мобильник.
-
Стефани: Как насчет того, чтобы поговорить о редактировании?
-
Ларс: Замечательная идея.
-
Спасибо.
-
Хорошо, итак, следующая вещь, которую мы собираемся показать.
-
Опять же, потому что... мм, существует только...
-
(обратно мой десктоп. спасибо)
-
...существует только одна копия волны.
-
Несмотря на то, что мы поместили картинки в мой блог,
-
я обсуждал их с Грегом
-
и мы видели их на моём мобильнике,
-
сейчас я замечаю, что некоторые подписи
-
слегка корявые.
-
Все, что мне надо сделать — это нажать на эту кнопку "Редактировать",
-
и затем я смогу их исправить.
-
"Каяки". "Пивной чувак".
-
Спасибо.
-
[аплодисменты]
-
Стефани: И, как вы заметили,
-
подписи обновляются в блоге.
-
Ларс: Да, надеюсь, вы увидели, как подписи
-
обновлялись в блоге в реальном времени, когда я их набирал.
-
Итак, тут я редактировал своё собственное сообщение
-
но на самом деле, пользователи смогут редактировать сообщения друг друга.
-
и это весьма хороший эффект в дополнение
-
ко всему тому, что мы уже показали.
-
Можно использовать волны
-
для совместного написания документов
-
что сейчас мы и продемонстрируем.
-
Так что давайте оставим нашу лодку, и перейдём к работе
-
Стефани.
-
Стефани: Как упомянул Ларс, я менеджер продукта
-
и мне часто требуется делать заметки на совещаниях
-
Сегодня я вынуждена решать, хочу ли я отправить эти заметки
-
по почте, потому что я хочу обсудить их,
-
или мне стоит поместить их в документ или на Wiki,
-
потому что я хочу, чтобы другие помогли мне редактировать.
-
С Волной вам не нужно делать этот выбор
-
Вы можете и обсуждать, и совместно редактировать контент
-
в едином инструменте.
-
Итак, вот заметки с нашего совещания.
-
Я добавлю Ларса
-
Йенса, Грега и ACD
-
Ларс: (извините)
-
Стефани: Тогда ты открывай.
-
Ларс: Тогда я открою.
-
Несмотря на то, что это сообщение Стефани,
-
я могу нажать кнопку "редактировать"
-
и изменить тут на "прекрасно"
-
и потом добавить ещё один пункт задач
-
"ИИ. Сделать больше лучших ИИ, сделано."
-
Типа того.
-
Спасибо
-
[аплодисменты]
-
Спасибо
-
Итак, вот как просто
-
для меня подредактировать сообщение Стефани.
-
Мы хотим показать, как выглядит
-
для других участников волны...
-
тот факт, что я отредактировал её сообщение.
-
Мы начнём со Стефани.
-
Стефани: Вы видите, что волна выскочила в моём ящике входящих,
-
потому что там новый материал.
-
Если я открою его, увижу там пометки.
-
Итак, я вижу изменения, сделанные Ларсом.
-
Ларс: Спасибо.
-
[аплодисменты]
-
Стефани: Мы ещё не доделали это,
-
но у нас также есть небольшое описание сверху,
-
сообщающее, что Ларс отредактировал сообщение.
-
Что важно — это то, что я вижу пометку
-
не потому, что я написала это сообщение,
-
а потому, что я видела исходное сообщение.
-
Каждый, кто видел мое исходное сообщение,
-
увидит ту же самую пометку,
-
когда в следующий раз зайдёт в эту волну
-
после правок Ларса.
-
Йенс: Ну хорошо.
-
Я не видел исходного сообщения
-
и когда я открываю эту волну,
-
я вижу ее текущее состояние.
-
Но я могу заметить,
-
что и Стефани, и Ларс редактировали ее.
-
Обычно, меня это не волнует,
-
но если мне не все равно, тогда снова мне поможет "Воспроизведение".
-
Так я вижу исходное сообщение Стефани,
-
она добавляет Ларса,
-
и потом я вижу правки Ларса.
-
[аплодисменты]
-
Спасибо.
-
Теперь, когда мы можем отслеживать историю изменений,
-
отслеживать прямо на месте,
-
мы сможем позволить всем в этой волне
-
редактирование чего угодно, по-умолчанию.
-
Когда что-либо будет изменено,
-
автор волны будет тут же уведомлен
-
и сможет действовать по обстоятельствам.
-
Каждый участник может узнать кто что сделал.
-
Стефани обещала вам показать как в рамках волны
-
можно общаться и совместно редактировать текст
-
Стефани: Да, обещала
-
Йенс: Ну вот,
-
теперь, когда я знаю, что Ларс запросил большего количества ИИ.
-
Я буду использовать возможность внедряемого ответа, которую мы показали ранее
-
Чтобы, м-м, добавить свой ответ
-
"Нет, уже достаточно ИИ"
-
Да уж, мое правописание тоже страдает
-
Ларс: Не просто писать, когда 4 000 людей смотрят.
-
Йенс: Писать и говорить?
-
Это уже слегка перебор.
-
Вот так. Пускай Ларс продолжит.
-
Ларс: Хорошо, спасибо.
-
Заметьте,
-
мы нигде не говорили "Давайте начнём документ, здесь вот".
-
Это — только волны
-
Единственное отличие — в том,
-
что мы решили думать, что открывающее сообщение —
-
похоже на документ, над которым мы вместе работаем,
-
нежели сообщение, с которого начинается разговор.
-
И тогда мы решаем думать о внедрённом ответе
-
в большей степени как о начале обсуждения
-
некоторого места этого документа.
-
Но для системы, это всё обычные волны,
-
и на самом деле, вы можете вместе редактировать
-
любое сообщение в древовидной структуре.
-
Да и совсем не обязательно, что б это было похоже на документ.
-
Стефани часто приходит и дружелюбно исправляет
-
все мои орфографические ошибки.
-
Поэтому, мы думаем, что это сочетание совместного редактирования
-
и внедряемого обсуждения
-
образует очень мощный инструмент совместной работы.
-
Я хочу показать вам это на примере спецификации
-
которую наша команда написала какое-то время назад.
-
Вот только перенастрою своего клиента, секундочку.
-
Я начну безопасный поиск, найду документ вот тут,
-
сделаю для него побольше места.
-
И вы видите здесь, что это документ RISTEX.
-
В нём есть заголовки, списки.
-
В нём есть иллюстрации, и разного рода шрифты.
-
А далее он прерывается
-
небольшими отрывками обсуждения
-
которые способствуют совместной работе.
-
И, как обычно, лучший способ посмотреть, как это происходит —
-
воспроизвести волну.
-
Вы видите здесь, Стивен — наш «серверный» парень,
-
начал с краткого черновика.
-
Он добавил остальных членов команды.
-
Менеджер Ларс говорит "работай больше".
-
Стивен неохотно добавил ещё один параграф.
-
Он говорит "Да, как скажете."
-
Менеджер Стефани подредактировала вот тут.
-
Добавила комментарий там,
-
начала обсуждение сям, и так далее.
-
Я могу двигать бегунком, чтобы
-
свободно перемещаться по истории волны.
-
И мы планируем пакет мощных утилит,
-
которые работают с Воспроизведением.
-
Например, я могу сказать ему
-
воспроизвести только вклад Стефани.
-
Я могу сказать — воспроизвести только одно сообщение,
-
или отдельный параграф в сообщении.
-
Определённо, мы собираемся дать вам возможность
-
взять одно изменение в истории,
-
и откатить его к началу.
-
Может быть, дать название версии, чтобы можно было найти её снова, и так далее.
-
Воспроизведение обещает стать
-
действительно мощным инструментом
-
для исследования и манипулирования
-
всей историей волны.
-
Спасибо.
-
[аплодисменты]
-
А теперь представьте, что мы закончили редактировать документ.
-
Или хотя бы какую-то его часть,
-
и хотим поделиться им с более широкой аудиторией.
-
Вы заметите, не очень комфортно читать документ,
-
прерываемый всей этой дискуссией,
-
поэтому мы добавили сюда этот виджет,
-
он позволяет не только скрывать и показывать дискуссии,
-
как мы уже выделяли изображения из волны ранее,
-
но и дает возможность выделить текущую версию
-
любого сообщения в дереве в новую волну.
-
Вот так.
-
Теперь у меня есть новая волна
-
с чистым результатом нашей работы,
-
которую я теперь могу отправить на сервер
-
и поделиться ею с кем захочу,
-
поместить в список рассылки, блог или даже продолжить работу.
-
Вообще, мы планируем расширять функционал
-
для создания документов.
-
Представьте, что вы возвращаетесь и изменяете
-
исходную волну.
-
А потом вы сможете слить лишь эти изменения
-
с той результирующей волной.
-
Она будет теперь содержать всего два пункта в истории изменений,
-
а каждый пункт приписан к тому, кто сделал копию.
-
На самом деле, вы, ребята, догадаетесь,
-
что это навеяно системами контроля версий.
-
Мы дадим вам...
-
У вас будет возможность иметь несколько рабочих волн,
-
которые будут объединяться в одной результирующей.
-
Над различными участками волны
-
могут работать разные группы людей.
-
И когда одна группа применяет свои изменения —
-
они станут публичными в результирующей волне.
-
А участники других рабочих волн могут забрать изменения себе,
-
объединить их со своей волной, и так далее.
-
Это должно стать
-
очень мощным инструментом документооборота.
-
Спасибо.
-
[аплодисменты]
-
Мы показали вам эту функциональность, м-м,
-
на примере размеченного текста.
-
Но нет никаких причин,
-
чтобы не добавить к этому электронные таблицы
-
или презентации.
-
Позже мы покажем, что позаботились о том,
-
чтобы набор этих элементов был расширяемым,
-
как с вашей стороны, так и с нашей.
-
Окей, следующее, что мы хотели бы показать...
-
Стефани: Почему бы тебе не поговорить еще минуту
-
прежде, чем ты откроешь это?
-
Ларс: поговорить минуту...
-
Стефани: понимаешь?
-
Ларс: ...прежде, чем открывать.
-
Стефани: Буквально 30 секунд.
-
Ларс: Мы могли бы станцевать,
-
пока оно открывается.
-
Не то, чтобы что-то пошло не так
-
с той штукой, которая вот-вот откроется,
-
просто такое дело...
-
Как поживаете, ребята?
-
[смех]
-
Хорошо проводите время?
-
Презентация и правда длинновата. Спасибо вам.
-
Не стесняйтесь, если вам нравится.
-
Стефани: Отлично, мы готовы.
-
Целая куча людей в голубых майках
-
трудятся в поте лица.
-
[хихикает] И мы готовы.
-
Хорошо, вот волна, хм..
-
Вот волна, верно.
-
Моё небольшое вступление заключается в следующем:
-
Мы собираемся сейчас показать вам вещь,
-
разработка которой доставила нам много удовольствия.
-
Поскольку это сложнейшая вещь из тех, которые мы делали.
-
Она заключается в том, чтобы позволить нескольким людям
-
редактировать одно и то же сообщение одновременно
-
и при этом передавать символы по мере набора в реальном времени.
-
Здесь представлен набор изображений,
-
и Стефани собирается начать расставлять к ним надписи
-
с левого верхнего угла.
-
На моём экране вы можете видеть,
-
что я могу наблюдать точное положение оранжевой метки — место, где она находится.
-
А я собираюсь начать с правого нижнего угла.
-
"Ура"
-
Ларс: "Правописание Google"
-
Стефани: "Ларс лидирует"
-
Ларс: "Улыбчивый Дэвид"
-
Стефани: "Команда Волны на прогулке"
-
Ларс: "Бабах"
-
[аплодисменты]
-
Спасибо.
-
Теперь мы подошли слишком близко друг к другу.
-
Я добавлю немного оформления.
-
Я сделаю это курсивом.
-
Ёлки, добавьте кто-нибудь цвета.
-
Мы можем сделать это.
-
Обратите внимание, как близко друг от друга мы можем редактировать.
-
Вы видите, что несколько человек из команды
-
присоединились к нам.
-
У нас тут три человека.
-
Кэйси, Стеф, Офир и Дэн.
-
Теперь нас четверо,
-
и мы редактируем один документ рядом друг с другом.
-
[аплодисменты]
-
Спасибо.
-
Спасибо.
-
Итак, помимо многих часов развлечений,
-
игрой в догонялки морковками по экрану...
-
[смех]
-
Стефани: Это весьма весело!
-
Ларс: Очень даже весело.
-
И... этот вид живого, одновременного редактирования,
-
открывает множество новых способов использования инструмента.
-
На самом деле мы их все еще ищем.
-
Представьте, вы в одной комнате,
-
и делаете заметки с совещания.
-
Часто люди даже не приходят на совещания —
-
они просто открывают волну, видят заметки,
-
они просто задают вопросы в волне, и так далее.
-
Я хочу... пока я хвастаюсь нашими средствами редактирования,
-
Я хочу убедиться, что вы увидели,
-
что поддерживаются языки с написанием справа налево.
-
Это Офир сейчас пишет на иврите.
-
Спасибо.
-
[Аплодисменты]
-
Слева вверху вы видите, что редактор поддерживает языки,
-
которым нужны интернациональные методы ввода.
-
Я почти уверен, что это китайский.
-
Хорошо. Это совместное редактирование.
-
И теперь...
-
Слушайте, это длинное демо.
-
Ребят, не хотите привстать?
-
Размяться.
-
Стефани: Разомнемся?
-
Ларс: Ну, потянитесь немного.
-
Обнимите соседа.
-
[смех]
-
Ну, вы не должны это делать.
-
Стефани: Перерыв на объятья. Подружитесь с кем-нибудь.
-
Мне нужен небольшой перерыв.
-
У нас еще много чего есть вам показать.
-
А мне нужен небольшой перерыв.
-
Мне надо, ну, позвонить друзьям и коллегам
-
из команды Google Web Toolkit.
-
Так что, спасибо.
-
[аплодисменты]
-
Спасибо.
-
Итак, Волна на 100 процентов построена на Google Web Toolkit.
-
С первой строчки прототипа, написанной нами
-
аж в начале 2007.
-
И я уверен, что вы знаете, что Google Web Toolkit
-
позволяет вам писать HTML 5 приложения на Java
-
И тогда GWT, как мы это называем
-
автоматически транслируется в HTML, JS, CSS
-
и все эти штуки, которые потом работают
-
во всех современных браузерах.
-
И я думаю, что мы, вряд ли, возможно, создали бы что-то
-
настолько богатое возможностями, не будь у нас Google Web Toolkit.
-
На самом деле, я даже думаю, что мы вряд ли бы стали
-
заморачиваться на эту тему.
-
Я думаю, использование таких современных инструментов, как этот —
-
меняет ваш способ мышления.
-
Когда я вручную делал этот JavaScreept код для Google Maps,
-
я обнаружил, что слишком много моих размышлений,
-
cоставляли страдания по поводу того, как много ограничений программирования
-
существует в скриптовом языке в браузере.
-
Но используя GWT, я принялся писать на Java,
-
и получил в свое распоряжение большой набор инструментов,
-
которые присущи программированию на Java,
-
и мы обнаружили, что наши программисты
-
могут тратить большую часть времени
-
думая о поразительном потенциале Сети.
-
И, между прочим, всё работает одинаково и на десктопе
-
и на мобильном устройстве.
-
Когда я показывал вам тут на Android, и на iPhone,
-
Волна работала в браузере на обоих телефонах.
-
GWT позволяет делать это весьма просто.
-
Фактически, это один и тот же код,
-
запущенный на этих мобильных устройствах.
-
Просто другая компоновка страниц.
-
По нашим оценкам, дополнительное требование
-
одновременной поддержки и десктопных браузеров и мобильных
-
добавляет не более 5% инженерных усилий,
-
что я нахожу замечательным.
-
Хорошо.
-
И этот вчерашний график.
-
Ларс: Простите.
-
А, этот вчерашний график. Вы его видели?
-
Как мы написали 1,4 Мб кода, а затем внезапно
-
сократили до 200 Кб?
-
Вот за это мы и любим GWT.
-
[аплодисменты]
-
Стефани: Ну ладно, возвращаемся к нашей демонстрации.
-
Давайте поговорим об организации.
-
Мы, используя Волну, поняли,
-
что получаем много волн, что довольно круто,
-
но нужны инструменты для их организации.
-
У нас есть уже знакомые вам вещи,
-
вроде папок и хранимых поисковых запросов.
-
Еще мы сделали тэги и они общие
-
для всех участников волны.
-
Так что у вас будет хороший стимул
-
ставить правильный тэг к волне как тему.
-
К примеру, Ларс слишком ленив
-
чтобы организовать свои дела
-
Ларс: Это точно...
-
Стефани: У нас есть команда ему в помощь.
-
Ларс: Спасибо.
-
Но самый мощный способ организовать волны
-
это с помощью самих волн.
-
Давайте я открою волну, которую мы использовали для этой демонстрации.
-
Как вы могли заметить, в ней есть ссылки на другие волны,
-
и вы можете комбинировать их в секции, форматировать.
-
Можете их обсуждать.
-
А если я кликну по одной из этих ссылок,
-
то увижу эту волну
-
и смогу использовать кнопку "назад" для возврата.
-
Давайте-ка я покажу на сколько просто
-
создать такую ссылку на волну.
-
Если я потеряла ее, я могу снова подобрать её
-
с панели поиска и перетащить сюда.
-
[аплодисменты]
-
Повторю это еще разок, ведь это круто.
-
...и перетащу сюда.
-
Наша команда пришла к решению,
-
что ссылки на волны пригодны не только для списков.
-
К слову сказать, мы ставим много ссылок на нашем сайте.
-
Напоминает Wiki, эм, в нашей команде.
-
Перед тем как перейти к расширениям для Волны,
-
которые действительно впечатлят эту аудиторию,
-
хочу показать вам еще одну вещь,
-
над которой мы усиленно трудились.
-
Я кликну тут и начну поиск по фразе "Google wave".
-
Мне кажется, было бы неплохо перезагрузить
-
страничку в твоем браузере перед этим.
-
Стефани: Как и в папке входящих сообщений,
-
когда волна соответствует поисковым параметрам,
-
она появится на панели.
-
Ларс: Итак, Стефани искала
-
по запросу "Google Wave".
-
А здесь я устраиваю новую волну.
-
Скажем, "Ух ты!
-
Наконец-то я де-мо-нстри-ру-ю Google Wave"
-
Причина, по которой текст ещё не отобразился
-
в поиске Стефани — в том, что я не дописал "E".
-
А что я собираюсь сделать, так это сосчитать до трех,
-
а потом нажать "E",
-
а вы, ребята, можете сосчитать сколько секунд пройдёт
-
до того, как он отобразится в браузере Стефани.
-
Раз... Два... Три.
-
[Аплодисменты]
-
Хотите увидеть это еще разок?
-
[Смех]
-
Стефани, немогла бы ты открыть ту волну для меня?
-
Стефани: Ладно, сейчас кликну вот здесь.
-
Ларс: Backspace.
-
Стефани: [смеется]
-
[смех и аплодисменты]
-
Ларс: "E", backspace, "E",
-
backspace, E, backspace, E, backspace.
-
Мы назвали это "Танец волн".
-
И работали долго над этим.
-
Мы весьма гордимся результатом.
-
Следует упомянуть, когда мы стали это использовать,
-
это оказалось чересчур быстрым.
-
Иногда это привлекает внимание
-
к незаконченной работе.
-
И как раз сейчас мы пытаемся найти правильный баланс
-
между скоростью и слишком большим отвлекающим фактором.
-
Ну да ладно, что дальше?
-
Стефани: Расширения.
-
Ларс: Расширения.
-
Именно за этим вы сюда и пришли.
-
Окей. Следующая вещь, которую я хочу продемонстрировать
-
это другая категория API,
-
сегодня мы делаем ее доступной,
-
которая предназначена для расширения функциональности Волны.
-
Мы очень старались поддерживать в нашей команде
-
такую дисциплину — чтобы всё, что мы делаем
-
было бы сделано с помощью наших собственных API расширения,
-
таким образом ваши расширения будут жить
-
как привилегированные граждане Волны.
-
Это чем-то напоминает браузеры вроде Firefox,
-
которые позволяют расширять себя.
-
Только здесь вы расширяете веб-сайт,
-
а не браузер.
-
Давайте уже перейдем к примерам.
-
Вне сомнений, вы уже подметили, как все это утро
-
я притворялся, что довольно неграмотен.
-
А все для того, чтобы показать нашу систему проверки правописания.
-
Обычно такие программы работают
-
сопоставляя слова со словарем.
-
Если они найдут, вернее не найдут слово
-
это считается ошибкой,
-
но проблема в том, что зачастую,
-
проблемы с правописанием затрагивают другие словарные слова.
-
А наша программа проверки
-
берет во внимание контекст слова
-
и затем уже сравнивает
-
с огромной языковой моделью,
-
которую мы построили из всего интернета.
-
Сейчас я продемонстрирую, насколько силён этот инструмент.
-
Вы прозвали его "Демо фасолевого супа".
-
"Can I have some been soup?"
-
Оно подчеркивает красной линией.
-
и система знает, что я имел ввиду "bean soup."
-
Благодарю.
-
[аплодисменты]
-
Окей, теперь смотрите внимательно.
-
"It has bean so long."
-
Заметили это?
-
Теперь стало так удобно пользоваться проверкой орфографии,
-
что теперь ей можно доверить
-
автоматически исправлять мои ошибки.
-
Давайте посмотрим еще разок.
-
"Icland is an icland."
-
[аплодисменты]
-
"You are to kind."
-
Довольно круто, а? [Смех]
-
Да вы не видели эту последнюю.
-
Вот это и есть наша система проверки правописания.
-
или Спелли, как мы ее ласково прозвали.
-
А сейчас я покажу более простой пример
-
который находит ссылки в тексте, что вы набираете.
-
Мы прозвали его Линки.
-
"I love google.com."
-
Система незамедлительно подчеркивает ссылку
-
о нет, это не ссылка... А вот теперь это снова ссылка.
-
[аплодисменты]
-
И вы все задались вопросом, что делать со всеми этими расширениями.
-
Сейчас я объясню.
-
Если помните, мы показали вам ранее робота
-
по имени Блогги.
-
Все, что он делал — публикацию в блоге,
-
что позволяло вам использовать API встраивания.
-
Но кроме того, роботы — довольно мощный способ
-
расширения функциональности Волны.
-
Они являются серверными программами, участвующими в Волне
-
cо всеми теми возможностями, что и у участников-людей.
-
Роботом вы можете видеть происходящие в волне текущие изменения.
-
Можете вносить изменения в волну,
-
включая добавление и удаление сообщений,
-
групповое редактирование сообщений,
-
добавление и удаление участников.
-
Вы даже можете создавать новые волны с помощью роботов.
-
И наш Спелли работает,
-
используя API для отслеживания того, что я набираю.
-
Он работает на серверной стороне. Смотрит, что я набираю.
-
Он проверяет каждое слово и сравнивает его
-
с языковой моделью.
-
И если он находит ошибку,
-
то он использует групповое редактирования для изменения набранного текста.
-
А когда он недостаточно уверен,
-
подчеркивает слово красным,
-
и если бы Стеф и я редактировали сообщение одновременно,
-
то она бы тоже увидела подчеркивание красным,
-
и могла бы принять решение о редактировании.
-
Линки работает аналогично.
-
Но разве кто-то хочет набирать ссылки целый день?
-
У нас есть хорошие друзья
-
из команды Google Search, которые создали для нас расширение,
-
называемое Сёрчи.
-
Давайте поищем Австралию.
-
Стефани: У нас довольно продуманные соглашения об именовании.
-
Ларс: Тут вы можете поискать с помощью Google
-
прямо из волны, и добавить ссылку вот так.
-
[аплодисменты]
-
Хотите взглянуть еще раз?
-
Я ищу Бора Бора. Там так красиво.
-
Добавляю изображение в волну вот так.
-
Спасибо.
-
[аплодисменты]
-
Позвольте вернуться к нашему другу Линки.
-
У меня тут есть видео.
-
Давайте я скопирую URL.
-
И внутри волны,
-
я собираюсь написать "Зацените."
-
А теперь я хочу скопировать ссылку сюда.
-
А теперь я собираюсь станцевать немного,
-
пока система эффектно сбоит.
-
[смех]
-
Может мы вернемся к этому позднее.
-
Окей, это были расширения, которые мы сделали
-
с помощью внутренних API.
-
На данном этапе, как часть тестовой версии для разработчиков,
-
мы работаем над внешними версиями этих API,
-
доступными вам, ребята.
-
Внешние API обладают практически теми же возможностями,
-
что и внутренние.
-
Осталось несколько нерешенных моментов
-
о том, как организовать безопасный экспорт.
-
Но мы усердно трудимся, чтобы заполнить этот пробел.
-
Сейчас мы собираемся показать вам пару примеров,
-
которые выполнены с помощью внешних API.
-
Эти примеры кода
-
окажутся на code.google.com
-
когда мы выложим API.
-
Стефани.
-
Стефани: Любой OpenSocial гаджет может быть подключен к волне.
-
Вообще, мы вам хотели показать один...
-
...возможно, чуть попозже покажем...
-
Но также мы открываем дополнительный API,
-
который позволит вам, разработчикам, сделать свой гаджет
-
динамическим и коллективным.
-
Хочу вам это показать.
-
Но прежде я прервусь и расскажу вам небольшую историю.
-
Несмотря на то, что мы, будучи в команде, делали Волну
-
и обдумывали Волну полтора года,
-
когда мы впервые начали использовать её сами,
-
нам потребовалось время, чтобы осознать все возможности Волны,
-
которые могут повысить эффективность вашей работы,
-
потому что мы сильно привыкли к старым инструментам.
-
Вообще, мы и сейчас находим все новые и новые возможности.
-
Я вам это покажу на примере открытия волны
-
и использования функции Воспроизведения.
-
Кто-то из нашей команды хотел организовать поход в кино,
-
и мы все собирались пойти на "Трансформеров".
-
Вот он запустил волну и другие что-то с ней делали
-
в стиле электронной почты и отвечали.
-
"Я пойду." "Куда хотите пойти?".
-
"А это правда хороший фильм?". И тому подобное.
-
Я их хотела позвать на "Шопоголика" —
-
никто не пошел.
-
Ларс: Она всё ещё пытается.
-
Стефани: Ещё пытаюсь...
-
Итак, если мы посмотрим на эту волну,
-
трудно выделить важную информацию
-
о том, кто хочет пойти.
-
Кто-то предложил всем редактировать
-
общее сообщение вместо того, чтобы
-
писать отдельные.
-
И мы почистили волну.
-
Все начали редактировать это сообщение и так далее.
-
Так строить этот список было гораздо удобнее.
-
И мы всё ещё могли обсуждать
-
на какой машине ехать и тому подобное.
-
Итак, мы же все инженеры,
-
вы можете посмотреть на этот процесс общения,
-
и сказать, что есть более удобные способы
-
или есть способы сделать его лучше,
-
используя наши расширения.
-
Итак, один наш инженер написал гаджет.
-
Мы его называем "да-нет-может быть"-гаджет.
-
Эй. [смех]
-
[аплодисменты]
-
И если вы... я знаю, вам плохо видно...
-
но я сейчас в средней колонке "Нет",
-
и меняю выбор на "Может быть".
-
И вы видите обновление на экране Ларса.
-
[аплодисменты]
-
Ларс: Сейчас я нахожусь
-
в колонке "Возможно".
-
И я нажимаю здесь "Да".
-
И вы увидите, что оно быстро обновится
-
на обоих наших экранах.
-
Стефани: Итак, вам, как разработчикам гаджетов,
-
нужно беспокоиться только о двух вещах.
-
Когда я нажимаю на кнопку,
-
обновите состояние гаджета в XML,
-
тогда мы автоматически доставим данные через сервер
-
к клиенту Ларса, где вашему гаджету
-
нужно обновить UI для отображения нового состояния.
-
Сейчас, конечно же, мы сделали всё это —
-
ох, между прочим это секрет
-
Я, эм, ох, не говорите никому
-
но мы сделали всё это и теперь можем создавать
-
невероятно веселые и захватывающие игры.
-
И сейчас мы покажем вам несколько из них.
-
Ларс и я сейчас откроем судоку.
-
Ларс: Хм, хм.
-
Стефани: И мы планировали, что это будет совместная игра.
-
т.е. мы сможем собирать пазлы вдвоём,
-
но каким-то образом это переросло в соревнование.
-
[смеются]
-
И, ах, вы получаете очко за удачный ход,
-
и отрицательный балл за неверный.
-
Вы видите, как счёт Ларса уходит в минус.
-
Ларс: Как ты можешь играть в судоку
-
перед 4000 зрителей?
-
Давай.
-
Стефани: Тогда, эм, вернемся в 1851
-
Мы с Ларсом вели шахматную партию,
-
которая стала очень знаменитой.
-
Она закончилась на 23 ходу.
-
И она иллюстрирует, как Воспроизведение работает с гаджетами.
-
Итак, если я перейду в режим перемотки и нажму "вперед" —
-
вы сможете проследить всю игру шаг за шагом.
-
[аплодисменты]
-
Как мы упоминали в начале,
-
мы пришли из команды Карт Google.
-
И поэтому не было бы хорошего демо
-
если бы мы не представили гаджет "Карты".
-
Была проделана огромная работа для того, чтоб подготовить это демо.
-
И я собираюсь отправить Ларсу волну насчёт моего отпуска.
-
Ларс: Любимая тема Стефани.
-
Она хочет побывать на Бора Бора.
-
Она спрашивает у меня совета.
-
Я выделяю слово Бора Бора здесь.
-
И нажимаю эту кнопку, которая представлена
-
гаджетом, который вы, ребята, могли бы написать —
-
она вставляет карту Бора Бора.
-
Спасибо. [аплодисменты]
-
Стефани: Важная вещь —
-
мои руки не касаются моего компьютера,
-
но мой экран все еще находится справа.
-
Ларс: И сейчас я нажму кнопку "спутник"
-
и изменения отобразятся на обоих экранах.
-
И я приближаю, приближаю, приближаю, приближаю, приближаю.
-
[аплодисменты]
-
[смеется] Спасибо.
-
Ну и да, Стефани любит плавать с акулами.
-
Поэтому я рад, что желтые акулы обитают
-
здесь.
-
Как вы можете видеть, я добавил маркер.
-
Который моментально отобразился на экране Стефани.
-
Я убираю руки.
-
Стефани: Я выберу инструмент "полигон",
-
и я скажу Ларсу, что я хочу остановиться где-то в этом районе..
-
Ларс: И вы увидите, что это отобразится у меня на экране.
-
Еще раз — всё, что вам нужно делать с вашими гаджетами —
-
это сохранять обновления состояния
-
в локальный XML.
-
Затем мы передаем это по проводам
-
И затем другой экземпляр вашего гаджета
-
просто обновляет свое состояние, когда получает уведомление
-
об этих изменениях.
-
И это все расширения клиентской части.
-
На самом деле, я просто хочу показать вам —
-
Команда в синем повозилась,
-
и они оживили Линки.
-
А я хотел показать вам, что cлучилось,
-
когда я вставил ссылку на видео с youtube в ту прежнюю волну с расширением.
-
Итак, вы увидите, что Линки не только распознал,
-
что это ссылка,
-
но он распознал, что это ссылка на видео.
-
Он поместил маленькую удобную подсказку
-
на экране, которую я могу открыть
-
и выбрать из предложенных действий что же я хочу сделать.
-
Например, мне захочется встроить видео
-
прямо в мою волну
-
и показать его вам, ребята.
-
[шум]
-
Та-да. Классно, да?
-
[аплодисменты]
-
Спасибо.
-
Хорошо. Что дальше?
-
Стефани показала вам кучу гаджетов.
-
Все они являются расширениями клиентской части.
-
Дальше мы хотим показать вам, что вы можете делать
-
на стороне сервера с помощью роботов.
-
Мы покажем вам три примера.
-
Первый — это приложение...
-
для совместной работы, встроенное прямо в Волну
-
при помощи нашего API.
-
Итак, позвольте мне снова открыть мои «входящие».
-
И вместо того, чтобы выбрать «новая волна»,
-
я нажимаю на выпадающий список,
-
и выбираю пункт
-
под названием «новый опрос».
-
Новый опрос — это новая волна,
-
но со специальным роботом–расширением
-
по имени Полли.
-
Также добавлю Стеф в волну.
-
Полли создала форму в волне.
-
Да. И это не гаджет.
-
Формы — встроенная функция волны.
-
Вы можете добавлять их.
-
Теперь я могу заполнить форму,
-
начиная с названия опроса,
-
который я хочу провести.
-
И вы видите, по мере того, как я пишу в форму...
-
Полли находится на стороне сервера,
-
она видит, как буквы появляются одна за другой,
-
и обновляет название волны.
-
А теперь действительно классная особенность форм —
-
вы можете заполнять их совместно.
-
Стефани начинает заполнять варианты ответа,
-
пока я добавляю вопрос.
-
"Какой фильм самый лучший?"
-
И вы видите, что Стефани добавляет параметры
-
в нижнее поле.
-
Стефани: "Звёздные Войны."
-
Ларс: Звёздные Волны. [смех]
-
Стефани: Не случайно. [смех]
-
Ларс: "Шопоголик"
-
Сейчас Стефани добавляет несколько человек,
-
которым будет отправлен данный опрос,
-
в список получателей.
-
Добавляет...
-
Стефани: Готово.
-
Ларс: Она ввела шесть человек.
-
Теперь я нажму кнопку "опубликовать опрос".
-
Теперь Полли видит,
-
что я нажал эту кнопку.
-
Она заполняет раздел результатов
-
в той же самой волне.
-
И затем она отсылает новые волны
-
с вопросами, которые мы составили —
-
всем адресатам, которых мы указали.
-
И Стефани одна из них.
-
Стефани: Итак, я собираюсь ответить на опрос,
-
что "Star Trek" мой любимый фильм
-
Ларс: И вы увидите, что Полли обновит результаты
-
в волне администратора.
-
Если повезёт... Спасибо.
-
[аплодисменты]
-
Окей. Это был пример расширения,
-
встроенного в саму волну.
-
Следующий вид расширений, который мы хотим вам продемонстрировать —
-
это расширения, которые интегрируют Волну
-
с существующими системами коммуникации.
-
Мы продемонстрируем это на всеми любимом
-
микроблоггинговом сервисе — Twitter
-
Стефани: На данный момент, возможно вы хотите узнать —
-
как установить эти расширения.
-
Позвольте мне открыть волну.
-
И вы возможно не будете удивлены, услышав,
-
что расширения могут жить внутри волны.
-
Вот кусочки паззла,
-
изображающие некоторые вещи, которыми мы сегодня пользуемся.
-
Все что мне надо сделать, чтобы установить одно из этих
-
расширяе... — это
-
Простите. Нажать кнопку "Установить".
-
Вы можете увидеть, что появилось новое выпадающее меню.
-
И у меня появилась опция создания новой тволны.
-
Ларс: Волна, естественно -- тволна, естественно -
-
это волна твитов.
-
Стефани: Являясь разработчиком, вы можете описать
-
как ваше расширение взаимодействует с Волной.
-
Это может быть как сочетание клавиш,
-
так и кнопка на панели инструментов.
-
Это может быть что-то напоминающее новую кнопку т-волна.
-
Появится окно с подтверждением,
-
которое подскажет пользователю как будет выполняться взаимодействие.
-
Это мы пока еще не реализовали.
-
Давайте-ка я залогинюсь.
-
Хочу отметить, что Твиттер аккаунт для меня создал Ларс .
-
Ларс: Я назвал её Твифанни.
-
Она терпеть этого не может.
-
Ларс: В Твиттере она Твиффани.
-
Стефани: Я думаю, ребята, надо бы реализовать кнопку "tab".
-
[смеется]
-
Мне кажется, что вот-вот случится что-то нехорошее.
-
[смеется]
-
Хорошо, я авторизуюсь в твиттере.
-
И вы можете видеть твиты
-
всех известных людей, за которыми я слежу.
-
И вот внизу тут Ларс.
-
Ларс: Нет.
-
Стефани: Я просто закрою его.
-
Но у нас пока нет... Оу...
-
Я хотела вытащить список контактов.
-
Важно, что вы можете видеть все аватары
-
и они могут не являться пользователями Волны.
-
С помощью нашего API, вы можете выступать в роли прокси
-
для контактов других сервисов.
-
Итак у меня есть Ленс Армстронг, Райн Сикрест,
-
много других людей.
-
Если я спущусь вниз и посмотрю на твит Ларса,
-
то я смогу ответить на него.
-
Он говорит, "Демо проходит вполне неплохо".
-
И я отвечу, "Оно еще не окончено."
-
[смеется]
-
Ларс: Сейчас я авторизирован
-
в Твиттере как Твиффани.
-
И если я обновлю страницу,
-
то вы увидите, что расширение взяло ответ Стефани в волне
-
и опубликовало его как твит.
-
Спасибо.
-
[аплодисменты]
-
Теперь Твитти также позволяет вам искать
-
в общедоступной ленте Твиттера
-
Для примера, найдём фразу типа "Google Wave".
-
Сейчас создам новую т-волну.
-
Хотите поискать фразу "Google Wave"?
-
Стефани: Ага, сейчас
-
Ларс: А не страшно?
-
Стефани: [усмехаясь] Я не боюсь
-
Попробуем еще раз.
-
Я авторизируюсь.
-
После этого я набираю "Google Wave".
-
Мы делали это вчера и нашли только два твита.
-
Один из них был про интервью женщины в компании
-
под названием Волна и она сказала: "Мне нужно поискать в google Волну
-
перед тем, как идти на интервью."
-
Ну что ж, давайте войдём. Глянем, что получилось.
-
Ларс: (напевая)
-
Стефани: А тут побольше чем два.
-
Ларс: О! [смеется]
-
Стефани: Тогда мы спустимся в самый низ
-
и видим, что твиты продолжают поступать
-
Ларс: Боже мой, ребята, спасибо!
-
[смеется] Вот это да! Спасибо.
-
[аплодисменты]
-
Стефани: Это был пример интеграции
-
Волны с другой системой связи
-
Ларс: Я сейчас добавлю в возможности поиска
-
так, чтобы вы... могли...
-
Твитти постоянно осуществлял для вас поиск в Твиттере
-
и обновлял волну при появлении новых результатов.
-
Таким образом, вы можете использовать это как оповещение о новых твитах.
-
по интересующей вас теме
-
Они будут появляться прямо у вас во "Входящих".
-
Багги.
-
Стефани: Багги.
-
Мы читали твиты.
-
Ларс: Мы читали тв..
-
Стефани: Совершенно сбил нас с толку.
-
[смех]
-
Ларс: Окей, последний пример
-
расширения типа робот, который мы хотим показать.
-
Это пример того, как вы можете использовать API расширений
-
для интеграции Волны в существующие рабочие процессы.
-
Вы, ребята, программисты как и мы.
-
Вам, вероятно, приходится иметь дело со множеством багов.
-
Я хочу показать вам интеграцию
-
между Волной и системой отслеживания ошибок.
-
База данных ошибок на code.google.com.
-
Но это может быть любой багтрэкер на основе Bugzilla,
-
какой вам больше нравится.
-
Итак, я вызову заготовку сообщения,
-
и расскажу немного
-
о том, как мы с командой исправляем ошибки.
-
Например, программист создал некоторый код,
-
посылает его на рецензию,
-
А также посылает демонстрацию работы PM и инженерам по UI.
-
А также мне и Дженсу.
-
Затем мы сидим у себя в комнате и тестируем код.
-
И, хотя вы не можете тут прочитать текст,
-
здесь куча пометок
-
с наблюдениями, которые мы сделали.
-
Мы, естественно, редактировали это вместе
-
Некоторые из этих пометок — ошибки.
-
Другие — наблюдения для последующего обсуждения.
-
Некоторые — заметки для дизайнеров UI.
-
И, ясное дело, теперь мы должны завести отчёты об ошибках.
-
Мда, но вместо того, чтобы делать это вручную —
-
мы запускаем расширение, которое позволяет мне просто выбрать пометку,
-
нажать на эту вот кнопочку,
-
и тут в дело вступает робот по имени Багги,
-
берет этот текст и оформляет его как отчёт об ошибке.
-
[аплодисменты] Спасибо.
-
Стефани: Ларс, почему бы тебе не добавить меня?
-
Ларс: Да. Превосходно.
-
Я добавляю Стеф в волну.
-
Ошибка ...упс, простите... робот
-
также берет небольшое резюме из багтрэкера
-
и кладет его прямо внутрь волны.
-
Тут есть ссылка на отчёт об ошибке.
-
По которой Стефани щелкнет,
-
чтобы вы увидели отчёт в багтрэкере.
-
Стефани: Хорошо, я открываю отчёт об ошибке,
-
номер 11.
-
Ларс: И в то время, как она делает это
-
Я отправляю ещё.
-
Смотрите, как это просто.
-
Тройной клик тут. Здесь ещё один.
-
И я отправляю и этот отчёт.
-
Окей. И теперь мы можем отправить эту волну –
-
мы можем поделиться отчётами с нашей командой отладчиков.
-
Я сделаю это сам.
-
Всё, что я должен сделать, это изменить исполнителя.
-
Это я дам Стефани. Это возьму себе.
-
А это получит Ларс.
-
Ой, извиняюсь. Это был Грег?
-
Типа того.
-
Итак, вы видите – Стефани обновила отчёт об ошибках.
-
и вы видите, как робот меняет исполнителя
-
в багтрекере.
-
Стефани: на левой панели указан "владелец".
-
Ларс: Также, большинство багтрекеров
-
или баз данных ошибок, позволяют вам обсуждать ошибки –
-
если мне не изменяет память, бесконечно – в пределах базы данных.
-
Как правило, это не в силах
-
базы данных.
-
Но это в силах Волны.
-
И вместо того, чтобы обсуждать их в багтрекере,
-
вы можете делать это прямо внутри Волны.
-
Я использую инструмент для внедряемого ответа.
-
И скажу –
-
«Это не моя ошибка!»
-
Стефани: Обновим страницу. Теперь вы видите обновление.
-
[аплодисменты]
-
Ларс: И вот теперь мы можем продолжать
-
нескончаемые дискуссии внутри Волны,
-
которые будут более эффективными.
-
Мы так же могли бы создать...
-
...мы ещё не приводили это в качестве примера...
-
если кто-то захочет добавить комментарий
-
к проблеме в багтрекере,
-
робот заметит это и обновит волну.
-
И так же, как мы сделали поиск по Твиттеру
-
в волне,
-
мы так же можем добавить робота, который начнёт новую волну
-
и будет добавлять туда все сообщения о багах, назначенные вам.
-
Чтобы вы могли их отслеживать из волны.
-
Это просто замечательно, насколько эти вещи
-
делают вас более эффективным.
-
Окей. Вот вам расширения.
-
Ребята, вы ощущаете...
-
Стефани: Я думаю, что это два наших "П"
-
Ларс: Те две "П".
-
Ребята, вы уже ощущаете вдохновение?
-
Хорошо. Да. Спасибо. [аплодисменты]
-
Спасибо.
-
Ок, давайте немного поговорим о протоколах
-
и алгоритмах, лежащих в основе Волны.
-
Итак, как сказала Стефани в начале, мы хотим, чтобы Волна
-
была открытой системой
-
Ясно, что основная причина успеха
-
электронной почты в том, что это открытый протокол.
-
Каждый может написать почтовую систему.
-
Все могут посылать почту друг другу
-
независимо от того, где были созданы аккаунты.
-
Мы хотим, чтоб Волна работала точно также.
-
И мы разработали алгоритмы,
-
мы разработали протокол... который обеспечивает поддержку того,
-
что мы называем "интеграция".
-
Это значит, что каждая организация
-
может создать свою собственную систему Волн,
-
предоставить аккаунты своим пользователям, даже конкурируя при этом с Google,
-
и система все еще будет гарантировать,
-
что мы можем совместно использовать волны
-
невзирая на границы.
-
И мы хотим... для начала мы хотим продемонстрировать вам
-
как это будет выглядеть.
-
А затем мы немного поговорим
-
о том, как далеко мы продвинулись.
-
Итак, давайте я... тут ещё много всего не доделано
-
Все что мы вам показываем – все еще в стадии разработки
-
Я собираюсь авторизоваться в...другой версии
-
системы, которая находится внутри нашей корпоративной сети
-
и имеет открытый порт для такого типа интеграции.
-
Представим себе две раздельные системы Волн.
-
Одна cделана Google,
-
вы на нее смотрели все утро.
-
Другая Acme Wave,
-
которую вы увидите на экране Стефани.
-
Они создали отдельную систему.
-
Вообще, они раздают аккаунты
-
в конкуренции с Google.
-
Вы поймете, что их клиент очень похож на наш.
-
Это потому, что мы собираемся открыть
-
львиную долю кода, который мы использовали в нашей системе.
-
чтобы организации смогли скорей начать её осваивать.
-
И вот так Acme Wave сделали свою систему.
-
Итак, я запущу волну на моем аккаунте.
-
И я говорю: "Проект.
-
Вы хотите поработать со мной над этой штукой?"
-
И потом я добавлю ... какой у тебя аккаунт
-
на Acme Wave?
-
Стефани: Стефани.
-
Ларс: Стефани
-
Стефани на Acme Wave.
-
Итак у Стефани мгновенно появляется ее аккаунт.
-
Ларс: Вот так!
-
Стефани: Вообще-то Steph.
-
Стефани: Извините.
-
Ларс: Сейчас Стефани пользователь
-
Acme Wave.
-
И я добавлю ее в волну.
-
Стефани: Я собираюсь открыть волну.
-
И он говорит: "Вы хотите поработать со мной над этой штукой?"
-
А я говорю: "Думаю, что ребята из Inittech тоже могут помочь"
-
Ларс: И...
-
И даже при том, что Я и Стеф имеем аккаунты
-
на различных Wave системах,
-
у вас все еще работает
-
посимвольная коммуникация.
-
Это работает потому, что с наших обоих клиентов
-
эти маленькие действия
-
идут к своим соответствующим серверам,
-
затем они пересекаются и возвращаются к своим клиентам.
-
И вся эта жизнь и управление параллелизмом
-
и оживленн..., извините, разрешение конфликтов в реальном времени
-
происходит в алгоритме,
-
который поддерживает такой вид взаимодействия.
-
Давайте добавим в систему третью Wave систему.
-
У нас пара друзей, Питер и Милтон,
-
которые работают в компании Initech.
-
Они решили запустить свой Wave сервер,
-
в своих серверных.
-
Эти ребята не взяли наш код.
-
Милтон из тех специалистов,
-
кто предпочитает строить с нуля.
-
Стефани: Не уверена, что хочу это показывать, Ларс
-
Ларс: Да ладно! Покажи.
-
Я добавлю Питера и я добавлю Милтона.
-
Почему ты не хочешь, чтобы я показывал?
-
Стефани: Боюсь, этой толпе их UI
-
может понравиться больше,
-
чем наш — и это разобьет мне сердце.
-
Ларс: Не разбивайте ей сердце.
-
[Бурные овации]
-
Ларс: Есть волна? Есть волна?
-
Стефани: Нет, потому что...ммм?
-
Просто сделаю ещё одно редактирование.
-
Теперь у меня есть волна.
-
Ларс: Вот она открывает...
-
Стефани: И если вы войдете туда...
-
[бурные овации]
-
Ларс: Спасибо.
-
Стефани: Сейчас я хочу показать вам важный принцип...
-
важную особенность протокола.
-
Вернусь назад к Acme Wave,
-
и сделаю личный ответ.
-
как вы уже видели в демонстрации ранее.
-
Но я добавлю всех, кроме Ларса.
-
Я скажу: "Что вы думаете про того парня из Google?"
-
Я добавлю моих друзей Питера и Милтона.
-
Несмотря на то, что это Волна принадлежит Google
-
и копии есть на серверах Acme Wave и Initech,
-
этот приватный ответ не виден в Google,
-
и никак не может быть обнаружен Ларсом.
-
Вообще, если бы Питер и Милтон сделали бы
-
личные ответы друг другу,
-
то эта волна никогда бы не покинула их серверных.
-
[аплодисменты]
-
Ларс: Спасибо.
-
Стефани: Я хочу вернуться к Милтону
-
на секунду.
-
Смотрите, там личное сообщение.
-
Ларс: ОК, позвольте мне сказать,
-
мм, это взаимодействие...
-
заставила нас попотеть.
-
Мы его делаем с живым и
-
совместным редактированием, и чатом,
-
и мгновенными сообщениями и почтой, и изображениями,
-
и прочее.
-
И когда мы объеденяем все эти системы,
-
мы сильно осложняем себе задачу.
-
Откровенно, это могло быть значительно легче,
-
с инженерной точки зрения.
-
Если бы мы могли оставить это закрытым.
-
Тогда мы могли бы контролировать все сервисы,
-
мы бы контролировали все расписания обновлений,
-
и так далее.
-
Но мы считаем, оно того стоит –
-
и надеемся, что вы нам в этом поможете.
-
Мы считаем, что мир станет гораздо лучше,
-
если это будет открытая система, где каждый сможет создавать
-
"волновые" сервисы.
-
Спасибо.
-
[аплодисменты]
-
Спасибо.
-
Позвольте мне рассказать вам, где мы можем это применить.
-
Есть веб сайт,
-
...я покажу URL позже... он готовится к запуску,
-
и будет одним из первых проектов,
-
работающих на данном протоколе.
-
Там будет, я думаю, четыре документации
-
с описанием работы системы.
-
И конечно же, там будет
-
открытый форум,
-
и мы сможем обсуждать, как будет выглядеть
-
светлое будущее Волн.
-
А потом, как я уже сказал,
-
мы откроем «львиную долю» нашего кода,
-
который будет служить справочным материалом
-
по протоколу.
-
Но также и в основном по системе, готовой к эксплуатации.
-
Так же как и в Acme Wave.
-
Я, ясное дело, сильно упрощаю,
-
но, по сути, вы можете
-
связать этот код с вашей базой данных,
-
и у вас получится простой сервер волны,
-
который вы сможете запустить.
-
ОК. Вот что такое взаимодействие.
-
[смеётся]
-
Стефани: Я взволнована по поводу нашей следующей демонстрации.
-
Ларс: Следующее демо очень очень изящное.
-
Это нечто, чем следует завершить нашу демонстрацию.
-
Это нечто... что наш друг,
-
из команды исследователей Google, создавал
-
последний месяц.
-
Я сам увидел это первый раз несколько дней назад.
-
и мне реально снесло крышу.
-
Давайте посмотрим.
-
Я хочу убедиться, что я сейчас в правильной системе.
-
Вернусь назад в песочницу.
-
И снова – мы показываем это демо
-
на системе, в которой все вы, ребята, получите учетные записи.
-
Теперь, Стефани авторизуется,
-
используя аккаунт одного нашего коллеги, Алекси.
-
И тогда мы запустим новую волну.
-
Я хочу убедиться, что вы, ребята, видите
-
что мы набираем.
-
Я увеличу немного, вот так.
-
Стефани, ты сделаешь у себя шрифт больше?
-
Стефани: Да, вообще-то я хотела подождать
-
пока ты начнешь волну.
-
Ларс: А затем я начну новую волну.
-
И добавлю одного нашего коллегу — Алекси.
-
Затем добавлю моего самого любимого робота
-
по имени Рози.
-
Да.
-
Так вот, Алекси из Франции.
-
Его английский не очень.
-
Стефани: Оу!
-
Ларс: Ну это только для демонстрации.
-
[смех]
-
А Рози – это робот, который неплохо переводит
-
то, что я печатаю.
-
"Привет, Мир!"
-
[аплодисменты]
-
"Что ты думаешь
-
об этой...
-
...демонстрации?"
-
А сейчас Алекси пишет ответ во Франции.
-
И я вижу как он это делает, "Да...
-
с тех пор ка-к мы мо-же-м"
-
Переводит слово за словом, символ за символом,
-
по мере того, как он печатает.
-
Рози знает, предполагаю, 40 языков.
-
Она может переводить с одного на другой из любого из них.
-
Она настоящая находка!
-
Окей. На этом мы заканчиваем нашу демонстрацию.
-
О, спасибо вам.
-
[возгласы и аплодисменты]
-
Спасибо вам. Спасибо.
-
Спасибо. Спасибо. Спасибо.
-
Спасибо.
-
Спасибо. Спасибо. Спасибо. Спасибо.
-
Спасибо вам. Спасибо.
-
Стефани: Сдается мне, им нравится.
-
Ларс: Им нравится
-
Вам нравится? Окей. Спасибо.
-
Стефани: Спасибо. Вау. Спасибо. [смеётся]
-
[радостные возгласы и аплодисменты]
-
Ларс: Спасибо.
-
Спасибо. [свист и возгласы]
-
Стефани: Они довольно талантливы.
-
[аплодисменты]
-
Ларс: Спасибо.
-
Я думаю...
-
Стефани: Если им действительно понравилось...
-
[невнятный крик из зала]
-
Если вам действительно понравилось,
-
пустите волну [в зале]
-
Ларс: Так так так
-
Стефани: Есть желающие?
-
Время сделать волну.
-
Ларс: Итак
-
Итак, что вы думаете на этот счет?
-
Окей. [смех]
-
Просто...
-
Стефани: Спасибо за съемку.
-
Ларс: Подводя итоги,
-
нам хочется думать, что то что мы создали,
-
является вполне простым средством связи
-
под названием волна.
-
И мы показали, как вы можете использовать ее
-
для довольно большого количества разнообразных
-
видов связи и совместной работы.
-
Мы показали, как можно делать простые почтовые переписки.
-
Мы показали, как можно обмениваться мгновенными сообщениями.
-
Мы показали, как просто делиться фотографиями
-
и другими медиа.
-
Мы представили платформу, которую, мы надеемся,
-
вы будете использовать.
-
Которая позволит строить блоги,
-
дискуссионные группы, позволяющие вашим пользователям
-
обсуждать фото на вашем сайте.
-
С такими возможностями редактирования,
-
вы также можете строить wiki-подобные сайты,
-
используя нашу технологию.
-
Мы показали вам, как можно использовать волны
-
для совместного редактирования документов.
-
Мы показали вам богатый набор API расширений
-
которые позволят вам разрабатывать всё, от игр,
-
совместных приложений внутри волны,
-
до интеграции с другими системами связи.
-
Мы показали вам твиттер.
-
Мы надеемся, что вы, ребята, создадите шлюзы
-
из Волн в почту, в Facebook,
-
в системы обмена мгновенными сообщениями и т.д.
-
Мы показали вам как вы можете использовать эти API расширений
-
для интеграции волн в рабочие процессы.
-
Фух. Окей.
-
А теперь...
-
Стефани: Как раз хотела напомнить...
-
Ларс: Формальности ради,
-
в завершение.
-
Я бы хотел обратить ваше внимание
-
...я забыл об этом упомянуть раньше...
-
что у нас три отдельных выступления,
-
которые, как я думаю, до сих пор не в программе.
-
Первое — в полдень — про API.
-
И если у вас есть возможность посетить только одно из этих выступлений.
-
Лучше выбрать именно это.
-
Следующее – это небольшой обзор,
-
приоткрывающий еще несколько захватывающих сторон этой технологии
-
"изнутри".
-
Мы покажем вам, шаг за шагом,
-
как работает наше восхитительное средство проверки орфографии,
-
как работает редактор текста с возможностями форматирования,
-
и те алгоритмы, которые мы использовали на нижележащих уровнях
-
для обеспечения параллелизма,
-
управления разрешением конфликтов, и т.д.
-
А затем в 2:30
-
один из технических руководителей команды нашего клиента
-
объяснит, как мы строим
-
веб-приложения с помощью Google Web Toolkit,
-
и почему он нам так нравится,
-
и про кое-какие наши планы на будущее.
-
Также открыта комната B4
-
с полудня до 16:30,
-
куда вы, ребята, можете прийти и пообщаться с нашей командой.
-
Они любят поболтать.
-
И ещё я хотел тут вам показать
-
три важные ссылки:
-
для начинающих — wave.google.com
-
Это будет домашней страницей Google Wave,
-
когда мы запустим её позже в этом году.
-
Если вы сейчас зайдете туда, или когда сайт начнёт работать
-
через некоторое время,
-
то там будет бланк,
-
чтобы вы могли подписаться на получение оповещений
-
о предстоящем запуске.
-
Также там будет красиво оформленное видео
-
сегодняшнего доклада.
-
Сайт посвященный API, будет запущен...
-
из зала: Уже запущен.
-
Ларс: Сайт по API уже запущен.
-
Неудивительно, я не мог зайти
-
с моего мобильного телефона.
-
Это на http://code.google.com/apis/wave
-
Там есть API, там есть документация
-
Там есть примеры кода, которые мы здесь показали.
-
Я хотел бы упомянуть об
-
интеграции с багтрекерами,
-
которую мы показали в конце,
-
нам пришлось пойти на хитрость:
-
мы использовали внутренний API
-
к багтрекеру.
-
Думаю, они напряженно работают,
-
чтобы выпустить API.
-
Так что конкретно этот пока не будет доступен
-
некоторое время.
-
Наконец, на waveprotocol.org,
-
вы найдете черновик спецификации протокола,
-
Официальные документы, форум для обсуждений,
-
и т.д. Это, конечно, в том случае, если вы заинтересованы
-
помогать нам сделать Волну
-
открытой системой
-
Стефани: Скажи им про email.
-
Ларс: Да.
-
Вот как вы получите учетную запись:
-
Сегодня вы получите письмо
-
в котором написано, где подписаться
-
на получение аккаунта
-
и вскоре его получите.
-
Хорошо, смотрите, последнее, что я хотел сказать:
-
Наверное, вы представляете, насколько приятно чувствовать,
-
что вам нравится созданное нами.
-
Один из лучших эпизодов
-
в моей профессиональной жизни
-
был, когда мы запустили Google Maps в 2005 году,
-
а разработчики начали делать множество сумасшедших вещей
-
с Google Maps.
-
Я надеюсь, что некоторые из вас сейчас здесь присутствуют.
-
Это было ещё до того, как мы сделали API к Maps
-
Мы много возились, чтобы сделать API для Maps.
-
М оно... оно стало очень популярным.
-
И это дает огромную мотивацию к успеху.
-
Мы усвоили очень важный урок --
-
о том что вы, ребята, разработчики,
-
невероятно важны для успеха
-
такого рода продуктов, которые мы создаем.
-
И поэтому мне не терпится увидеть,
-
что вы придумаете.
-
Ну бу-у-у-дтье так добры, зацените это!
-
Сделайте классные вещи! Удивите нас!
-
Мне просто не терпится увидеть, что вы придумаете
-
Огромное вам спасибо
-
[Аплодисменты, овации]