DOU Labs: як у Symphony Solutions розробили віртуальну хостес
У рубриці DOU Labs ми запрошуємо IT-компанії ділитись досвідом власних цікавих розробок та внутрішніх технологічних ініціатив. Питання і заявки на участь надсилайте на Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. .
Віртуальні помічники стали звичним атрибутом повсякденного життя сучасної людини. Завдяки їм ми дізнаємося про погоду, маршрут, найактуальніші новини та найближчі кав’ярні. У Symphony Solutions ми вирішили додати технологіям трохи душі і створили віртуальну хостес, яка піднімає настрій працівникам та гостям офісу через персоналізовані привітання та побажання. Як координатор проекту, у цій статті я розповім про розробку нашої 3D-голограми.
Ідея
Ідея створити 3D-голограму, яка б вітала працівників та гостей на вході в офіс виникла доволі спонтанно. Початкова задумка була у візуалізації звичайної псевдоголограми, але після декількох сесій брейнстормінгу ми придумали декілька рішень з софтовою частиною. Зараз софт є основною цінністю проекту.
Symphony Solutions позиціонує себе як компанія, орієнтована на потреби колег, тому рішення демонструвати привітність з порогу чудово вписувалося в корпоративну культуру.
Вхід у офіс здійснюється через турнікет за допомогою персональних
Розробка
Основний кістяк команди складався з п’яти людей: я (менеджер і контент-мейкер), Валентина Синенька (Product Owner), Гліб Малиновський (.NET девелопер) та Юрій Дружинін, який консультував нас щодо hardware-частини. На різних етапах роботи ми також залучали інших спеціалістів. Зокрема, величезний внесок зробили наші викладачки англійської мови, які стали голосом та обличчям Symphie. Цей проект став для них великим випробуванням, адже професійні диктори роками навчаються працювати з дикцією та інтонаціями, а нашим дівчатам довелося опанувати це вміння за декілька тижнів. Їхні зусилля були більш ніж виправданими, бо знайомі обличчя та голоси зробили голограму більш «своєю» для працівників.
Процес розробки складався з двох основних частин — побудови фізичного «тіла» Symphie та програмування її «розуму». Ми розгорнули ці два процеси одночасно, щоб встигнути представити голограму на літньому корпоративі, тематикою якого була віртуальна реальність та технологічні новинки. Від початку роботи до релізу демоверсії пройшло близько півроку, адже всі ми залучені й на інших, комерційних проектах.
Найбільшим випробуванням виявилося створення фізичної оболонки. Голограма знаходиться у невеликому передпокої. Тому для якісного відтворення звуку та зображення необхідно було враховувати розмір та акустику навколишнього простору.
Перші макети конструкції робили в 3D Studio Max. Першу тестову акрилову піраміду склеїли самостійно, щоб протестувати кут відбивання. Коли вдалося добитися чіткого зображення у тестовій піраміді, ми створили конструкцію з екраном, схожу до тієї, яка є зараз. Було вирішено віддати створення фінальної моделі на аутсорс, адже це фактично «обличчя» компанії й ми хотіли, щоб воно мало гарний вигляд.
Попри сформоване технічне завдання було важко знайти виробника, який би взявся за виконання такого замовлення. Уже в процесі доводилося змиритися з відтермінуванням здачі конструкції, вносити правки та змінювати підрядників.
Програма Symphie складається з двох частин — програма для програвання файлів (Player Application) та адміністрування файлів (Admin Application). Обидві написані на .NET.
Admin Application створена для менеджменту контенту та налаштування параметрів. Вона складається з UI частини та фізичної бази даних для зберігання відеофайлів. Admin Application спілкується з базою даних турнікету а також із сервісом внутрішньої системи ERP. Структура файлів є досить складною. Стандартні файли програються для всіх
Player Application відповідає за програвання конкретного відеоповідомлення при активації турнікету. Через бекенд-частину програма отримує файл для відтворення. Коли працівник «пропікує» картку, програма бере з бази даних турнікету тип події (вхід чи вихід з офісу). Коли тип події встановлений, програма зчитує дані про власника
Загалом існує три параметри, які відповідають за вибір потрібних файлів: тип події (вхід, вихід), час дня (ніч, ранок, день, вечір) і особистий код картки користувача, яка прив’язана до його профілю у внутрішній ERP-систем. В ERP зберігається інформація про день народження, відпустку, відрядження, лікарняний тощо. Додатково враховується час дії. Тобто, якщо для ранку задані часові параметри з 7:00 до 10:00, то всі події у цьому часовому проміжку за замовчуванням вважаються ранковими.
Наразі Symphie знає близько 560 фраз, проте її словник збагачується новими привітаннями.
Результат
Наразі нам вдалося розробити голограму зі спроектованим зображенням, яка вітає гостей у львівському офісі Symphony Solutions. Symphie було представлено як нового працівника компанії. До речі, ім’я для неї обирали самі симфонійці, які позитивно сприйняли ідею віртуальної хостес.
Внутрішнє опитування, показало, що 80% респондентів подобається голограма, тому ми почали роботу над Symphie 2.0, яка зустрічатиме гостей у македонському та польських офісах Symphony Solutions. Оскільки ми хочемо покращити функціонал, а не просто скопіювати наявну архітектуру та логіку, то роботи буде багато. Зокрема, плануємо зробити веб-версію Symphie, перевести проект з .NET на Java, запровадити систему привітань не лише для працівників, але й інших відвідувачів (клієнтів, гостей, потенційних кандидатів).
Symphie вже встигла зацікавити клієнтів Symphony, що є для нас додатковим мотиватором для покращення наявного функціоналу та розробки нових фіч. Одним із найбільших викликів знову є фізичне представлення голограми. Ми постійно працюємо над покращенням візуальної частини, щоб зробити Symphie ще ближчою та привітнішою.