sonyps4.ru

Skype for business история. Обзор системы унифицированных коммуникаций Microsoft Skype for Business

1. Требования к аппаратуре и программному обеспечению

Обновление мобильного приложения выполняется средствами магазина приложений.

Для удаления мобильного приложения необходимо на мобильном устройстве запустить приложение Google Play и в нем удалить мобильное приложение.

3. Запуск мобильного приложения

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

4. Работа со списком приложений

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

Для того чтобы изменить порядок приложений в списке, следует:

  • нажать кнопку Упорядочить – в правой части каждой строки отобразится кнопка перетаскивания.
  • нажать кнопку в строке приложения, которое нужно переместить и перетащить ее на требуемое место.

4.1. Создание приложения

Для того чтобы создать приложение для мобильной платформы, следует:

  1. Выбрать команду добавления приложения.
  2. Указать имя приложения и нажать кнопку Готово .
  3. После закрытия окна будет создано приложение.

4.2. Запуск приложения

4.3. Изменение свойств приложения

Свойства приложения изменяются в специальном окне. Для открытия окна свойств приложения следует выполнить длинное нажатие на нужном приложении. В открывшемся контекстном меню выбрать команду Изменить .

В открывшемся окне можно изменить наименование приложения, запустить его (кнопка Открыть ) или удалить (кнопка Удалить ).

4.4. Удаление приложения

Для удаления приложения следует выбрать команду Удалить и подтвердить свое действие: выполнить длинное нажатие на удаляемом приложении. В открывшемся контекстном меню выбрать команду Удалить .

Внимание! После удаления приложения данные информационной базы восстановить невозможно.

4.5. Обновление приложения

Мобильное приложение обновляется с помощью используемого магазина приложений. После его успешного обновления мобильного приложения необходимо обновить ранее созданные приложения. Для этого достаточно запустить приложение.

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

Также имеет смысл отказаться от обновления, чтобы сделать резервную копию базы данных (см. ).

5. Интерфейс системы

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

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

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

Работающий стартап, это тот, который построенный на принципах стратегии MVP (Minimum Viable Product). Такой подход позволяет вам проверить ваш продукт перед запуском его в широкие массы.

В закладки

Это приложение было создано с использованием Ionic framework и предлагает следующие возможности:

  • Поиск / исследование конкретных объектов в музее;
  • Видео дополненной реальности;
  • Обмен через социальные сети;

Недавним примером гибридного приложения, которое мы создали в Ezetech для Tickfinity - TicketNetwork POS для мобильных устройств (видео).

Плюсы:

  • Высокая скорость разработки;
  • Написаны с помощью HTML, CSS, Javascript, что обеспечивают кросс-совместимое iOS, Android и веб-программное обеспечение (требуется только один веб-разработчик);
  • Доступны фреймворки, которые эмулируют пользовательские элементы UI (например, кнопки, меню и так далее);
  • UX близок к нативному опыту с использованием элементов UI, которые имитируют поведение обычного приложения;
  • Доступ к API-интерфейсу смартфона (камера, push-уведомления, геолокация и другие).

Минусы :

  • UX не так хорош, как в родных приложениях (задержки на клики 300 мс, фантомные клики при прокрутке);
  • Чем сложнее приложение, тем медленнее оно работает из-за использования различных оболочек и библиотек;
  • Не работает в офлайн режиме;
  • Анимации трудно реализовать в UI.

Этот вариант подходит для MVP простых веб или мобильных приложений. Если у вас уже есть веб-приложение, построенное с помощью Javascript, вы можете использовать существующий код. Проще говоря Apache Cordova хорош для быстрого создания недорогих мобильных приложений со стандартными функциями.

React Native

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

Некоторые примеры приложений, использующих React Native:

Плюсы:

  • Высокая скорость разработки для веб-приложений на основе React;
  • Веб-приложение, созданное с помощью React.js, может быть легко преобразовано в мобильное приложение React Native, а некоторые исходные коды можно повторно использовать;
  • Собственный пользовательский опыт;
  • Приложение выглядит и воспринимается как родное мобильное приложение для конкретной платформы;
  • Низкие затраты на разработку;
  • Эксперты в React Native обычно могут создавать приложения для Android и iOS.

