Дмитрий Костик основатель украинской компании Kodisoft поделился опытом разработки интерактивной ресторанной инфраструктуры нового поколения, включающей уникальный стол-планшет разрешения 4k.
Каким образом пришла мысль заняться интерактивными технологиями для ресторанов?
Ресторанный бизнес — это достаточно консервативный рынок, и нам захотелось его поменять. На самом деле мы и искали отрасль на пересечении с ИТ, в которой можно сделать что-то значимое. Так выбор пал на ресторанную сферу. Ну а дальше творческий процесс: начали думать, что и как, проводили исследования, делали аудит, вникали в рынки разных стран – делали решения на планшетах и на смартфонах, но первый, настоящий пилот сделали только спустя 2 года. Это был ресторан на Кипре, где вместо тач сенсоров использовали Kinect над столом + ультразвуковые локаторы и TOF камеры – все это позволило открыть ресторан, изучить, чего хотят люди, как управлять рестораном и какие процессы это затрагивает, а также определиться с бизнес моделью. Только подумать, в мае этого года ресторану будет 5 лет! И, к слову, мы ни разу не летали на обслуживание, и не поменяли ни одного стола. Стабильность!
Вас пока скорее можно назвать стартапом. При этом у вас не только разработка ПО, но уже и свое R&D. Расскажите, с чего все началось.
Да, мы стартап, еще не взявший даже seed инвестиций. Как-то давно, еще на первых проектах я понял, что, делая хороший продукт, нужно самому делать всё, от начало до конца – только так можно контролировать весь процесс и не подстраиваться под чье-то железо, или корпус, или формат, а главное, что помимо контроля это обеспечивает свободу – а для меня это главное. Так же случилось и с этим проектом – когда мы начинали, технологии тач экранов, который бы работал через стекло толщиной хотя бы 8 мм не существовало, а идти на компромисс – а-ля ИК-рамка, или проектор снизу и камера, мне не хотелось. Решили, что поверхность должна быть сплошным стеклом, а изображение ярким и контрастным – т.е. LCD панель, а не проектор и обязательно хорошего разрешения. Последние 4 года мы используем только 4к UltraHD панели. Ну вот так, шаг за шагом, за 4 года разработали новый принцип тач-экрана, который способен работать через стекло до 25 мм и поддерживает более 1000 одновременный касаний, да еще и как бонус получили возможность определения силы нажатия и формы объекта, а также довели время реакции до 1.38 мс.
Из каких компонентов состоит ваш ресторанный комплекс устройств?
Прежде всего это столы, стол – это доступ ко всему, это и мебель и интерфейс взаимодействия ресторана и пользователя, и развлечения, и заказ и элемент совместного взаимодействия посетителей. Кроме стола есть еще сетевое оборудование, локальный сервер – как прокси, и облако. У менеджера есть админка, и управление контентом, а у администратора ресторана – аналитика и ERP.
А почему именно стол, а не просто планшет. Чем стол удобнее?
С планшетов мы и начали – помню, тогда был на них бум в ресторанах с США – а посмотрите, что сейчас? Почти все компании позакрывались. Да и понятно почему, мы тогда провели исследование и заметили, что люди берут планшет, делают заказ и убирают его. А стол – он всегда с вами, его нельзя отложить. Да и опыт другой. На столе можно складывать всем вместе пазл, или фотки расшаривать, а планшет – это индивидуальная вещь. Ну и вдогонку: во времена, когда у всех есть планшеты и смартфоны, еще один ресторанный не хочется брать в руки – он обычно в резиновом чехле, потертый, весь в отпечатках и люди брезгуют.
Наверное, всех посетителей интересует вопрос: были ли случаи, что стол разбивался? Ведь это все-таки стекло.
Скорее не посетителей, а рестораторов – все 100% это спрашивают, и мы все годы рассказываем что все будет ок. А вот мы решили снять видео, чтобы было проще показать – (видео смотрите ниже). На самом деле с момента открытия первого ресторана, а это уже почти 5 лет, мы не заменили и не чинили ни один стол! Я считаю, это доказательство качества нашего продукта.
Скажите честно, недостатки у стола ведь тоже есть? Какие?
Если говорить про текущее исполнение, то главный недостаток — это цена. Так как мы перешли на 4к графику на частоте 60Hz, нужно и железо соответствующее, небюджетное: это и мощный процессор, и два слота графики, и SSD высокоскоростной PCI-E, да контроллер матрицы, который протащит это все на LVDS скоростью 36 Гб/с. Но самый дорогой элемент — это экран, обычную матрицу 4к (как в телевизорах) взять нельзя, структура пикселя и подложки такова, что если его перевернуть в горизонтальную плоскость, то пиксели начинают через пару месяцев стекать – вы наверняка в ТРЦ или аэропортах видели подобное, если кто-то хотел сэкономить на экране и вместо индустриального дисплея взяли телевизор и повернули на 90 градусов – пиксели вытекают в течении полугода. А в случае стола – это горизонтальное исполнение, поэтому подложка должна быть с четырех сторон, ну или менять панели раз в 3 месяца… Вот и получается кругленькая цифра.
С какими трудностями вы столкнулись при разработке и производстве интерактивного стола?
Самое трудное — обеспечить ощущение и юзабилити от стола не хуже, чем люди привыкли ожидать от iPad или iPhone. Вы наверняка видели много сенсорных киосков, и, наверное, каждый раз задавались вопросов – почему все так тормозит? Но нам удалось решить эту задачку, и время реакции у нас в 4 раза быстрее, чем на iPad. В качестве бонуса могу показать технический обзор нашей тач технологии. Ну и потом строительство своего производства. Когда ты придумываешь новую технологию, под нее нет готового тех. процесса, и ты не можешь отдать производство на аутсорс, т.к. ни у кого нет оборудования для того, что ты придумал и пришлось изобретать не только технологию, но еще и потом проектировать станки и машины, которые производят материал и тач поверхность. Но это крайне увлекательно.
Что касается софтверной части, то тут было вызовов не меньше, прежде всего из-за нашего желания выводить изображение в 4к разрешении, а всё другое просто отвратительно смотрится с расстояния 30 см от глаз до поверхности стола. Это было в 2011 году когда 4к не поддерживала ни одна ОС, кроме Windows, даже на уровне драйверов, а у Windows 7 все сильно тормозило и не хотело работать как нужно. Поэтому сперва мы начали переписывать композитор Windows, он же DWM Core – то, что сейчас называется Direct Composition в Windows 8.1 / 10. Так как каждый второй call падает на вызов метода ядра, пришлось брать ОС Windows Embedded (сейчас это называется Windows IoT). Ну и потихоньку писали свой композитор и понемногу добавляли куски поддержки разных платформ, сначала сделали поддержку DirectX приложений, за ними WPF, там рендеринг, в конечном итоге, на DirectX, затем добавили HTML5 на базе Хромиума и в конце Unity3D.
Помню, как получили предрелизные девелоперские семплы процессоров Haswell и наивно пытались еще на встроенной графике запустить 4к интерфейс с 12-ю запущенными одновременно приложениями. И знаете что? Мы все же запустили! Правда, более упрощённую версию интерфейса на 30Hz развертке, но все же на 4k разрешении. Сейчас же пытаемся с дискретной графики портировать на графику, встроенную в процессоры Intel 6-го поколения и добиться 60Hz при тех же 4к. Звучит как вызов… Ждем предрелизных семплов графики Iris Pro 580 GTXe4.
Расскажите более подробно о разработке программных компонент стола. Насколько глубоко была затронута исходная ОС?
Драйвера нам переписывать не пришлось. Проблемы текущего композитора – он тормозит на разрешении 4к, но тут можно оптимизировать и мириться с низким FPS, но есть и вторая проблема: Windows рисует окна только на рабочем столе, а нам надо их переворачивать и трансформировать. Поэтому пришлось переписать большую часть DWM и Composition Core – это два компонента, которые как раз отвечают за окна и отрисовку. Если более детально, то это более 20 тысяч строк рода на С++ и несколько патчей стандартных библиотек, в одном из которых метод отрисовки написан на ассемблере и занимает 11232 команды ASM.
Дальнейшее ускорение достигнуто за счет удаления из ОС всего лишнего: теней, кнопок, заголовков, анимации, ну и, самое важное, не нужной перерисовки всех окон, как это делает по умолчанию Windows. Оставили только нужные нам регионы. Была еще мысль использовать недокументированные особенности Windows, но по этическим соображениям и лицензии Microsoft мы не имеем права этого делать.
В результате на 4k разрешении при запущенных 8 приложениях (это наш минимум на столе) мы получили стабильные 60FPS. Если просто запустить то же самое на некастомизированной Windows, будет порядка 18 FPS. На мой взгляд, это очень круто.
Где производятся столы и какие компоненты в них используются? Почему были выбраны именно они?
У нас линия в Киеве, Украина. Контроллеры, тач, процессинг – это все нашего производства, от проектирования схемотехники и печатных плат до сборки. Из стороннего мы используем лишь вентиляторы, крепления, часть механики и провода. Стекло тоже не наше, но, к счастью, под Киевом очень много стекольных комбинатов, поэтому работы по стеклу мы аутсорсим. Еще это компьютерная периферия – ну, тут полный фарш, и он обоснован опять-таки соображениями производительности, чтобы все летало, а не изящно тормозило. Сейчас это процессор Intel 6-го поколения Core i7, на нем всё крутится. Его графическую подсистему используем не как графику, а как вычислительные ядра на OpenCL – там у нас процессинг, обработка матриц и карт глубины. Дальше, SSD веник – очень шустрый для доступа к 4к контенту без тормозов, 8 Гб оперативной памяти и пара видеокарточек GTX970.
Как решается вопрос охлаждения внутренних компонентов стола? Тепла там, думается, выделяется много. И еще, как у стола с энергопотреблением?
Часть охлаждения сделано водяным, а, потом, выдув из ножки стола в стороны и подсос из столешницы – получаем естественную конвекцию воздуха. Что же касается потребления, то все компьютерные вендоры помешаны на энергоэфективности, поэтому столы потребляют немного – 230-260 ватт.
Какие планы по открытию новых ресторанов с вашим оборудованием?
Глобальные. Тут рынок подскажет и направит. Есть ряд контрактов, но сейчас не хочу раскрывать незавершенные дела и проекты.
Источник: блог компании Intel
Читайте наш канал в
Telegram
:
узнавайте о главных новостях дня первыми.