Мы рады, что еще один пользователь Webix готов поделиться впечатлениями о нашем продукте.
Сегодня мы разговариваем с Андерсом Ренвалем. Андерс — опытный разработчик и программист, преданный своей работе. Он является генеральным директором и системным архитектором в компании EZEsystem(www.ezesys.com). Компания работает в сфере интернета вещей (IoT). EZEsystem разрабатывает аппаратные устройства, которые подключаеются к стандартным промышленным датчикам и оборудованию для отслеживания данных в реальном режиме времени.
Привет, Андерс! Приятно познакомиться. Расскажите, пожалуйста, о себе. Какова Ваша карьера в ИТ?
Привет! И я рад встрече. Мой интерес всегда был связан с разработкой распределенных систем, смешением реального оборудования с системами связи, управлением данными и обеспечением доступности этих сложных систем для широкой аудитории. Я проработал в индустрии электронной безопасности более 15 лет. Когда мир перешел от коммутируемых сервисов к постоянно работающему интернету, я пришел к разработке настольных компьютеров к облачным приложениям. Изначально браузерная поддержка сложного JavaScript была не очень хороша, поэтому я много занимался бэкэнд программированием. Примерно в 2006 году вышел jQuery, который стал триггером для меня, чтобы начать работать с фронт и бэкэндом в одном приложении.
Какие важные карьерные вехи Вы можете назвать?
Я горжусь тем, что моя компания EZEsystem растет и уже имеет тысячи активных систем по всему миру, контролирующих все: от нефтяных скважин и генераторных установок, до ирригационных ферм и систем очистки воды.
Еще одним достижением я считаю систему безопасности, над которой я работал в начале 2000-х годов, и которая до сих пор используется в миллионах домов в США.
И вот вам забавный случай. В середине 90-х с моим другом я ездил отдыхать в Испанию и Францию. На моей веб-странице мы размещали обновления в режиме реального времени с наших «мыльниц» Nokia через SMS. Т.е., мы «твитили» примерно за 10 лет до того, как был придуман Twitter!
Здорово! Чем занимается компания EZEsystem? Какова Ваша роль?
В 2009 году я основал EZEsystem с двумя партнерами. Я генеральный директор и системный архитектор.
EZEsystem предоставляет уникальную систему дистанционного мониторинга и управления распределенным оборудованием и механизмами. Калифорнийская компания была основана в 2009 году и теперь имеет тысячи систем по всему миру. В настоящее время запускается второе поколение системы ezeio, которая помогает нашим клиентам быстрее масштабироваться и повышать эффективность своей деятельности, экономя энергию, затраты на техническое обслуживание и имея лучшие данные для бизнес-аналитики. Новая система улучшила управление учетными записями и пользователями, картографические функции и вычислительные возможности.
Наш контроллер ezeio® — это аппаратное устройство, которое подключается к стандартным датчикам и оборудованию. Он взаимодействует через сотовые сети и управляется с облачного портала. Ezeio контролирует данные в режиме реального времени, выполняет функции дистанционного управления, сигнализации и автоматизации. Портал — с помощью платформы Webix UI Library — позволяет легко получить доступ к одному или тысячам полевых устройств для их настройки и управления.
Наша система достаточно экономична для простых применений, таких как контроль температуры, но в то же время настолько мощна, что ее можно использовать вместо промышленных контроллеров (ПЛК) для запуска сложных процессов с полным удаленным доступом как к данным, так и к конфигурации.
У Вас крупная компания?
Мы — небольшая команда. Нас всего трое. Могу назвать себя самым опытным сотрудником. Я работаю с Webix каждый день, но не только с ним. Среди нас есть специалист по UI, он работает только с Webix. Еще один человек находится в бэкэнде, он также касается Webix в своей работе. Таким образом, наша компания – это три разработчика.
Давайте поговорим подробнее о Вашем продукте. Почему Вы решили его развивать?
После многих лет работы над системами безопасности я хотел создать что-то более интерактивное. Система безопасности обычно молчит до тех пор, пока не возникает проблема, о которой нужно сообщить. С помощью подобных технологий я увидел возможность сделать что-то, с чем хотелось бы взаимодействовать, а не надеяться, чтобы оно никогда не сработало.
Наша система уникальна, так как она многоцелевая. Система конкурентоспособна как по функциональности, так и по цене. Большинство систем удаленного управления являются либо одноцелевыми, либо требуют значительной адаптации или масштабной настройки. Наша система работает «из коробки» и может быть легко принята широким спектром отраслей промышленности и приложений.
В самом начале это было устройство, которое подключалось к электрическим счетчикам, контролировало потребление электроэнергии и создавало простые отчеты. Позже мы поняли, что можем сделать больше, чем просто контроль энергии. Мы начали отслеживать и другие вещи: потоки и уровни для водного хозяйства, а также сельское хозяйство, нефте- и газооборудование. Мы также стали управлять оборудованием, смогли получать данные, посылать команды и обновлять логику в блоках. Постепенно компания расцвела, мы выросли до 4-5 человек.
Около 3 лет назад мы поняли, что наша платформа нуждается в обновлении. Нам нужно было что-то более современное и способное. Я хотел быстро обновить функциональность. Искал что-то с коротким сроком обучения, чтобы иметь возможность быстро создавать прототипы различных UI элементов. Именно тогда мне встретился Webix, и я в нем сразу разобрался. Это как jQuery+++! Я стал работать очень быстро! Это был мой стимул. Очевидно, что мы — облачная система, но я хотел, чтобы она выглядела как настольное приложение. С Webix все было одним большим JS файлом. Я загрузил его и обнаружил все необходимые ресурсы. Мне удалось быстро войти в курс дела, начать создавать формы, окружения и навигацию внутри системы. Так что для нас Webix вне конкуренции.
Много ли у Вас конкурентов?
Мы работаем в пространстве Интернета вещей, что само по себе является массовым рынком. В нем много сегментов. Многие решения являются специфичными для конкретного применения. Одна часть — это индустрия индивидуальных решений. Например, сигнализация холодильника. Они следят только за холодильниками, не делают никакого контроля или автоматизации. С другой стороны, такие гиганты, как Schneider Electric или Siemens, предлагают консультационные услуги. Они уточняют потребности своих клиентов и начинают совершенно новый продукт с нуля.
Мы находимся где-то посередине. У нас есть стандартное оборудование, совместимое с другими устройствами. Пользователи нашего продукта настраивают все в бэкэнде. Они сами управляют пользовательским интерфейсом. Наша ответственность — это безопасность, хранение данных и коммуникационная сторона. Таким образом, мы отличаемся от традиционного представителя Интернета вещей, поскольку мы не специализируемся на конкретных приложениях и не основываемся на консультациях. Наш типичный клиент — это компания среднего размера, где-то от 20 до 2000 человек; недостаточно большая, чтобы разработать собственное решение для Интернета вещей, но нуждающаяся в чем-то для работы со своим оборудованием. Вот тут-то и появляется наш продукт.
Как вы думаете, что должно быть у Webix, чтобы привлечь разработчиков Интернета вещей?
Хорошо то, что Webix предлагает пакет на стороне клиента. Нет никакой путаницы между бэк и фронтэндом. Мне это очень нравится. Webix утверждает, что jQuery необходим для работы. Но что я заметил, так это то, что Webix заменяет jQuery.
Однако есть кое-что, что я хотел бы сделать лучше в библиотеке. Я говорю о селекторах. Например, в jQuery можно выбрать элементы управления, основанные на CSS стиле или тегах. Иногда мне не хватает этой функции в Webix. Селекторы в jQuery очень мощные.
Интернет вещей — это облачное хранение, и тут Webix подходит на 100%. Некоторые решения имеют встроенный в аппаратное обеспечение веб сервер. Я не знаю, будет ли так работать лицензионный модуль Webix. Но это может быть что-то, о чем стоит подумать, если Вы захотите продать Webix, который будет работать на чужом оборудовании.
Каковы планы Вашей компании на будущее?
Мы фокусируемся на новых функциях, возможностях отчетности и аналитики нашего портала. Поскольку аппаратное и микропрограммное обеспечение теперь стабильно и находится в полном производстве, мы можем сосредоточиться на функциях программного обеспечения. Наш следующий крупный проект — это некая форма настраиваемого генератора отчетов. Мы рассматриваем возможность использования панели инструментов в серверном процессе и подачи ее через генератор PDF.
Как вы узнали о Webix?
Ну, я поздно вечером гуглил и наткнулся на него. Это была случайная находка. Я начал экспериментировать с Webix для прототипирования нашей системы второго поколения, которая полностью переписана с предыдущей системы. Наш ведущий разработчик программного обеспечения сравнил Webix с KendoUI и Extjs, и мы выбрали Webix, поскольку обучение у Вас намного быстрее, чем, например, у Extjs.
Команда Webix постоянно улучшает свой продукт, поэтому любая обратная связь от клиентов очень ценна для нас. Можете ли вы упомянуть какие-либо трудности, возникшие во время работы с Webix?
За те три года, что мы используем Webix, было несколько незначительных ошибок. Например, прокрутка не работала так, как мы предполагали. Но обычно мы находим обходные пути.
Одна вещь, которую я бы упомянул, — это несоответствие между пакетами JS и CSS. Особенно когда мы использовали конструктор скинов. Наша идея состояла в том, чтобы использовать конструктор для быстрого ребрендинга пользовательского интерфейса для различных клиентов. Например, немного изменить цвета или логотип. Мы являемся облачным решением, поэтому у нас только одна платформа. Но в зависимости от того, кто входит в систему, мы хотели бы все немного кастомизировать. Мы подумали, что могли бы использовать конструктор скинов, чтобы придумать шаблоны для клиентов или даже позволить им создавать свои собственные схемы. Когда пакет JS был обновлен, конструктор не следовал за ним одновременно. В некоторых моментах между ними возникал конфликт. Но похоже, что вы с этим разобрались, потому что больше таких несоответствий не возникало. Это была, вероятно, самая большая проблема, которая у нас когда-либо возникла с Webix.
Вы сообщали об ошибках в нашу службу поддержки?
Мы использовали форум для незначительных вопросов. И я должен сказать, что на форуме всегда есть кто-то, кто может помочь, либо из команды Webix, либо просто пользователь с форума. Поэтому форум очень активен и чрезвычайно ценен. Там много информации, и это, несомненно, большой плюс. Кроме того, я пользовался системой тикетов один или два раза и также получил там хорошие ответы.
Вы использовали какие-нибудь комплексные виджеты? Например, Kanban, Pivot, Spreadsheets?
Наш UI очень тяжеловесен. Мы используем его в качестве инструмента управления и настройки аппаратного обеспечения. Аппаратное обеспечение диктует, что делает продукт. Клиенты покупают небольшую коробку и подключают ее к своему оборудованию. Таким образом, коробка имеет десятки тысяч конфигурационных точек. Там есть много вещей, которые можно настроить и запрограммировать. Таким образом, наш продукт тяжеловесен из-за элементов управления формой. Мы используем все: от кнопок, до некоторых графических элементов, таких как спарклайны, чтобы проиллюстрировать данные. Все интерактивно и обновляется в фоновом режиме. Когда что-то меняется в поле, вы видите изменения в UI. Самый сложный виджет, который мы используем, — это функция dashboard. Мы строим все вокруг панелей. Таким образом, мы можем подключить любое приложение. Мы пока не начали использовать комплексные виджеты, но они определенно однажды нам пригодятся.
Наша команда сейчас в поиске новых идей. Может быть, Вы можете подсказать, как нам улучшить Webix?
Да, кое-что нам бы пригодилось. Нам нужно построить генератор отчетов. У нас уже есть комплексная панель мониторинга с возможностью встроить в нее любой функционал. И теперь мы ищем различные способы создать статический отчет, запустить его на стороне сервера и сгенерировать из него PDF-файлы. Некоторая поддержка для генерации отчетов была бы полезна для нас. Я даже могу попросить своих коллег поделиться идеями на этот счет.
Это было бы очень полезно! Используете ли Вы другие UI библиотеки внутри решения?
Мы используем Google maps для определения местоположения. Мы также используем редактор ACE и другие графические библиотеки, чтобы сделать элементы более интерактивными, увеличить и уменьшить масштаб, быстрее обрабатывать большее количество точек. Мы хотели бы иметь более настраиваемые gage контролы. Gage в Webix очень прост. Нет возможности большого контроля над тем, как добавлять метки, отмечать метки или ставить цифры. Мы используем более настраиваемый gage контрол. Мы хотим иметь текст и цифры, контролировать, перемещаются ли они из стороны в сторону, поворачивать, крутить, делать линейными. Нам не хватает этих функций в Webix. Не получилось создать график, который в интерактивном режиме загружал бы больше данных во время перемещения.
Вы используете Webix Jet?
Мне легко работать с json напрямую, и мне больше ничего не нужно.
Мне кажется, у нас получилась интересная беседа. Спасибо, что уделили нам время. Хорошего дня!