Минусы:

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

Разработка нативного приложения (Native app development)

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

Обычно вам нужно как минимум 2 разработчика - разработчик iOS, который работает над iPhone-приложением с использованием Objective-C или Swift, и разработчика Android, который будет использовать Java или Kotlin. Поэтому стоимость разработки будет выше, чем в любом из вышеперечисленных подходов.

Плюсы :

Минусы :

  • Более высокие затраты по сравнению с разработкой гибридных приложений;
  • Различные стеки технологий для разных платформ (требуется больше разработчиков).
  • Обратите внимание, что лучше всего создавать нативное приложение c нуля, только если у вас есть на это ресурсы. Технологии для создания таких приложений уже давно существуют, что дает множество модульных решений, а также сообществ с открытым исходным кодом, доступных разработчикам для эффективного решения проблем.

Заключение

Есть два основных варианта, которые хорошо подойдут для перехода из веб-приложения в мобильное - разработка гибридного приложения и запуск с нуля (разработка нативного приложения).Если функциональность вашего продукта не слишком сложна, и вы просто хотите предложить мобильным пользователям лучший опыт, вы должны использовать React Native (если сайт на реакте) или Apache Cordova для разработки вашего гибридного приложения. Это оптимальный вариант, если у вас ограничен бюджет и вам нужна поддержка на Android и iOS.

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

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

Написать

Ребята, мы вкладываем душу в сайт. Cпасибо за то,
что открываете эту красоту. Спасибо за вдохновение и мурашки.
Присоединяйтесь к нам в Facebook и ВКонтакте

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

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

Сохранение веб-страниц для чтения

Pocket признан одним из лучших приложений на Android в 2014 году. Данный сервис позволяет сохранять статьи, видео и другие материалы для просмотра позже, и эта информация будет доступна на всех устройствах. Если материал сохранен в Pocket, он будет в вашем телефоне, планшете или компьютере, даже если вы в офлайне. Это приложение идеально для использования по дороге на работу или в путешествии.

Обмен сообщениями

Сервисов для обмена сообщениями существует предостаточно. К популярным Viber, iMessage и Telegram добавился еще и Facebook Messenger , аудитория которого уже перевалила за 200 млн. пользователей. Его отличает минималистичный дизайн и отличная функциональность: помимо отправления текстовых сообщений, приложение позволяет обмениваться фотографиями, аудиозаписями и видеороликами, а также звонить и принимать звонки.

Будильник

Утреннее пробуждение мало кому дается легко. Все мы, конечно, устанавливаем будильник на нужное время, но как только он начинает звенеть - привычным движением откладываем звонок снова и снова. Побороть эту пагубную привычку вам поможет приложение Puzzle Alarm Clock , доступное на устройствах с Android. Для отключения мелодии оно предлагает несколько вариантов действий: разгадывание головоломок, математических задач, неприятное мерцание вспышки, ну и, для особо тяжелых случаев - денежный штраф за каждый перенос времени будильника!

Физическая активность

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

Повышение продуктивности

Если с понятием прокрастинации вы знакомы не понаслышке, приложение Focus Lock для Android способно помочь вам повысить продуктивность. Оно позволяет временно заблокировать все "вредные" приложения, которые отвлекают и не дают сосредоточиться на важном деле. Все, что от вас нужно - задать промежутки времени на работу и отдых, а программа сама подаст сигнал, когда у вас появится возможность воспользоваться заблокированными сервисами. При попытке запуска запрещенного приложения, у вас ничего не выйдет, и в самом Focus Lock снять блокировку не получится. Для кого-то такой кардинальный способ может стать спасением.

Синхронизация приложений

Прекрасное приложение для автоматизации IFTTT теперь доступно и на Android. Сервис позволяет экономить ваше время, создавая связи между действиями в различных приложениях. К примеру, можно все фотографии, добавленные вами в Инстаграм, дублировать в Твиттере, или сохранять полученные по почте файлы в Dropbox. Рецептов существует огромное количество, можно найти готовые в приложении, а можно создавать свои.

