Внимание! Много букв.
В то время как весь Интеренет (русский и не только) говорит о возможности самой крупной сделки в отрасли информационных технологий [если вы не смотрите/слушаете/читаете новости или по каким-то ещё причинам не знаете, то речь идёт о предложении, сделанным компанией Microsoft компании Yahoo, о поглощении Яху Майкрософтом за $44млрд.], меня заинтересовала другая новость первого февральского дня - представление Гуглом (а именно создателем ЖивогоЖурнала
Брэдом Фитцпатриком) очередной их разработки - Social Graph API.
О чём речь? Social graph, говоря по-русски, социальная сеть, но не в значении отдельно взятого интернет ресурса/приложения (например, Одноклассники или MySpace), а как явление в нашей жизни, причём не только в сети, но и в повседневной реальности. А точнее, информация о социальной сети. То есть кого и как мы знаем в этой жизни: "Вася знает Петю, они учились в одной школе. Ещё Вася знает Машу, они "друзья" на вКонтакте" и так далее. Это и есть "социальный граф".
На самом то деле огромный объём информации такого рода уже находится в сети. Мы же регистрируемся на "одноклассниках", "контактах", "майспейсах", а ещё на ласт.фм, фликре и десятках других ресурсов, которые или основаны на социальности (возможности заводить "друзей") или же дополняют свою основную функциональность этой возможностью. То есть множество сайтов "знает", что у нас есть такие-то друзья, и во многом эта информация доступна окружающим - например, список друзей человека можно увидеть на странице его профиля. За примером ходить далеко не нужно - наши профили тут, в ЖЖ.
Но это всё присказка, а сказка началась (или примерно тогда), когда Brad Fitzpatrick и David Recordon опубликовали свои мысли по поводу "социального графа". Основной темой этих размышлений было резонное замечание, что пользователи начинают уставать от того, что при регистрации на каждом новом социальном ресурсе в сети им приходится: а) заполнять по новой свой профиль, б) находить своих друзей на новом сайте, в) каким-то образом следить за тем, когда на этом сайте регистрируются их друзья. Думаю, практически все активные пользователи интернета и в частности социальных сетей понимают, о чём идёт речь. Лично меня эта проблема начала мучить примерно в то же время, когда я столкнулся с этими размышлениями господина Фитцпатрика.
Далее, Фитцпатрик и Рекордон говорят о том, что эта информация не должна принадлежать (в той или иной мере) каким-либо сайтам и организациям, то есть должна быть доступна не только внутри, скажем, ЖЖ. Напротив же, эта информация должна храниться децентрализовано и должна быть доступна любым сайтам и сервисам. Естественно, с оговоркой на privacy, то есть желанием людей делать эту информацию общедоступной. Далее же в документе следуют планы и примерные методы реализации этих отличных идей.
Первого февраля Брэд Фитцпатрик в своём посте в Google Code Blog и небольшой видео-презентации представляет широкой общественности Social Graph API (API - Application Programming Interface - Интерфейс программирования приложений). Данная технология позволяет получить информацию о контактах, основываясь на данных профилей человека на различных ресурсах (то есть о том, что через ЖЖ я дружу с, скажем,
g0lden_tulip и , а через Last.fm с Sir_Palomid и macabro) и о том, какие страницы принадлежат одному человеку (т.е., что это и это - мои страницы). Комбинация этих двух функций позволит не только следить за и управлять своей "электронной личностью" (то есть тем, какие страницы и профили истинно ваши) и её контактами, но и искать старых друзей и знакомых на новых сайтах.
Процесс этот будет выглядеть так: на новом сайте, где вы только что зарегистрировались, вы подтверждаете, что это действительно вы; дальше, логика приложения использует Social Graph API, чтобы получить информацию о ваших контактах в сети при помощи анализа ваших профилей, а также других ссылок на вас в сети (вся эта информация была найдена роботами Гугла, как и обычные ссылки, которые они уже много лет находят, но о технической части работы новшества чуть ниже); получив список ваших контактов, API найдёт профили и страницы друзей, где только возможно и проверит, нет ли среди них сайта, на котором вы только зарегистрировались. Таким образом, вы сможете сразу же "подружиться" с вашими друзьями на новом сайте. Примерно по такой же схеме сайты смогут вас уведомлять и присоединении ваших друзей с других сайтов к новому уже после вашей регистрации.
Теперь немного о технической стороне дела. Информацию о принадлежности страниц и контактах этот механизм "вылавливает" из микроформатов(Вики по-русс.) XFN(Вики по-русс., по-англ.) и FOAF(Вики по-русс, по-англ.). Оба этих микроформата позволяют декларировать связи с другими людьми в сети: XFN через обыкновенные ссылки, а FOAF через специальные файлы. Так же, XFN позволяет указывать на взаимоотношение страниц между собой (т.е. можно явно показать принадлежность страницы вам), а FOAF, в свою очередь, позволяет сохранять и информацию о себе. Я не буду вдаваться в технические подробности, потому как и не об этом запись, и всё лучше меня уже написано в описаниях этих форматов и сопроводительной документации. Скажу только, что пользоваться ими совершенно не сложно, да и многие современные ресурсы уже используют их так, что пользователю не нужно об этом задумываться. Собрав все эти данные, Social Graph API представляет их в структурированном формате JSON, которые дальше могут быть использованы приложениями, написанными на различных языках программирования. На этом остановлюсь в техническом описании.
Что же это означает для меня с вас?
В данный момент, я думаю, то, что определённо есть практический смысл пользоваться микроформатами. То есть, когда вы у себя в ЖЖ в записи вставляете ссылку, скажем, на профиль где-нибудь, на Digg.com, например, то кроме обычного < a href="ссылка" > стоит добавить атрибут rel="me" после атрибута href, если это ссылка на ваш профиль или же rel="friend", если это профиль друга (о значениях атрибутов можно почитать в документации к XFN). Таким образом, используя XFN вы добавляете социальную информацию о ссылке - ссылка ли это на вас или на вашего друга. В последствии, с появлением приложений и сервисом, использующих Social Graph API или схожую технологию, эта ссылка будет использована для воссоздания вашей социальной сети. Это первое.
Во-вторых, естественно, вся эта новость не означает, что с новой недели наша интернет-жизнь станет в разы проще и интереснее от того, что мы сможем повсеместно пользоваться благами новой технологии. Адаптации технологии займёт какое-то время. Так Plaxo.com уже начинают использовать Social Graph API в своём Pulse. Другие игроки социального веба тоже постараются не отстать, мне кажется. Только один момент удручает - всё это будет очень долго идти до нас, то есть до Рунета. Да, ЖЖ скорее всего довольно быстро включится в эту игру, потому как во-первых, это всё же международный проект и во-вторых, сколько бы не "тянули" на СУП, а они внесли гораздо больше новшеств в ЖЖ за последний год или больше в русском сегменте ЖЖ, чем SixApart в весь LiveJournal. Но до нами любимых и ненавидимых Одноклассников и Контакта это не дойдёт. В обозримом будущем точно. Там совершенно другие приоритеты, к сожалению. Для примера, на обоих ресурсах нет и намёка на использование синдикации (ATOM/RSS). Да, на Контакт поставили на AJAX и за счёт этого он гораздо привлекательнее в использовании, чем Одноклассники прошлого века. Но вот дожидаться таких новшеств как микроформаты мы там будем очень долго... С другой стороны, есть место в Рунете, тоже социальная сеть, являющая собой полную противоположность отношения к технологическому развитию сервиса, отношения к "юзабилити" и, соответственно, отношения к пользователям. Место это - проект МирТесен. Из известных мне социальных сетей Рунета (а это О., вК., МойКруг, я.ру, МойМир@mail.ru и Вспомни.ру) МирТесен выделяется их современностью, использованию новейших решений мировой веб-индустрии и неординарным подходом развитию. К примеру, пару недель назад они успешно запустили поддержку OpenID. Жаль только, что им очень тяжело наращивать аудиторию в тени Одноклассников, Контакта и сетей гигантов Рунета (Яндекс и Mail.ru). Может они станут первопроходцами в освоении социального графа в Рунете... время покажет.
В-третьих, тут ещё много над чем нужно думать и работать. Главное - пресловутая privacy. В данный момент, любой может воспользоваться Social Graph API и "раскопать" информацию о какой угодно странице (если она есть в индексе Гугла) и, следовательно, о любом человеке. Многим такое положение вещей не сильно нравится. Но как правильно замечает Тим О'Райли в комментариях к его заметке о релизе Social Graph API: мы сами выкладываем всю эту информацию в сеть, причём зачастую отдаём её в руки компаний, которые хранят нашу информацию в закрытых базах данных (вспомните дебаты сначала о Facebook, теперь об Одноклассниках и том, что неизвестно как наша персональная информация там хранится и используется и пр. - моё прим.) и ничего, мы всё равно заполняем профили. В случае же с социальным графом мы имеем больше контроля над информацией, потому как вольны решать, включать ли микроформаты в ссылки, которые размещаем... Я соглашусь с О'Райли. Вообще, всё зависит от нас в конечном итоге. Никто же не заставляет нас регистрироваться, заполнять профили, оставлять ссылки. Мы сами идём на это. Другое дело, что разработчикам будет необходимо предоставить пользователям инструменты для тонкой настройки профилей. То есть, возможность решать насколько публичной должна быть наша информация о регистрациях на других сайтах и о друзьях открыта для общественности и роботов поисковых систем.
В любом случае, я уверен, что данная технология - большой шаг вперёд к по-настоящему социальной и при этом организованной и удобной глобальной сети. Пускай сейчас уже есть методы поиска друзей на сервисах через загрузку адресной книги с того или иного почтового сервиса, данная технология открывает нам куда более широкие возможности, ведь мы зачастую не знаем адресов электронной почты тех, с кем общаемся и "дружим" в социальных сетях и на других интернет-сервисах (как тоже замечает Брэд Фитцпатрик). Важно только не забывать о вопросах безопасности и privacy, и при этом помнить, что в итоге мы сами ответственны за то, что выставляем в том или ином виде в сеть.
Я с огромным энтузиазмом ожидаю развития событий и появления свежих новостей о Social Graph API, развитии микроформатов и адаптации этих технологий не только глобально, но и в Рунете. Также, буду крайне рад обсудить всё это или тут в комментариях, либо как-то ещё.
Напоследок, ссылки по теме:
- Страница Social Graph API на Google Code
- Информация о Social Graph
- Примеры приложений, использующих Social Graph API
- URLs are People, Too (By Brad Fitzpatrick) - анонс Social Graph API на Google Code Blog
- Первые новости по теме на TechCrunch и ZDNet
- Комментарий Тима О'Райли на O'Reilly Radar
Спасибо тем, кто прочитал хотя бы часть. Большое спасибо тем, кто всё. Очень рад, если было интересно. Как уже сказал, буду рад комментариям.
Disclaimer: все оценки, мною данные выше, являются моим субъективным мнением. Если я кого-то похвалил, то потому что считаю нужным, а не потому что мне будет какое-то материальное благо от этого. Если я кого-то поругал, то опять же, потому что действительно так думаю. Если что, то к диалогу с похваленными и обиженными всегда готов.
P.S. Добавил примеры конкурентов del.icio.us (как зарубежных, так и рунетовских) в конце записи, посвящённой этому сервису.
P.S.#2 Чего, собственно, скромничать. Увеличил ширину оформления на 100px. Думаю, что нормально, на 800х600 у нас же народу нет почти, наверное, да? А если шире, то по-моему строчки слишком длинные уже. Или как считаете?
February 3 2008, 09:36:45 UTC 4 years ago
Вопрос как это можно использовать сейчас?
Я на своем маленьком сайтике с небольшим соц функционалом могу для каждого пользователя находить друзей, которых он зафрендил в других сервисах.
кроме жж-чки ничего из наших он не найдет
Нада что б кто-то большой ну хоть rel="friend" к ссылкам добавил
вроде не сложно
February 3 2008, 09:39:08 UTC 4 years ago
Про больших не знаю.. разве что может на я.ру/МоёмКруге что-нибудь проявится, Яндекс вроде старается.
А так, как я сказал выше, на МирТесен есть надежда. Им бы раскрутиться...
February 3 2008, 09:51:19 UTC 4 years ago
rel=me поставить не сложно
February 3 2008, 09:53:47 UTC 4 years ago
February 3 2008, 12:31:30 UTC 4 years ago
Пользователю сопоставляется URL. Всё, на что указывает этот URL и дальше по дереву - считается проверенной информацией. Остальное (то, что указывает на этот URL и т.п.) считается недостоверной, но возможной и поступать с ней можно в зависимости от ситуации (отвергать или предлагать пользователю подтвердить).
February 3 2008, 12:36:31 UTC 4 years ago
Вот такие развитие событий мне представляется, если смотреть на тёмную сторону дел.
4 years ago
4 years ago
4 years ago
February 3 2008, 10:51:09 UTC 4 years ago
Хочу добавить, только то, что очень большой шаг в развитии социальных сетей. Это, по сути, объединение всех существующих проектов в единое пространство.
Можно найти массу плюсов и минусов. Но хочется отметить, наверно, самый важный плюс для стартапов - фактически, стандартизация юзеринфо, друзей. То есть, если вы являетесь тысячников в жж, то никто не мешает вам стать тысячником в любом новом проекте. При этом основатели стартапа получают дополнительный трафик.
Это позволит стать катализатором развития интернет проектов. Ведь время окупаемости может сократиться в разы.
Хотя есть и обратная сторона медали - перенасыщение рынка.
February 3 2008, 10:55:53 UTC 4 years ago
Насчёт перенасыщения не совсем уверен.. всё-таки сеть - практически идеальный рынок, низкие барьеры для входа, огромная конкуренция. Просто будут выживать самые сильные, успешные.
Пока главным минусом мне кажется возможность неправомерного использования личной информации и представленной технологии. Нужны эффективные методы валидации ссылок и тонкие инструменты настройки доступности информации.
February 3 2008, 11:10:57 UTC 4 years ago
Одна и причин покупки Yahoo - это колоссальная пользовательская база. Огромный американский трафик. Yahoo вольется в Пасспорт Майкрософта. Проект сдохнет. Вернее станет частью Live.
Преимущество Гугла - кроссплатформенность в идеологии. Изначально, более активная и динамическая аудитория.
Посмотрим что будет дальше. Все это очень и очень интересно.
February 3 2008, 11:12:46 UTC 4 years ago
February 3 2008, 11:19:45 UTC 4 years ago
В случае с МС - довольно логично, потому как покупая машину под Виндоус, волей не волей натыкаешься на МС сразу же при выходе в сеть. Тут тебе и домашние страницы, и Мессенджер с предложением зарегистрироваться и так далее.
А с Гугл как-то не совсем так... Хотя, конечно, они тоже не идеальны, естественно у них есть подобные интересы, и не только из-за увлечённости Фитцпатрика этот API появился на свет :)
Как говорится, будем посмотреть.
February 3 2008, 11:16:38 UTC 4 years ago
Кстати, Яху порадовали своей реализацией OpenID. Тут они явно подумали о пользователях: используешь свои имя-пароль в их системе, а также можешь использовать, к примеру, адрес фотоальбома на Фликре как OpenID URL.
А в целом, да, крайне интересно посмотреть, что будет происходить в ситуации МС-Яху. И как у возможного нового гиганта будет получать конкурировать с Гугл и где, именно учитывая ту разницу в бизнес-моделях и идеологи между Гуглом и МС/Яху (они как раз, на мой взгляд, всегда были схожи).
February 3 2008, 14:39:59 UTC 4 years ago
По теме: получается, эта фигня целиком и полностью зависит от публичных и правильно расставленных "friend" и "me"? Проблематично даже для буржуйнета: например в Линктыне, ЕМНИП, информация о связях вообще не особо публичная... да и с какого перегара я буду свои профессиональные контакты на весь мир вытряхивать? То же самое и в ЖЖ: я, например, интересные мне журналы исключительно через RSS-ридер читаю, а френды это так, поиграться.
Если ссылку "friend" автоматом добавляют сервисы по факту френдования, то ссылку "me" придётся в том или ином виде добавлять вручную самому пользователю. Много ли простых смертных озаботится этим геморроем?
Кроме того, как выше было сказано, по злому умыслу или просто по ошибке можно такого наворотить с этими тегами.... зафрендить или объявить собой весь интернет.... и всё, конец системе.
February 3 2008, 15:07:21 UTC 4 years ago
Насчёт механизма - он использует те аттрибуты, которые ему дают именно в том значении, в котором они указаны - для возможности человеку объявить кого-то своим другом или своей альтернативной странице. А доверять этой информации или нет уже каждый решает для себя. А ссылка "me" будет добавляться при логине с помощью OpenID (ставится rel="me" на этот OpenID, и, возможно, через OAuth проставляется обратная ссылка), при заполнения поля в профиле "другие мои аккаунты", с помощью некоторых других эвристических методов (с запросом у пользователя, конечно).
А наворотить ничего не получится. Если кто-то объявит всю сеть своими друзьями никому в этой сети от этого не будет ни жарко ни холодно (пока кто-то не захочет загрузить этот список одним файлом ;)
February 3 2008, 15:11:27 UTC 4 years ago
February 3 2008, 20:17:47 UTC 4 years ago
За примером ходить далеко не нужно: ЖЖ автоматом прописывает rel="tag" (ещё один микроформат, обозначающий ссылку на выборку по тегу) к ссылкам на теги в основном виде журнала (по-крайней мере на моём шаблоне так).
February 4 2008, 04:11:52 UTC 4 years ago
February 4 2008, 04:33:54 UTC 4 years ago
Ждем и надеемся.
February 3 2008, 15:48:37 UTC 4 years ago
February 3 2008, 16:04:07 UTC 4 years ago
В англоязычной сети подобных сервисов полно. Тот же wink.com
Они ничего качественно не меняют.
February 3 2008, 20:21:08 UTC 4 years ago
Ваш проект мне очень нравится, зарегистрировался после первого вашего упоминания о нём на Хабре.
Вот если вы начнёт использовать Social Graph API для поиска френдов например у себя, тогда да, честь вам и хвала будет. Потому как я, например, совершенно не хочу искать френдов по никам, которые могут ещё и отличаться от их обычных.
Успехов вам в разработке, в любом случае!
February 14 2008, 07:52:27 UTC 4 years ago
>>Из известных мне социальных сетей Рунета (а это О., вК., МойКруг, я.ру, МойМир@mail.ru и Вспомни.ру)
Рекомендую также относительно новую http://imhonet.ru/ - очень удачная оригинальная идея, поддержка OpenID. Что-то похожее с оценками видел пока только на forums.ag.ru, да и то в самом зародыше.
Кстати, вот интересные ЖЖ:
http://muzyka-sfer.livejournal.com/
http://ant-on-popov.livejournal.com/
>>Далее, Фитцпатрик и Рекордон говорят о том, что эта информация не должна принадлежать (в той или иной мере) каким-либо сайтам и организациям, то есть должна быть доступна не только внутри, скажем, ЖЖ.
А по-моему, это совершенно справедливо и естественно, что если кто-то желает получить персональную информацию о людах из, например, Моего Круга, то он должен сделать доступной информацию и о себе. Насчёт ЖЖ - это совсем другое дело, реальную персональную информацию вообще не обязательно вводить, это, так сказать, "слабая" социальная сеть
February 14 2008, 08:24:04 UTC 4 years ago
На Имхонет я даже зарегистрирован, но так и не добрался до неё, чтобы оценить, что получилось после редизайна. Хотя читал, что очень даже неплохо стало.
Спасибо за ссылки.
И за внимание к журналу, тоже.
February 14 2008, 08:27:05 UTC 4 years ago
April 5 2008, 16:36:35 UTC 4 years ago