Абстрактные размышления о взаимодействии социальных сетей

Несмотря на то, что для довольно большого количества пользователей интернет на 90% состоит из одного лишь ВКонтакте (Facebook, Одноклассники — нужное подчеркнуть), я думаю, никто не строит иллюзий насчет того, что какая-либо социальная сеть (по крайней мере в ближайшем будущем) наберет достаточное количество пользователей и обрастет таким функционалом, что все интернет-сообщество дружно решит, что «Скрипач не нужен, родной» и откажется от всех остальных социальных сетей/сервисов. Во многом такое разделение даже удобно.

Согласитесь, что социальные графы различных сетей сильно различаются в силу того, что каждая из них предоставляет разный функционал и, соответственно, пользователи на них занимаются разными вещами. Однако, с точки зрения пользователя немного взаимной интеграции им бы не повредило. О том, что я подразумеваю под этой интеграцией и какую выгоду, возможно, могли бы извлечь из этого компании, и пойдет речь.

В качестве конкретных примеров я буду рассматривать Twitter, Facebook/ВКонтакте и Last.fm.

Для начала — конкретные примеры некоторых неудобств
ВКонтакте с недавних пор ввел функцию микроблоггинга, после чего стены пользователей стали похожи на Твиттер с сами знаете чем. Хорошо это или плохо — этот вопрос в рамках обсуждения останется за бортом. Примем это как данность. Логично предположить, что схожий функционал будет использоваться схожим образом. Также кажется логичным то, что пользователь с помощью одинаковых возможностей будет создавать примерно одинаковый контент. То есть, написав о чем-то у себя на стене, он с большой вероятностью напишет то же самое и в Твиттер и наоборот. Аналогичная ситуация может возникать со стеной в Facebook. В связи с этим было бы неплохо при написании сообщения на своей стене, скажем, иметь какой-нибудь чекбокс «Tweet it too». Или, в Твиттере, «Post on Facebook».

Часто я видел, что люди слушают музыку в основном в ВКонтакте. Вполне логично — музыку там можно найти на любой вкус, места на жестком диске она не требует, только более-менее стабильного канала. Тут на сцену выходит Last.fm. Согласитесь, было бы интересно, скажем, прямо из ВК иметь доступ к хит-парадам пользователей. Но что здесь было бы действительно удобно — это скробблинг для ВК. Конечно, Last.fm в ВКонтакте уже есть, но в качестве приложения, а это совсем не то.

В обратную сторону: я занес на Last.fm какую-то композицию в список любимых. Вероятно, было бы неплохо поделиться этой новостью с друзьями в других сетях — ведь там много тех, которым это может быть интересно.

Если я на Last.fm изъявляю желание пойти на какое-то событие, было бы неплохо также отметиться в соответствующей встрече в Facebook/ВКонтакте, если такая существует и наоборот.

Этот список можно долго продолжать. Если добавить к вышеперечисленным сетям YouTube — еще дольше.

Реализация
Думаю, первое, что приходит в голову — различные расширения/дополнения для браузеров или соответствующие виджеты на сайтах. Однако возможность воткнуть виджет есть далеко не везде, а дополнения неудобны тем, что их нужно искать и устанавливать. Для каждого браузера на каждом устройстве, с которого ты собираешься выходить в сеть. А на чужом компьютере их может попросту не оказаться. Meh. Гораздо удобнее было бы иметь все это «из коробки», не зависеть от браузера.

Конечно, некоторые вещи из вышеперечисленного уже в какой-то мере реализованы. Скажем, на last.fm есть возможность твитнуть или залайкать на Facebook'e грядущий концерт. Однако, если я хочу сообщить об этом знаменательном событии ВКонтакте, тут приходится прибегать к старому, как мир, копипасту. Естественно, и без кнопки «Like» раньше как-то жили, но ведь с ней как-то проще и удобнее, не так ли?

