Как сделать свою соц сеть для android

Обзор Mastodon. Как сделать свою социальную сеть

Основные проблемы современных социальных сетей — это сбор персональных данных, невозможность забрать свою информацию и непонятная модерация. В такой момент просто хочется взять и сделать свой Facebook или Twitter. А что если это сделать проще, чем кажется?

Mastodon — это свободная во всех отношениях социальная сеть, аналог Twitter, где каждый желающий может поднять свой сервер и управлять им как хочется.

Mastodon с точки зрения обычного пользователя

Социальная сеть делится на две основные части: фронтенд и бэкенд. В этом блоке речь пойдёт про лицевую сторону Mastodon.

Выбор сообщества

Чтобы начать пользоваться сервисом, на главной странице проекта нужно нажать кнопку Get started и выбрать сообщество, которое больше всего вам подходит.

В этот момент важно понимать следующее:

  • Сообщество — это чей-то сервер, который контролируется независимой организацией или людьми;
  • Вы можете вступать в другие сообщества и общаться с их членами независимо от вашего сообщества;
  • В любой момент можно перейти в другое сообщество;
  • На сайте Mastodon отображаются не все сообщества, существующие в cистеме;
  • Некоторые сообщества требуют подтверждения от владельца для вступления.

Прежде чем вступать в сообщество, вы можете посмотреть авторов и публикации, которые содержатся в нём.

Вступление в сообщество

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

Имя пользователя для каждого сообщества нужно выбирать отдельно, как и пароль. А вот email всегда можно указывать один, чтобы связать ваши учётки в сообществах.

После регистрации и подтверждения email вас ждёт короткая обучалка о том, что происходит в Mastodon и в самом сообществе.

Затем вы оказываетесь в аналоге Twitter. Причём это настолько аналог Twitter, что я даже не буду рассказывать о его возможностях. Всё то же самое, но называется немного по-другому.

Единственный и очевидный минус — лента Mastodon никак не связана с Twitter. Следовательно, здесь свои пользователи, свои авторы и своя лента. Придётся собирать подписки по своим интересам с нуля.

Приложения Mastodon

У Mastodon есть официальное приложение для iOS, а вот Android-пользователи обделены вниманием.

С его помощью вы сможете вступать в сообщества, читать свою ленту и получать оповещения. К сожалению, это Progressive Web приложение, поэтому вы как бы сидите через браузер.

Благодаря тому что исходники социальной сети открытые, создать своё приложение может каждый. Поэтому неофициальные приложения есть для Android, iOS, веба, Mac, Windows, Linux и даже SailfishOS.

Mastodon с точки зрения владельца сервера

Создать своё сообщество не получится, хотя это не мешает вам быть автором и привлекать подписчиков в ваш аккаунт. В этом случае вы опять же будете зависеть от владельца сервиса.

Чтобы взять жизнь в свои руки, нужно создать своё сообщество, для чего нужно поднять свой сервер Mastodon. На своём сервере вы сами устанавливаете правила общения, выбираете разрешённые темы и при этом вы всё равно можете общаться с членами других сообществ.

Читайте также:  Каталог для андроид медиа приставок 4pda

Для сервера Mastodon, как и для большинства подобных проектов, вам понадобится обзавестись доменным именем, VPS-сервером, почтовым провайдером. Дополнительно нужен файловый сервер.

Всё это можно найти и собрать самостоятельно, или можете воспользоваться одним из провайдеров, который всё сделает за вас: Masto.host, Hostdon или Spacebear. Также есть вариант развернуть полностью подготовленный образ Mastodon на DigitalOcean.

И на самом деле про Mastodon больше нечего рассказать. Вся суть затеи заключается лишь в том, насколько вам важно иметь полный контроль над своими данными.

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

Источник

Социальная сеть на Android за несколько выходных — часть II (сервер)

Краткое содержание первой части

Содержание

Введение

Регистрация

Синхронизация контактов

Для построения графа друзей на сервере ведется учет контакт-листов пользователей и сопоставление его с телефонными номерами пользователей, указанными при регистрации. Все контакт-листы хранятся в хэшированном виде. Телефонные номера должны быть приведены к нормальной форме, для чего используется библиотека libphonenumber от Google.

Стоит отметить один нюанс – код страны определяется в формате ISO-3166 относительно устройства пользователя, т.е. даже если в моей контактной книге находятся телефонные номера других стран, то при нормализации этих номеров необходимо использовать код страны «приписки» sim-карты моего устройства — RU.

