Pull to refresh
0
True Engineering
Лаборатория технологических инноваций

Мобильный Timeline корпоративной жизни для iPhone. Приглашаем высказаться!

Reading time 6 min
Views 3.4K
Привет!

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

Что важно: это не очередной агрегатор соцсетей, ключевое слово тут «корпоративный»!

Как родилась идея

У нас в EastBanc Technologies каждый день что-то происходят: начинаются и завершаются проекты, открываются вакансии, появляются новые партнерства, празднуются важные даты, к нам приезжают журналисты, или мы сами пишем очередной шедевр на Хабре… Благодаря такому обилию информационных поводов каждый день генерится несколько новостей и иных различных сообщений.

Мы стремимся разместить в интернет-пространстве максимум актуальной информации, чтобы потенциальные клиенты могли составить о нас какое-то впечатление, прежде чем начать работать с нами; чтобы соискатели могли оценить атмосферу, офис, традиции, перспективы, технологии, с которыми им предстоит работать; чтобы коллеги из вашингтонского офиса знали, что происходит у соратников в России; чтобы сотрудники новосибирского офиса знали, как их компания позиционирует себя «в миру».

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

Например, наши вашингтонские коллеги почти не ходят во Вконтакт, зато активно используют Facebook, и мы с удовольствием выкладываем туда все наши российские вести большие и малые, чтобы хоть чуть-чуть преодолеть территориальную разорванность и создать единое информационное поле для обоих офисов EastBanc. На корпоративном сайте и в Твиттере мы публикуем всякие бизнес-новости, связанные с проектами, т.к. наши клиенты предпочитают читать именно наш микроблог (это экономит время). Ну, и так далее. Соцсети разные нужны, соцсети разные важны и все они приносят компании профит.

Но у такой активности оказался существенный минус: собственные, родные, сотрудники новосибирского офиса стали пропускать новости, что повлекло за собой такие реальные и предполагаемые проблемы как: 1. Люди расстраивались, что что-то упустили и узнали позже всех. 2. Люди в перспективе могли пропустить информацию о том, как компания позиционирует себя во внешнем мире по тому или иному вопросу, и допустить промахи при общении с клиентами или соискателями.

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

Что такое Мобильный Timeline корпоративной жизни

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



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

В главном меню мы находим быстрый доступ как к страничке с агрегированным контентом, так и кнопки доступа к каждому источнику новостей по отдельности. Обратите внимание на разделы, о которых в статье еще не упоминалось — «Дни рождения» и «Список сотрудников». Информация для этих разделов поступает в приложение с нашего внутрикорпоративного SharePoint-портала и доступна только зарегистрированным пользователям (отдельно регистрироваться не надо, в разделы попадаешь по своему корпоративному логину-паролю). О технической реализации этих разделов и push-уведомлениях для них расскажем дальше.
Вот так выглядят странички источников:

Корпоративный сайт


Твиттер


Facebook


Вконтакте


Список сотрудников




Дни рождения


Вот примерно как-то так мы собираемся всем коллективом быть в курсе последних событий компании.

Как это работает

На back-end у нас чаще всего используется следующий стек технологий: Spring Framework, Hibernate, Apache Tomcat. Но на этом проекте мы работали с большим количеством различных источников, поэтому для хранения информации мы решили использовать NoSQL базу данных — mongoDB, которая предоставляет возможность работать с информацией, состоящей из разнородных, слабоструктурированных документов. В отличие от SQL'ных баз, в mongoDB используется такое понятие как коллекция. Для хранения информации из социальных сетей и новостных порталов мы стали использовать одну коллекцию. Это позволило нам предоставлять информацию клиентскому приложению в виде timeline.



Для получения информации из нескольких социальных сетей использовался Spring Social, для получения информации из остальных источников были сделаны собственные библиотеки. Мы попробовали использовать Spring Social Vkontakte, но этот модуль пока не позволяет получать информацию из VKontakte без авторизации пользователя. А мы стремились разработать удобное приложение, дающее максимально простой и быстрый доступ к информации, поэтому получение новостей из социальной сети VKontakte мы сделали сами при помощи RestTemplate из фреймворка Spring Web. Также мы написали сервис получения информации из нашего корпоративного сайта на Liferay 6.

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

Основная задача сервера — предоставлять собранную информацию в виде упорядоченного потока информации (timeline) мобильному клиенту, а разработка мобильных приложений всегда накладывает ограничение на объем передаваемых данных из-за способа передачи и качества связи. Поэтому информацию клиенту сервер отдает небольшими частями. Но обычная система постраничной выдачи записей не подходит: пока клиент получает запрошенную информацию с сервера, в базу данных сервера уже может прийти новая порция данных. Мы провели исследование этой проблемы и выбрали модель Твиттера.

Еще одной задачей было рассылать на клиентские устройства push-уведомления о новых событиях из внешних источников. Работа с push-уведомлениями (на стороне сервера) для устройств компании Apple состоит из нескольких шагов (подробно описанных на сайте Apple для разработчиков):

  • получить от клиента токен
  • отправить сообщение в JSON-формате на серверы Apple (APNS)
  • регулярно опрашивать серверы APNS для получения списка устройств, которые больше не хотят получать уведомления.

В наших проектах для работы с push-уведомлениями мы используем JavaPNS. Это зрелый продукт, который позволяет отсылать как обычные уведомления, так и уведомления для Киоска (Newsstand). Умеет взаимодействовать с APNS Feedback Service и предоставляет адекватный сервис для работы с ошибками при отправке уведомлений. Благодаря этим достоинствам, мы использовали его и для Corporate News Timeline.

Почему нам важен feedback

Как видите, приложение почти готово. Скоро оно будет опубликовано в AppStore и доступно для скачивания. Работая над идеей этого приложения, мы прежде всего думали о себе — как приложение украсит жизнь сотрудников EastBanc Technologies, чем будет полезно каждому из нас… А потом, по мере приближения публикации, стали задумываться, насколько вообще жизнеспособна идея мобильного агрегатора корпоративных новостей, какие могут быть варианты использования приложения, что еще необходимо к нему прикрутить, и решили, что в ближайшее же время:

  1. Сделаем возможность комментирования новостей прямо из агрегатора.
  2. Прикрутим возможность поделиться новостью в своих личных аккаунтах.
  3. Сделаем возможность перехода по линке в браузерную страницу сосцети.
  4. Сделаем приложение доступным для девайсов на других платформах.
  5. Поразмыслим о том, как использовать приложение не с точки зрения внутрикорпоративных коммуникаций, а с точки зрения бизнеса.

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

Планы, конечно, наполеоновские, но нам нравятся:) А как вам эта идея?

PS: высказываться можно также на страничке продукта в Facebook.

UPD 05/04/2013 Убрали из хаба «Mobile development»
Tags:
Hubs:
-4
Comments 17
Comments Comments 17

Articles

Information

Website
www.trueengineering.ru
Registered
Founded
Employees
101–200 employees
Location
Россия