Трибуна
Ilya Pokidov
1571

WebViewer - сервис удаленной поддержки пользователей

Сейчас уже никого не удивишь тем, что к любому компьютеру можно удалённо подключаться и запускать на нём программы, просматривать почту и делать любую другую работу. Для этого всего-то нужно установить небольшую бесплатную программу TeamViewer, AmmyyAdmin.

В закладки

А что делать если нужно получить доступ только к экрану пользователя, когда он работает в вашем веб-сервисе/на сайте?

Всем привет, меня зовут Илья. Я хочу вам рассказать историю создания сервиса Web Viewer.

Идея

Идея лежала на поверхности, все больше компаний делают свои системы в виде веб-сервиса (CRM, BPM и т.д.). Работая в таких системах пользователь использует обычный веб-браузер. Как всегда, в сложных системах у пользователя могут возникнуть трудности и нужно срочно ему помочь. Конечно же есть службы поддержки и они придут на помощь, но бывает так, что без просмотра экрана пользователя сотрудник поддержки не может определить ошибку и подсказать как ее устранить. Пользователь должен сделать скриншот экран или фото и выслать в службу поддержки, а на это уходит время и для пользователю приходится делать лишние действия.

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

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

Реализация

Изучив существующие библиотеки решили делать облачное решение и пропускать трафик через свой сервис. Почему? Цель была сделать сервис, который будет работать в любом браузере. Вы не можете заставить пользователя заходить в ваш сервис используя только IE или Chrome.

Так получился сервис Web Viewer (https://1webviewer.com).

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

Конечному клиенту не надо ничего устанавливать - это является одним из ключевых достоинств сервиса Web Viewer.

Пользовательский сценарий в сервисе не отличается от использования других систем удаленного доступа. Пользователь сообщает сотруднику поддержки уникальный 6-ти значный код и сотрудник вводит его на специальной странице на сайте Web Viewer.

Прервать сессию может пользователь самостоятельно или же сотрудник поддержки.

Техническая реализация следующая:

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

- На сервере хранится только последний снимок экрана, который удаляется при завершении сессии.

Такая реализация уступает в скорости WebRTC, но позволяет работать с любыми современными веб-браузерами.

Планы

В ближайшее время мы все же покажем второй вариант WV с использованием WebRTC.

Также в декабре планируем разместить информацию о проекте на producthunt и посмотреть как примут сервис разработчики.

Итог

Совсем забыл написать, сервис WebViewer бесплатный и с открытым кодом.

Пишите комментарии и пожелания, нам важно знать ваше мнение.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Ilya Pokidov", "author_type": "self", "tags": [], "comments": 29, "likes": 13, "favorites": 39, "is_advertisement": false, "subsite_label": "tribuna", "id": 94184, "is_wide": false, "is_ugc": true, "date": "Sun, 24 Nov 2019 23:21:01 +0300", "is_special": false }
0
{ "id": 94184, "author_id": 28622, "diff_limit": 1000, "urls": {"diff":"\/comments\/94184\/get","add":"\/comments\/94184\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/94184"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199116, "last_count_and_date": null }
29 комментариев
Популярные
По порядку
Написать комментарий...
1

Мне кажется, или проблема выдуманная? В реальности сложно представить за последние 10 лет, чтобы данная функция реально бы была кому-то нужна. Да и пользователю так же придётся писать в поддержку, объяснять проблему и тратить время + ещё давать доступ не пойми кому. Все это решается единой базой знаний и активным чатом поддержки, по мне этот инструмент - лишний костыль. Пользователь так же не обучается самостоятельно и постоянно будет писать по любым проблемам. Вообще идеальный проект тот, где не требуется активный саппорт. Лень писать остальные доводы, надеюсь дополнят. Но в целом удачи!

Ответить
2

быть может слегка не в кассу, но будь проблема "выдуманной" TeamViewer не оценили бы в 5 млрд.

Ответить
0

Подобного рода оценки не имеют никакого отношения к проблемам. Какие проблемы решает Фейсбук? Проблемы отсутствия котиков и мимимишек? Да бросьте.

Ответить
0

А, ну ясно, не стоило делать TeamViewer.
Напишите основателю, пусть удолит.

Ответить
0

фейсбук решает проблему быстрого доступа к дешевому эндорфину

Ответить
0

Причем тут TeamViewer?
Тимвивер - офисное средство администрирования. Эникейщик на удаленке, админы на аутсорсе, мелкие филиалы по всей стране - вот сфера тимвивера, а данный сервис нацелен на взаимодействие со сторонним потребителем.

Ответить
1

А что делать если нужно получить доступ только к экрану пользователя

Наверное дать доступ в режиме "View Only"

решили … пропускать трафик через свой сервис

Ыыыы смешно )))