Погода

Теперь и у владельцев устройств на Android есть возможность использовать потрясающее погодное приложение от Yahoo! - Yahoo Погода . Его отличает один из самых красивых интерфейсов: к каждому городу и погоде подбираются прекрасные фотографии с Flickr. Помимо температуры воздуха, тут есть также анимированные данные о силе ветра, карта города, фаза луны и текущее положение солнца.

Удобный календарь

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

Организация времени

Еще одно полезное приложение, позволяющее распланировать и организовать ваше время. MyLifeOrganized станет вашим личным секретарём, который постоянно находится рядом с вами, ведет список дел и вовремя напоминает о необходимости их выполнения. Задачи можно объединять в группы и устанавливать зависимость реализации одних задач от исполнения других. Здесь есть даже возможность указать месторасположение, в котором должно сработать напоминание (к примеру, напомнить купить батарейки, когда вы будете в магазине).

Изучение новых слов

Линго Словарный Тренажер - это интересный и эффективный способ учить и повторять нужные слова на многих языках. В процессе обучения вы будете одновременно видеть карточку с изображением объекта, обозначающее его иностранное слово и сможете прослушать произношение. А когда вы снова увидите или даже просто подумаете об этом объекте, нужное слово всплывёт в памяти. Даже если изучение языка дается вам с трудом, этот метод поможет развить память.

Хранение личной информации

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

Тренировка для мозга

Приложение Lumosity создает тренировочную программу, бросающую вызов вашему мозгу. Тренируйте память и внимание при помощи увлекательных мини-игр. При этом ведется учет ваших результатов, что позволяет отслеживать свой прогресс со временем. Благодаря этому приложению гимнастика для ума превращается в ежедневную привычку, а не тягостную обязанность.

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

Переключение между задачами

Приложение Pintasking позволяет легко и удобно переключаться между различными запущенными программами в Android. Иногда мобильные устройства просто необходимо использовать в мультизадачном режиме. Благодаря этому приложению, вы сможете сворачивать окна в небольшие плавающие кнопки, а затем разворачивать нужное обратно. Попробуйте, такой способ гораздо удобнее, чем стандартное переключение между задачами.

Развлекательные задания

Если вам надоела ваша привычная рутинная жизнь, прикольное приложение Shuffle My Life поможет вам побороть скуку и привнести в каждый свой день немного спонтанности. Приложение будет предлагать вам выполнить одно из случайных заданий, которых в настоящее время уже более четырёхсот. К примеру, сделать фото пяти необычных предметов по пути на работу, прочитать новую книгу или написать речь на произвольную тему и записать ее на диктофон. Программа контролирует выполнение заданий, так что не пытайтесь схитрить.

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

Стоит ли делать свое мобильное приложение

Стоит. Если не верите на слово, вот несколько фактов:

  • По данным Flurry Analytics и comScore, владельцы смартфонов и планшетов пользуются браузером только 14 % от общего времени работы с девайсом. А 86 % времени они тратят на разные приложения.
  • Установленное приложение - ваш прямой канал связи с потребителем. Только подумайте: вам не нужно тратить деньги на рекламу или ждать, когда человек найдет вас с помощью «Яндекса». Остается поддерживать нужную пользователю функциональность и предоставлять ему релевантный контент.
  • Число покупок, сделанных с помощью планшетов и смартфонов, растет как в интернете в целом, так и в рунете. По информации маркетингового агентства Criteo , уже в 2016 году более половины онлайн-транзакций в рунете будут совершаться с помощью мобильных девайсов.

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

В таком случае, стоит ли рисковать и предлагать лояльным клиентам DIY-приложения, а не сделанные профессионалами штучные программы для Android и iOS? Давайте разбираться.

Когда можно создать приложение самостоятельно

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