Сопоставление телефонов происходит в одном из двух случаев:

  • При регистрации нового пользователя, его телефон сравнивается с уже существующими контакт-листами
  • Также при каждом запуске приложения контакт-лист повторно отправляется на сервер для выявления новых контактов

Для описанного сценария на БД сервера создается две таблицы – одна для самого контакт-листа и вторая для списка подтвержденных друзей (сам граф друзей). Такая схема позволяет изменять существующие контакты, не нарушая сформированные ранее ребра графа друзей.

Загрузка фотографий

В качестве хранилища фотографий мы выбрали два варианта – бесплатный аккаунт(free tier) AWS S3 как основной и собственный сервер как запасной (например на случай превышения лимита запросов в бесплатном аккаунте S3).

Рис 1. Загрузка изображений на AWS S3

Перед загрузкой клиент запрашивает у сервера временную публичную ссылку с правами записи, выполняет загрузку по этой ссылке напрямую на S3, после чего сообщает на сервер об успешной загрузке. Для работы с AWS S3 мы использовали aws-sdk gem. Перед работой необходимо завести аккаунт в AWS Web Services (на момент разработки была возможность завести бесплатный тестовый аккаунт на 5GB и 20,000 запросов) и получить пару ключей ACCESS_KEY/SECRET_ACCESS_KEY

Push-уведомления

При загрузке новых фотографий или добавлении комментариев подписчикам пользователя в реальном времени отправляются push-уведомления. Самым популярным и достаточно простым способом доставки push уведомлений в Android является GCM – Google Cloud Messaging. Перед использованием сервиса необходимо зарегистрировать свой проект в консоли разработчика, получить API-ключ и Project Number. API-ключ используется для авторизации сервера приложения при запросах к GCM, он добавляется в заголовок HTTP-запросов.

Со стороны клиента уникальным идентификатором получателя уведомлений является PushID, который получается путём обращения через GoogleCloudMessaging SDK с Android устройства напрямую к серверу GCM, при этом необходимо указать полученный ранее ProjectID. Полученный PushID отправляется на наш сервер приложения и впоследствии используется при доставке уведомлений.

Код 6. Пример отправки push-уведомлений (HTTP)
lib/push.rb

Очереди асинхронных задач

Чтобы ускорить взаимодействие с клиентом, некоторые задачи на сервере выполняются в фоновом режиме. В частности это отправка Push уведомлений, а также масштабирование изображений. Для таких задач мы выбрали resque gem. Список решений по обработке очередей и краткое описание можно изучить по ссылке. Мы выбрали resque за его простоту установки и конфигурации, поддержку персистентности с помощью БД redis, наличие минималистского веб-интерфейса. После запуска rails сервера необходимо отдельно запустить обработчик очередей resque следующим способом:

После этого постановка новых задач в очередь осуществляется следующим способом (На примере отправки push-уведомлений)

Источник

5 шагов к успешной мобильной соцсети

Время чтения: 5 минут

Отправим вам статью на:

У вас есть идея крутой социальной сети? Мечтаете подвинуть Facebook с пьедестала, но не знаете, с чего начать? Как говорил американский философ Ральф Эмерсон, “Трудности существуют для того, чтобы преодолевать их”. Мы поможем — подскажем ключевые шаги для создания мобильной соцсети.

#1. Определите цель

Подумайте, зачем вы создаёте мобильную соцсеть, как вы планируете её продвигать и монетизировать. Например: “Я хочу сделать соцсеть для ветеринарных клиник и зарабатывать на рекламе кормов”. Или: “Я придумал социальную сеть для любителей усов”. Или: “Мне, фотографу, всегда не хватало профессиональной соцсети, чтобы находить коллег по цеху. И я решил её разработать”. Именно с таким запросом к нам обратился наш партнёр из США, Уильям Апшоу.

Мы разработали для Уильяма мобильную социальную сеть Pro Photo Shoot. В приложении пользователи выбирают роль: фотограф, модель или визажист. Загружают портфолио и ищут деловые контакты. Соцсеть монетизирована: пользователи могут купить платный аккаунт и продвинуть свой профиль в топ выдачи.

Сейчас приложение Pro Photo Shoot активно продвигается и насчитывает более 10 тысяч пользователей в США. Берите пример Уильяма на вооружение — тщательно продумывайте идею соцсети и способы её монетизации. Затем переходите к следующему шагу.

#2. Составьте портрет целевой аудитории

Универсальных соцсетей не бывает, у каждой своя аудитория — люди определённой возрастной категории, интересов. 83% пользователей Facebook моложе 45 лет. Они проверяют новости примерно 8 раз в день, любят обновлять статусы и загружать фотографии. 81% аудитории Pinterest — женщины до 40 лет. 45% юзеров Snapchat ещё не достигли 24 лет. Они активно общаются в соцсети и пишут до 20 сообщений ежедневно. Пользователи Pro Photo Shoot — профессионалы фотоиндустрии. Они используют соцсеть, чтобы организовать фотосессии и найти коллег в радиусе своего местоположения.

Чем подробнее портрет ЦА — тем лучше. Как минимум, определите гендерные характеристики пользователей, возраст, ценности и целевые действия в приложении.

#3. Продумайте функционал мобильной соцсети

Первое, что пользователь делает в соцсети — регистрируется и заполняет профиль. Если на этом этапе что-то пошло не так, пользователь вполне может отказаться от вашего приложения в пользу конкурента. Поэтому решите заранее, как юзер будет вносить в свой профиль персональные данные: вручную или информация автоматически подтянется из других соцсетей. Для нашего клиента из Германии, Creative Construction, мы разработали мобильную социальную сеть Hidence, которая собирает личную информацию из учётных записей LinkedIn или Facebook.

Лента событий — ещё одна обязательная фича. Людям нравится смотреть обновления, комментировать и шарить интересные посты, делиться статусами.

Как именно пользователи будут взаимодействовать с лентой событий — зависит от идеи приложения. Facebook предлагает реагировать на посты разными эмодзи: пару лет назад к классическому “Like” добавились ещё 5 смайликов. В Pinterest пользователи сохраняют интересные пины на своей доске, а приложение подбирает новые пины на основе предпочтений юзера.

Последние в списке, но не по значимости — мессенджеры. Они нравятся пользователям, и это подтверждает Snapchat — соцсеть стартовала в 2011 году как приложение для обмена сообщениями. Сегодня у Snapchat 191 миллион активных пользователей ежедневно, а её генеральный директор, Эван Шпигель — один из самых богатых бизнесменов в сфере соцмедиа.

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

#4. Проработайте интерфейс

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

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

Вполне нормальная ситуация, когда интерфейс приложения меняется в ходе разработки. Так случилось с одним из наших проектов. Free For Lunch — одновременно социальная сеть и сервис знакомств. В первой версии дизайна Free For Lunch мы сделали цветовую шкалу времени с бегунком. Чем ближе подходило время ланча, тем теплее становился цвет бегунка. Но практика показала, что пользователям интереснее самим создавать встречи и знакомиться. Поэтому в финальной версии мы отказались от цветовой шкалы и придумали ставить на карте пины для событий и профилей пользователей. А чтобы пины не накладывались друг на друга — реализовали систему кэширования и фильтрации пользователей и событий.

Когда функционал приложения понятен, а дизайн утверждён, можно приступать к разработке.

#5. Переходите к разработке и тестированию

Вы успешно прошли все этапы разработки приложения, от концепции мобильной соцсети до её дизайна и функционала. Нашли классную команду разработчиков. — Пора стартовать проект.

Будьте готовы, что разработка — один из самых сложных и долгих этапов на пути к вашей мобильной соцсети. Философски относитесь к переделкам — они сделают ваш продукт лучше. Когда мы только начали работать над приложением Free For Lunch, задача казалась простой. Но чем больше мы изучали концепцию, тем больше задумывались: как объединить сложный функционал и удобную навигацию в приложении? У нас получилось.

Мы учли все возможные действия пользователей в приложении, реализовали user-friendly интерфейс. Решили задачу больших нагрузок на соцсеть: настроили специальное ПО, которое следит за состоянием сервера и определяет узкие места. Изменили конфигурацию сервера и базы данных, оптимизировали логику приложения.

Результат нашей работы — мобильная соцсеть с широким функционалом, готовая к нагрузкам на сервер, с ярким дизайном и удобным интерфейсом.

Если вы решили сделать мобильную соцсеть — изучите целевую аудиторию, продумайте функционал и юзабилити приложения. Выберите исполнителей и в путь. Если вопросов больше, чем ответов — начните с MVP приложения и проверьте жизнеспособность соцсети в тестовой сборке. А затем расширяйте возможности приложения шаг за шагом.

  • Поделиться в Facebook
  • Share on Linkedin
  • Запостить в Twitter
  • Сохранить в Pocket
  • 0 Репосты

—>

Подпишитесь

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

Источник

Читайте также:  Периферийные устройства для андроид
Оцените статью