Сегодня я наведался на встречу пользователей технологий Google, так называемую Silicon Valley Google Technology User Group.
Встреча происходила на кампусе Google, хотя и организовывалась не зависимыми от компании энтузиастами. В качестве докладчиков выступали как люди из Google, так и представители других компаний. Поскольку встреча была посвящена OpenSocial, то сторонним докладчиком сегодня выступала Hi5.
Офис Google на Crittenden Lane - это практически Северный полюс. В Пало Алто сегодня было довольно жарко, однако я сменил рабочие футболку и шорты на более вечерний расклад куртки и джинсов и все равно продрог, пока передвигался по парковке. Я в этом здании был года полтора назад, когда там еще был Plaxo, теперь же кампус полностью, кроме одного здания, снимается Гуглом.
Вести с полей в принципе были интересными. Говорили про релизы OpenSocial 0.7 и 0.8, и про планируемые функции. Хотя докладчики от Google не понравились вообще. Первый попытался отделаться стандартным набором слайдов, который Google опубликовала сразу после запуска OpenSocial. В аудитории сидел вроде как не детский сад (на TUGи ходят в основном инженеры), и вопросы медленно заводили докладчиков в небольшие тупики:
Докладчик: Теперь вместо 100 приложений для 100 разных социальных сетей вы сможете написать одно приложение, которуе будет работать на этих 100 сетях.
Вопрос из зала: А вот если мне нужна такая функциональность, где гарантия, что они все будут это поддерживать?
Докладчик: Гарантии не будет, так как каждый контейнер имеет право внедрять только определенные части API.
Вопрос из зала: Т.е. вместо 100 приложений мне теперь писать одно сложное приложение, где будет switch и 100 вариантов поддержки-неподдержки определенной функциональности?
(Докладчик слегка обходит вопрос, хотя в принципе намекает, что кроме MySpace и Hi5 писать особо не для кого, и пускай вы не поддерживаете третью по размеру социальную сеть в Румынии, основные приоритеты покрыты).
Не помогал тот факт, что практически все разработчики, которые рады бы такие приложения писать, писали их для Facebook, и многие ищут параллелей между миром им знакомым, и новым миром.
Докладчик: Вы публикуете информацию, после чего контейнер решает, где ее опубликовать в activity stream.
Вопрос из зала: А как же мне быть с новостью которая касается конкретно пользователя, которая в Facebook идет на minifeed, и с новостью, которая будет показана его друзьям и идет в NewsFeed.
Докладчик: Я не знаком с Facebook, но Вы можете опубликовать новость, и контейнер сам решит, куда ее публиковать. Возможно, контейнеры как-то сами будут обрабатывать эти новости и сортировать их по нужным местам.
Из других скользких вопросов - как реально следить за правилами хранения данных, если сетей сотня, и наборов правил будет сотня. А также почему только Google меняет API, если он по определению "открытый"? Хотя хватит негатива. Из позитива - в Оркуте сделана консоль для разработчиков, позволяющая немедленно увидеть исполняемый код на сайте. OpenSocial будет поддерживать service discovery, что позволит приложению вначале узнать, какие методы поддерживаются, и поступать по обстоятельствам. Hi5 для поддержки OpenSocial активно использует Shindig, весьма интересный проект от Apache.