Вы помните, когда бизнесу можно самостоятельно сделать сайт? Правильно, когда денег на сотрудничество с профессионалами еще нет, а время и желание разобраться с WordPress или «Джумлой» есть. Такая же ситуация с приложениями. Созданные самостоятельно программы для iOS и Android можно условно сравнить с сайтами на «движках» с открытым кодом.

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


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

  • Manual . Этот шаблон позволяет сделать программу-гайд.
  • Blog . Приложение поможет аудитории вашего блога читать новые заметки с экрана смартфона или планшета.
  • Website . Шаблон конвертирует в приложение сайт.
  • Pages . С помощью этого шаблона можно сконвертировать в приложение с простой функциональностью любой контент.
  • News . Шаблон позволяет создать приложение агрегатор отраслевых или региональных новостей.
  • Page . Шаблон конвертирует в приложение офлайн-контент, например, электронную книгу.
  • VK Page и Facebook Page . Создайте приложение, позволяющее следить за обновлениями открытых групп во «Вконтакте» и в Facebook.
  • YouTube . Используйте шаблон для продвижения своего канала на YouTube.

Как создать приложение для блога

Воспользуйтесь шаблоном Blog. В соответствующем поле укажите URL блога или RSS-канала. Выберите цвет заголовка заметок.


Укажите название приложения.


Добавьте описание.


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


Для создания загрузочного файла нажмите кнопку Create App. После этого необходимо зарегистрироваться в системе. Подтвердите регистрацию и перейдите в личный кабинет. Здесь вы можете установить приложение на свое мобильное устройство, опубликовать его в Google Play и Amazon App Store. Также система предлагает опцию монетизации. Если вы воспользуетесь этой функцией, в приложении будет отображаться реклама.


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

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

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


После редактирования контента укажите название приложения, добавьте описание и иконку. Нажмите кнопку Create App. После создания загрузочного файла установите его на мобильное устройство и проверьте работоспособность.

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


8 конструкторов аналогичных AppsGeyser

Если универсальный конструктор AppsGeyser вам не подошел, обратите внимание на аналогичные сервисы:

  • AppsMakerStore . С помощью сервиса можно создавать приложения разных типов: от программ для Ecommerce до решений для контент-проектов. Конструктор делает приложения для iOS и Android. Интерфейс сервиса русифицирован. Для новичков есть информативное руководство по использованию конструктора. Сервис платный.
  • . Бесплатный конструктор Android-приложений. Вы можете публиковать созданные программы в Google Play и монетизировать с помощью рекламы.
  • Appery . Платный конструктор для создания универсальных приложений. Вы можете оценить его функциональность, воспользовавшись бесплатным тестовым периодом доступа.
  • Good Barber . С помощью этого сервиса можно разрабатывать Android- и iOS-приложения. Конструктор платный, стоимость использования составляет 16 USD в месяц.

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

Конструкторы приложений: каменный топор или тонкий современный инструмент?

Не бросайтесь из крайности в крайность. С помощью предложенных сервисов действительно можно создавать работоспособные функциональные приложения. Полученные программы можно использовать для решения разных задач: от обеспечения онлайн-торговли до распространения контента и обучения аудитории. Созданные в конструкторе приложения можно опубликовать в Google Play и App Store, редактировать, монетизировать с помощью рекламы или платных установок.

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

Не стоит переоценивать предложенные сервисы. Их очевидным недостатком остается шаблонность. Речь идет как о дизайне, так и о функциональности программ. Кроме того, доступ к платформам с приличной функциональностью платный. Что лучше: один раз оплатить работу разработчиков или много лет платить владельцам конструктора? Считайте сами.

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

Свяжитесь с нами Обсудим? Закажите бесплатную консультацию

В этой статье я расскажу о том, что предлагает нам компания Microsoft в своем Lync SDK для создания «красивых» интерфейсов и новых возможностей для Lync-клиента. Так же подробно остановлюсь на взаимодействии с Lync клиентом в UI Suppression mode, с которым нам очень плотно пришлось иметь дело в процессе разработки собственного корпоративного мессенджера на базе Skype for Business. И, самое главное, постараюсь подробно описать, с какими ограничениями нам пришлось столкнуться.

С чего всё началось?

Весной 2014-го года в нашей компании родилась идея создать корпоративный мессенджер на основе Lync (теперь уже Skype for Business). Вернее, сначала речь о мессенджере не шла, мы просто дорабатывали Lync под себя для более эффективной работы. По сути, мы использовали Lync-клиент в «штатном режиме», а наше приложение было просто дополнением для него, которое управляло контактами. Оно позволяло удобно разместить свои избранные контакты по всей ширине экрана, что было удобно для работы на десктопах, предполагало быстрый доступ к контактам и упорядочивало их по группам. Приложение назвали EasyLy (от «Easy Lync») и распространили среди «своих».

Рисунок 1. Первая версия программы

Постепенно в приложение добавлялись новые функции. Например, переписываться можно было как из Lync, так и из EasyLy, причем в последнем сохранялась история переписки. И в один эпохальный день было принято решение отказаться от интерфейса Lync и реализовать весь его функционал самим, чтобы след Lync остался только в диспетчере задач. То есть мы решили сделать свой собственный, более удобный мессенджер для десктопов на базе Lync. И вроде бы всё начиналось хорошо.

Что мы хотели получить в итоге?

В начале одно из основных неудобств Lync для нас состояло в отсутствии более или менее адекватного механизма сохранения и просмотра истории бесед. Lync, конечно, сохраняет (по истечении определённого времени) свою историю в Outlook, но этим крайне неудобно пользоваться. Помимо этого, история может вообще не сохраниться, если, например, закрыть окно с беседой до того, как произойдёт сохранение.

Что касается usability, мы проповедовали концепцию «One click» для экономии времени пользователя и повышения эффективности его работы и пытались создать приложение максимально простое, понятное и удобное для офисного работника. Целевая группа, которую мы выделили для себя, – это не модные «мобильные сотрудники», бегающие со смартфоном по «полям», а настоящие офисные трудяги, работающие по 8 часов за большим монитором, где всё должно быть эргономично.

Кроме появившейся ранее вкладки «Избранное», появились идеи создать вкладки «Группы», «Диалоги», а также журнал звонков с комментариями, окно проведения онлайн-собраний, возможность отправить сообщение офлайн-абоненту, интеграция с календарями, OneDrive и много других интересных функций. Мы планировали, не отбрасывая имеющийся функционал Lync (а затем и Skype for Business), создать дополнительную ценность для пользователя за счет UI под десктопы, быстрого доступа к имеющимся функциям и создания нового корпоративного функционала.


Рисунок 2. Так выглядит EasyLy сейчас

Разработка

Первое, что было сделано – вкладка “Favorites”, где пользователь мог расположить все свои контакты, да еще и отсортировать их по группам.

Мы приступили к работе и реализовали данную идею без особых проблем с помощью Lync SDK 2013. Все контакты мы сделали в виде карточек, на которых можно посмотреть список собраний и встреч данного пользователя, а также позвонить ему (аудио- и видеозвонки) или написать сообщение. При клике на эти кнопки вызывалось стандартное окно беседы Lync.


Рисунок 3. Иконка контакта при наведении

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


Рисунок 4. Вкладка диалогов с включенным режимом мультичата

Начали мы, как полагается, с текстовых бесед. Все шло хорошо, но не очень быстро, потому что, помимо простой отправки и приёма сообщений, нужно было реализовать typing, смайлы, поддержку rtf-форматирования и т.д. Реализацию Lync IM Conversation можно взять отсюда .

Сохранение сообщений и записей о звонках мы реализовали на базе SQLite, которой пользователь может гибко управлять. Также мы внедрили поддержку одновременно нескольких открытых чатов (до 3-х) в одном окне, для еще более скоростного общения с сотрудниками.

Потом мы добавили поддержку аудио-, видеозвонков, шаринга экрана и приложений. Добавление в беседу поддержки Application Sharing пришлось реализовывать достаточно долго. В обычном режиме Lync показ экрана происходит в самой беседе, а в UI Suppression mode нужно все возможности шаринга реализовывать самому с помощью «линковского» контрола ApplicationSharingView, служащего для отображения расшариваемого ресурса, которому для работы нужен handle родительского окна.

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

Шаринг в Lync (в UI Suppression mode) – капризная вещь: любит часто отваливаться по неизвестным причинам, а при переходе на Skype for Business 2016 начал делать это почти постоянно. При просмотре шаринга часто появляется черный экран, и с этим ничего не сделать, так как воспроизведением занимается контрол ApplicationSharingView, про который написано выше. Также на удачный запуск шаринга сильно влияет скорость соединения.

Далее мы перешли к созданию последней вкладки – «Groups», которая бы грузила списки групп из Lync и предоставляла пользователю возможность их полностью редактировать и сортировать в нужном порядке. Данная вкладка должна была перерасти в корпоративную вкладку, в которой бы размещались уже предварительно созданные в Active Directory группы для сотрудников (в Lync они именуются Distribution Groups): например, «Заказать пропуск», «Написать заявление» и т.д. Участниками данных групп являются сотрудники, занимающиеся определёнными вопросами в компании. При нажатии на данную группу открывается чат или аудио звонок с первым участником группы со статусом «онлайн». Редактированием этих групп должен заниматься администратор Lync-сервера.

Конечно, в процессе реализации всех задуманных планов у нас возникали проблемы, которые мы периодически решали. Но была особая группа проблем, связанная с некорректной работой библиотеки Lync SDK в Lync Suppression mode. Мы отправляли их описание в Microsoft и думали, что сможем получить поддержку и найти способ решения.

Проблемы

Как неожиданно выяснилось, в UI Suppression mode пропадает интеграция с Outlook:
пропадают статусы контактов;
отсутствует возможность создать беседу из карточки контакта;
«отвалилась» кнопка «Создать собрание Skype».

Также заработали статусы контактов. Теперь Outlook их получает не от Lync, а от нашего приложения, но обновляет он их каким-то магическим образом, и они постоянно «отваливаются» и перестают синхронизироваться. То есть реально человек уже появился онлайн и «зелёный», а в Outlook – всё ещё в жёлтом статусе «Отошёл». Мы писали в поддержку Microsoft, на что они нам прислали ссылку на эту же статью. Писали также в Yammer Microsoft, на форумах MSDN, Reddit и других площадках… К сожалению, эта проблема так и не решена.

Проблема отвалившейся в Outlook кнопки «Создать собрание Skype» заключается в затирании в режиме UI Suppression mode ключей реестра по пути HCU/Software/Microsoft/Office/15.0/Lync/ConfAddin/мой sip/. Там представлены три ключа: Capabilities, InbandInfo, PublicMeeting. Когда Lync запущен в штатном режиме, при нажатии на кнопку «Создать собрание Skype» Outlook запрашивает у Lync информацию о конференциях, и уже Lync создаёт ключи реестра. В UI Suppresseion mode Lync этого делать не хочет. Средствами Lync SDK 2013 получить нужную информацию от Lync-сервера нельзя. Был найден выход: использовать другую SDK (https://msdn.microsoft.com/en-us/library/office/dn465943.aspx) для работы непосредственно с сервером. Через UCMA мы смогли получить от сервера информацию о конференциях авторизированного пользователя. Наполнили ключи реестра – и вуаля: в Outlook вернулась возможность создавать собрания. Но в этом способе есть несколько ограничений:
библиотека UCMA работает только на 64-разрядных ОС, на 32-битных – решения нет;
компьютер пользователя и сервер должны находиться в одном домене, в противном случае нужно создавать сертификаты на сервере для доверенных приложений. Как это делать, описано , но нам данное решение не подходит, так как мы должны реализовывать функционал только на стороне клиента.

Нашлись баги и в самом Lync SDK. Самый критичный: в видеобеседе p2p при добавлении 3-го участника падает сам Lync-клиент, стабильно. Майкрософт сам этот баг подтверждает, но сроков устранения не называет. Были попытки убивать беседу p2p и создавать сразу видеоконференцию на троих, но если 3-го участника добавляет клиент SFB, мы не можем этому помешать. Остановка и возобновление видеоканала тоже ни к чему не привели.

Также проявилась проблема невозможности расшарить экран некоторым пользователям (тем, у кого установлена другая версия Lync-клиента). Проявляется данная проблема следующим образом.

Первый клиент работает в нашем приложении (версия Lync – 2013), второй – в SFB 2016, и у него при открытии беседы с первым кнопка расшаривания экрана недоступна. Если первый клиент заходит в обычный Lync 2013 (не Suppression mode), то у второго кнопка шаринга становится активной. Если у второго установлен также Lync 2013 или наше приложение, шаринг доступен с обеих сторон.

В Lync SDK отсутствует callback о доставке сообщения пользователю. Есть только callback, что сообщение ушло. Но иногда может сложиться ситуация, что мы отправляем сообщение человеку в онлайн, оно уходит без exception, но к моменту прихода собеседник уже офлайн. Следовательно, отправляющий думает, что сообщение пришло, а это не так.

Часто возникает “ItemNotFoundException” при получении фото контактов, следовательно, приходится отображать наше стандартное изображение контакта. Эмпирическим путем мы нашли сколько раз (примерно 3) надо вызвать код получения фото, чтобы Lync его всё-таки вернул. Однако у некоторых контактов этот способ всё равно не срабатывает. Дополнительно мы ввели кэширование фото, чтобы при старте не сыпалась куча эксепшенов, если у пользователя добавлено много контактов.

Есть проблема и с группами пользователя, в частности с «Favorites group». Проблема заключается в том, что у некоторых пользователей при вызове CanInvoke(DeleteGroup) Lync возвращает true, хотя эта стандартная группа Lync, и её нельзя удалить. Тип у этой группы такой же, как и у группы, созданной пользователем (CustomGroup), поэтому скрывание пункта «Удалить группу» из меню приходится делать еще и по дополнительной проверке на имя группы, что является жёстким костылём.

Обнаружились ограничения Lync SDK 2013

Недоступна одна из важных фич: возможность настройки переадресации вызовов, когда пользователь находится в офлайн. Мы реализовали переадресацию по истечении определённого времени, но только если пользователь не в офлайн.
При групповом видеозвонке (3 и более участников) поток, который транслирует видео участников, остаётся один (аналог мобильных конференций), то есть Lync сам меняет видеопотоки от разных участников в зависимости от того, кто сейчас говорит в микрофон.
Передача файлов недоступна в UI Suppression mode. Мы решили эту проблему 2 способами:
-добавили передачу файлов через Outlook в виде аттача к письму;
-внедрили сервис OneDrive для загрузки файлов в облако и автоматической отправки сообщения с URL файла.
Нельзя использовать контекстные данные беседы (как это делать, описано здесь https://msdn.microsoft.com/en-us/library/office/jj933248.aspx?f=255&MSPPError=-2147217396), когда беседа конвертировалась в конференцию и стала существовать на сервере, а не локально. Мы хотели использовать эту возможность для синхронизации различной информации между клиентами.
Отключена возможность записи в поле «Subject» в конференции (причём и в обычном Lync), зачем-то в Lync 2013 они закрыли эту возможность. Человек на MSDN жаловался, что у него в Lync 2010 около 30 сохраненных конференций, каждая со своим заголовком. С переходом на Lync 2013 у него остались только списки участников в каждой конференции. Теперь отличить одну беседу от другой практически невозможно.
Еще одна особенность Lync SDK 2013 – поддержка клиентов, начиная с Lync 2013 и новее. Lync 2010 не поддерживается. Однако Lync SDK 2010 работает и с Lync 2010, и с Lync 2013, и выше. Какой логикой руководствуется Microsoft, неизвестно.

Заключение

В процессе разработки мы поняли, что полностью реализовать полноценный аналог Lync, основываясь на Lync SDK + UCMA, не получится. Даже если не брать в расчёт ограничения данных технологий, обидно, что мы не смогли получить поддержку от Microsoft по исправлению ошибок Lync SDK.

На сегодня мы вынуждены отказаться от UI Suppression mode, т.к. в нём невозможно реализовать весь нужный функционал, и ищем варианты обхода проявившихся проблем.

Материал: Вячеслав Нестеров

Теги:

  • Lync SDK
  • Lunc 2013
  • Skype for Business
Добавить метки

Загрузка...