Ответить
2

Пользователь должен установить у себя TeamViewer, чтобы дать доступ даже на View Only, а тут ничего устанавливать не нужно.
И второе, в Web Viewer можно ограничить просмотр только теми страницами, на которых будет размещен код. Например, в сервисе есть экраны, где пользователь вводит данные своей банковской карты и можно данный экран не транслировать поддержке, просто не добавляя в него код, а TeamViewer будет показывать все.

Ответить
0

Известен ли Вам сервис me-talk? Онлайн-поддержка, с возможностью оператора видеть экран пользователя. Указателем можно показать ему нужную ссылку или место на сайте или взять на себя управление за пользователя, открыв ему нужную страницу сайта.

Ответить
0

Не слышал о таком. Это сервис комплексной поддержки пользователя на сайте, а наш предназначен только для просмотра. 
Мы специально не стали делать возможность управления за пользователя и оставили только просмотр.

Ответить
0

Тогда я не понял алгоритм работы вашего сервиса. Каким способом клиент должен сообщить поддержке, что ему нужна помощь? 

Ответить
0

WV -это сервис для поддержки, чтобы сотрудник в случае необходимости смог увидеть экран клиента.

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

Ответить
2

Это уже давно делается через Скайп

Ответить
0

Если говорить про скайп+ расшаривание экрана, то это примерно тоже что и использовать TeamViewer, нужно установить у клиента скайп.
 

Ответить
0

У вас даже Privacy / Terms нет, и адреса юридического нет, один только email для связи (ищи свищи).

О чём вы вообще? 

Кто вам доверит 
пропускать трафик через свой сервис

Ответить
0

Решение открытое. 
Также будет WebRTC и там трафик p-to-p

Ответить
1

С одной стороны - вроде как классный проект. Отдельный респект вам за то что опенсорс.
Но с другой стороны - все же непонятна ЦА.
 все больше компаний делают свои системы в виде веб-сервиса (CRM, BPM и т.д.). Работая в таких системах пользователь использует обычный веб-браузер.

Тут речь вроде о пользователях-сотрудниках компании, которые должны получать поддержку от админов компании - если админ не может подойти, то у них все равно уже стоит TeamViewer.

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

Ответить
0

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

Может быть кто-то скажет, что такие ситуации единичны, но к сожалению это не так.

Ответить
0

Ну я ответил на эти кейсы - в первом случае - с большой вероятностью уже итак стоит TeamViewer, и в любом случае - немногие фирмы захотят прогонять локальный корп трафик через внешний сервис. Да и внутренний софт у многих на локальном домене, кстати ваш сервис работает с локальными доменами?
Во втором случае - если клиент не может завершить заявку, он завершает ее на сайте конкурента. Если возникла ошибка в процессе оформления кредита/страховки, то мне в течении пары минут должен перезвонить оператор с извинениями за ошибку и оформить заявку по телефону. Если же компания не в состоянии сделать такую простую вещь - как я могу им доверить страхование своего имущества?
P.S. Надеюсь что я не прав, и у вас все получится )

Ответить
0

В случае с локальным трафиком можно сервис развернуть на оборудовании клиента. Это не проблема.

Ответить
0

Это понятно, но будет ли это для стандартного администратора проще чем поставить TeamViewer?

Ответить
0

Посмотрим. Спасибо за комментарии.

Ответить
0

Не понимаю как вообще можно доверять сторонней компании управление твоими данными. Я про Teamviewer. После того китайского взлома 2016 года использование подобного сервиса является попросту опасным

Ответить
0

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

Ответить
2

Простите, но если интернет магазин позволяет положить в корзину больше товаров, чем есть в наличии - то это не пользователи тупят, это ваши разработчики тупят.

Ответить
0

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

Ответить
1

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

Ответить
0

Интересный проект, растущий рынок. Пишите, если нужна помощь с запуском на PH. Также могу подарить вам годовую подписку на свой конструктор сайтов.

Ответить
0

Помощь точно нужна. Можешь свои контакты выслать на info@1webviewer.com или в fb напишу тебе

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }