Рубрика «Блог компании Meople.Net, Inc.»

Как вы уже поняли из предыдущих постов, Meople.Net — это агрегатор ваших персональных (и не только) новостей из социальных сетей, реализованный для WEB и Windows 8. Многие из вас могут законно сказать, что сервис далеко не революционный. Но в этой статье я бы хотел остановиться на том, что его делает уникальным с технической (функциональной) точки зрения, а не с пользовательской.

Итак, как происходит работа с социальными сетями: большинство социальных сетей предоставляют REST API функционал для сторонних разработчиков, которые хотят построить свои приложения на платформах/данных социальных сетей. То есть, если вы хотите использовать данные Facebook или ВКонтакте в своем приложении, то это то, что вам нужно.
Я опущу общие шаги, которые должен сделать любой разработчик:
● регистрация приложения на сайте соц. сети и получение секретных ключей приложения;
● реализация (в большинстве случаев) OАuth 2.0 авторизации (http://tools.ietf.org/html/rfc6749);
● собственно отправление подписанного запроса в соц. сеть для получения необходимых вам данных.

Авторизация

Авторизация делится на клиентскую и серверную. 99% приложений, которые построены на платформе социальной сети, делают серверную авторизацию, что дает им возможность проксировать все запросы и сохранять ваши авторизационные данные на своих серверах. Они, собственно, это и делают. Так как в противном случае вам пришлось бы постоянно вводить пароль от вашего аккаунта в соц. сети (либо постоянно подтверждать разрешение на пользование вашего аккаунта для стороннего приложения). Ваши авторизационные данные в таком случае хранятся на сторонних серверах, не принадлежащих соц. сети. Там с ними может произойти все что угодно — ими даже могут воспользоваться без вашего ведома: например, поставить лайк на какую-то страницу, подписать вас на какие-то новости, в целях рекламы отправить вашим друзьям сообщение, что вы начали использовать какое-то приложение и тд.
Наш сервис использует клиентскую авторизацию там, где это возможно. В результате чего ваши авторизационные данные находятся в вашем же браузере (cookies, data storage) или устройстве и не сохраняются на наших серверах. Подписка запросов, отправляющихся в сеть, также происходит на клиенте. То есть, когда вы не используете наш сервис, у нас нет даже теоритической возможности воспользоваться вашими данными.

Отправление запросов на получение данных

При серверной авторизации для получения актуальных данных подпись запроса происходит на стороннем сервере, это означает, чтобы получить какие-то данные запрос из вашего браузера идет на сторонний сервер, оттуда в дата центр соц.сети, из соц.сети обратно на сторонний сервер и возвращается к вам. Казалось бы, все хорошо, но представьте себе, что вы находитесь в России (а раз вы читаете этот пост, то вы, скорее всего, там находитесь), а сервер стороннего приложения в большинстве случаев (и у нас в том числе) в США. Это означает, что ваш запрос образно пропутешествует вот так: Россия -> США сторонний сервер -> США соц.сеть (у ВКонтакте не уверен есть ли там сервера) -> США сторонний сервер -> Россия.
В итоге мы видим кучу запросов и на каждом из них многочисленные задержки. Особенно в случае запросов Россия — США. В результате производительность приложения падает. Частично это решается кешированием на некоторое время данных на сторонних серверах (это еще одна вещь, которой всегда хочется избежать) — но при этом вы лишаетесь возможности получить актуальные на данную секунду данные, а получаете данные с задержкой.

В нашем случае работа происходит по-другому. Подписанный запрос на получение данных отправляется напрямую из вашего браузера до ближайшего дата центра соц.сети, то есть путешествие примерно такое: Россия -> Россия соц.сеть -> Россия. Таким образом — нет промежуточных сторонних серверов, что позволяет получить данные максимально быстро и быть уверенным в безопасности запроса. Как видим, наш сервис использует инфраструктуру соц. сетей по всему миру для достижения производительности.

image
Читать полностью »

Be smart at what you like!

Как ни крути, а для начала любого дела нужна эта самая идея. Пусть даже и не совсем осознанная в самом начале, на уровне подсознания. Обычно толчком к её появлению является желание сделать что-то удобное и полезное, а в случае со стартапом, еще и своими мозгами и руками.
Так вот, в нашем случае хотелось как раз “для себя”. Сама по себе идея агрегатора какой-либо информации (новостей, сообщений и т.д.) не нова. А как обстоят дела с такими приложениями для социальных сетей? Ведь в современной жизни редко когда можно обойтись одним аккаунтом в одной сети.
По данным исследований более 2,8 миллиардов аккаунтов зарегистрировано в социальных сетях по всему миру. 4 из 5 интернет-пользователей проверяют свои источники 1-2 раза в день. Около 60% из них имеют более 2 активных аккаунта и 2-3, которые посещают время от времени. И нам кажется, что пользователи ограничены в осуществлении кросс-сетевых операций.
image

Примечание:
По данным статистики, которую уже успел собрать наш проект Meople.Net, вот так выглядят самые популярные комбинации социальных сетей:
image

Если у вас аккаунты в двух сетях — нужно открыть два окна в барузере, или два приложения на устройстве. И тут, рано или поздно, встает вопрос удобства. Плюс к этому, есть чаще посещаемые нами сети и те, в которые наш визит не такой частый. Но и там может появится информация, которая очень важна для вас, хочется как минимум быть в курсе событий.
Вот и захотелось сделать нахождение в нескольких социалках максимально удобным.
И вот идея трансформировалась в проект, который позволяет аккумулировать и управлять информацией, получаемой и передаваемой из одной социальной сети в другую. Это реализует возможность опериривания информацией для нас, как для пользователей.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js