Итак, как же это можно сделать?
Те, кто знаком с ООП и хотя бы слышал о паттернах проектирования, знает, что иногда лучше потратить больше времени и написать больше кода, который потом можно будет брать и использовать, чем изобретать велосипед каждый раз. Таким образом, если разработать стандарт обмена информацией между профилями одного и того же пользователя в разных сетях, мы уже не будем зависеть от разработчиков, которые добавляют кнопку «Like», но считают, что «Tweet» тут не нужно, а про ВКонтакте с его «Мне нравится» вообще не слышали.

Немного подробнее о том, как это может выглядеть.
Для начала, необходимо «связать» между собой аккаунты разных сетей. Процесс может выглядеть примерно так: А@X посылает запрос о связке В@Y, после чего В должен подтвердить, что да, А — это я, но в сети X. Да-да, примерно то же самое происходит, когда вы указываете еще один e-mail в качестве дополнительного.

Далее встает вопрос о том, как связать различные функции. Когда я думаю об этом, у меня возникает ассоциация с IBOutlet из Obj-C/Cocoa. Конечно, аналогия натянута, но мы все-таки сейчас рассматриваем всего лишь абстрактную модель, так что некоторые неточности простительны. Фактически у нас есть «розетки», которые мы можем различными способами комбинировать (ограничиваясь, конечно же, здравым смыслом). Какие это могут быть «розетки»:

Текст:
  • Запостить X и на другом ресурсе тоже
  • Поделиться X на другом ресурсе (de-facto retweet)
Мультимедиа: то же, что и с текстом, но дополнительно необходимо предусмотреть возможность, что прямое отображение этого контента там невозможно. В этом случае должны быть дополнительные розетки типа «запостить ссылку на контент». Для last.fm и подобных — «Я сейчас смотрю/слушаю X».

Также могут быть розетки типа «Разрешить доступ к X». Они могут служить для таких ситуаций, как вышеупомянутое отображение личного хит-парада с Last.fm рядом со списком аудиозаписей пользователя ВКонтакте и пр.

По другую сторону этих розеток нам, скорее всего, понадобится соответствующий обработчик. Например, в Twitter придется использовать аналог twitlonger.com для слишком длинных сообщений. Last.fm — обрабатывать сообщение о прослушиваемой композиции. А в Facebook/ВКонтакте, например, преобразовывать ссылки в YouTube видео или изображение, на которое эта ссылка ссылается.

После того, как аккаунты связаны, а розетки соединены, возникает вопрос: каким образом пользователь будет этим пользоваться? Пусть для каждой розетки будет некий объект, с которым он будет логически связан и будет выводиться в специально отведенном для розеток блоке рядом с этим объектом.

На примере Twitter: рядом с Favorite/Retweet/Reply будут находиться кнопки «Like» и/или «Мне нравится» — в зависимости то того, связывали мы аккаунт Twitter'a с аккаунтом в Facebook или ВКонтакте или с обеими сразу. А рядом с кнопкой Tweet — стоят галочки «Post on Facebook» и/или «Написать на стене» и т.д. Здесь у нас «Like» связана с объектом «отдельный твит», а «Post on...» — с кнопкой «Tweet».

Или такой пример: возможность при загрузке фотографий в Facebook, сразу же продублировать их в ВКонтакте. Или твитнуть одну из них или целый альбом.

А что с этого перепадет сетям?
Преимущества достаточно очевидны — приток пользователей со стороны остальных сетей. При том, что направленность у них разная (кроме Facebook-ВКонтакте), они находятся в разных нишах и вряд ли будут друг другу мешать. Наоборот, они приобретут возможности, которых изначально не имели. Поскольку это взаимодействие предусматривает не полную, а только частичную интеграцию на уровне некоторых базовых функций, количество посещений не упадет, т.к. за полным функционалом нужно будет идти на сайт.
Если же произойдет попытка влезть в чужую нишу (например, уже упомянутое введение микроблоггинга ВКонтакте), у пользователей останется альтернатива, что. безусловно, хорошо.


0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.