Как стать автором
Обновить

Комментарии 54

какую бы это ещё документацию перегнать в пост на хабре?
Я — автор программы.

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

Надеюсь это будет полезно администраторам, использующим данный браузер.
Пересказ документации — слишком явный. И, кроме рекламы — ничего, по сути.
Зачем нужен именно этого браузер — названо, но, скорее, вскользь. Какие есть достоинства в сравнении с другими, кроме того, что «включен в реестр отечественного ПО»? А недостатки?
Хотя бы абзац-другой о том, с чем встретился в ходе разработки.
Совсем бы по-другому заиграло. А так — ну, реклама.
Согласен отчасти с критикой, надо переписать и фичи перед инструкцией осветить.

Ключевое преимущество сказано прямо в заголовке:

Бесплатный браузер с большой кириллической клавиатурой.


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

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

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

Недостатки по H.264 и по печати перечислены, да, как еще заметили есть логотип отдельно не скрываемый, только целиком с панель. Есть еще ограничение на отсутствие вкладок, но это кому-то на киоске вкладки нужны, а кому-то нет. Этот браузер без вкладок.
Он такой единственный на сегодня, но прямо в заголовке об этом писать постеснялся.
ну и зря, важная же вещь, и преимущество есть преимущество.
но тогда уже точно надо было бы без инструкции
Почему бы?
Вполне можно написать нормальный, интересный даже самому себе, текст, не подставляя при этом потенциальных клиентов, желающих документации.
Вот, например, можно поговорить про то, какие платформы используются в киосках — какие чаще, какие реже, какие хуже. И
Браузер мультиплатформенный, несложно ставится на массовые ОСи
Установить можно на Windows 7+ или современный Linux с архитектурой x86/x86_64. ОЗУ: 2-4ГБ, на 1ГБ ОЗУ тоже работать будет, но впритык.

Установка не автоматизирована, перед началом надо создать пользователя с ограниченными правами и автовходом, для чего есть множество статей. Для внесенного в реестр отечественных ОС Calculate Linux можно использовать elibsystem.ru/node/251. Для Windows 10 лучше использовать Windows 10 IoT т.к. там есть возможность указать какую программу запускать вместо Explorer в режиме киоска.

Установка в Windows

Под гостевым пользователем скачайте дистрибутив под архитектуру x86 и установите через установщик.

Создайте папку для хранения конфигурации %userprofile%/.KioskBrowser

Создайте текстовый конфигурационный файл по пути %userprofile%/.KioskBrowser/config.js в UTF-8.

Добавьте в файл следующие строки, заменив homeUrl на ваш:

var config = {
homeUrl: «example.com»
}
module.exports = config;

Вся настройка браузера осуществляется через этот файл конфигурации.

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

Установка в Linux

Войдите под гостевым пользователем и создайте папку для размещения дистрибутива (в примере /opt/KioskBrowser):

$ mkdir /opt/KioskBrowser

Перейдите в папку:

$ cd /opt/KioskBrowser

Скачайте архив для вашей ОС.

Для Linux x86:

$ wget kioskbrowser.elibsystem.ru/files/dist/KioskBrowser-linux-x86.zip

Для Linux x86_64:

$ wget kioskbrowser.elibsystem.ru/files/dist/KioskBrowser-linux-x64.zip

Распакуйте:

$ unzip KioskBrowser-linux-*.zip

Разрешите запуск браузера:

$ chmod 0555 KioskBrowser

Создайте конфигурационный файл в ~/.KioskBrowser/config.js.

$ mkdir ~/.KioskBrowser
$ vi ~/.KioskBrowser/config.js

Добавьте простейшую конфигурацию, заменив homeUrl на ваш:

var config = {
homeUrl: «example.com»
}
module.exports = config;

Вся настройка браузера осуществляется через этот файл конфигурации.

Перед пробным запуском подключите аппаратную клавиатуру.

Сделайте пробный запуск браузера:

$ /opt/KioskBrowser/KioskBrowser

Убить его можно будет переключившись по Ctrl+Alt+F1 с аппаратной клавиатуры и выполнив:

$ pkill KioskBrowser

Добавьте /opt/KioskBrowser/KioskBrowser в скрипт автозапуска при автовходе пользователя.

… и так далее.
Интерфейс — слабая сторона этого продукта.
Шрифты подобраны плохо, как мне кажется шрифты должны быть без засечек.
Верхняя панель — занимает много места при этом несет 20% полезного функционала. Зачем заголовок по центру? Что за иконка в крайнем верхнем правом углу?

клавиши на виртуальной клавиатуре должны быть большими;

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

Поэтому клавиши должны быть такими, чтобы по ним удобно было пальцем попасть (не как в популярной клавиатуре-плагине от Google).

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

И размер вовсе не обязательно должен быть скромным — в киосках перемещают по клавиатуре руку целиком, а не пальцем шевелят. Так что небольшой размер, когда пальцем уже неудобно, а движение рукой слишком грубое — наихудший.
Хотя… возможно, мы под киоском разное понимаем? В любом случае, хорошо бы задать размер клавиатуры географически, не в пикселях, а в сантиметрах (что там в пикселях на см — если получится, вынимать из параметров отображения или тоже иметь настройку)
С расстояниями можно поэкспериментировать, но человек же букву глазами ищет, которую ввести хочет, а не очертания клавиши. Черезмерный акцент на клавишах, мне кажется, может ухудшить ситуацию.

Цвет клавиатуры задается в chromeColor, если его не таким темным сделать, то тени клавиш будут лучше видны.
глаз прежде всего выделяет объекты. Если есть клавиша — она опознаётся, и потом уже на ней буква анализируется. Если просто в пространстве буквы — опознаются их части, в голове куча кружочков и палочек, и буквы уже из этой груды конструируются. Попробуйте сами на себе — раскидайте просто буквы, и буквы в рамочке. В каком случае нужная буква найдётся быстрее? Во втором.
Именно из этого, кстати, популярность эппловской клавиатуры выросла:
image
Клавиши явно разнесены (не нужно далеко, но нужно разнести, глазу нужны границы, чтобы зацепиться) и буквы имеют явные, но не слишком контрастные рамки (границы клавиш).
Но, конечно, контрасты и рамка не должны быть подавляющими.
Я бы во многом ориентировался сегодня на клавиатуру Microsoft, все-таки у виртуальной клавиатуры есть своя специфика.

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

Какой-то старый скриншот:

image

Сейчас у меня клавиатура такая:

image
:-)
image

Как клавиатура выглядит на экране 1280х1024.
а что это за space на кириллической клавиатуре?
Тоже верно, но тогда и Enter с Shift -)

Правда если вместо Enter «Ввод» написать, не уверен, что лучше станет.
определиться надо — кто критичный пользователь? В моём представлении — это домохозяйка околопенсионного возраста. Но, может, расчёт на другой тип людей? Подросток, скажем, с любым вариантом справится, это не критичный пользователь.
Домохозяйка.

Но в инструкциях для пользователей как что-то сделать может быть «Enter» написано.
так можно до бесконечности подробности перебирать.
Моё дело было побрюзжать, с чем, мне кажется, я справился. А уж что-то делать — доверяю Вам.
Спасибо!
Шрифты — может быть да, другие поискать.

Размер верхней панели определяется размером клавиш «назад» и «домой». Т.к. они нужны в некоторых случаях, уменьшать панель нецелесообразно. Если панель управления не нужна, ее можно полностью скрыть.

В правом углу логотип программы, клик по которой предложит перейти на сайт программы. Согласен, что лучше его бы в плоский вид перерисовать.
нужен под арм т.е. распберри и подобные
Здесь я порадовать не могу. Выпуска под ARM у меня в планах нет.

У меня Centos 7x 64 не запустился


Fontconfig warning: "/etc/fonts/fonts.conf", line 86: unknown element "blank"
ATTENTION: default value of option force_s3tc_enable overridden by environment.
[12608:12608:0924/133749.514514:ERROR:component_loader.cc(169)] Failed to parse extension manifest.
[12608:12608:0924/133749.525622:ERROR:url_pattern_set.cc(286)] Invalid url pattern: chrome-extension://*/*
[12654:12654:0924/133749.576296:FATAL:nw_content_renderer_hooks.cc(53)] Failed to load node library (error: libatomic.so.1: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога)
#0 0x7fae770739c9 <unknown>
Надо libatomic поставить: github.com/nwjs/nw.js/issues/7213

# yum install libatomic


Под Убунтами оно может по другому называться.

Да спасибо с этой зависимостью заработало… Хотя нужно какую то комбинацию на выход… некомильфо killall задавать всякий раз… Вообще у Вас всё на откытом движке Хромиум задействовано… это разве не обязывает исходный код выкладывать?

Нет, Chromium и NW.js не под GPL.

С комбинацией надо код защиты ставить, код защиты будут забывать, надо инструкцию как его сбросить… А такой софт ставят один раз на терминал и многие года не трогают пока работает…

Да и если и закрыть браузер, то как без аппаратной клавиатуры управлять ПК? А с аппаратной убить можно и так.
И такое берут в реестр отечественного ПО? о_О
Браузер — это не браузерный движок. Браузер — это то что над браузерным движком написано.

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

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

Но ведь это так просто
Удивлен, что это уровень реестра
Реестр не налагает требования полной разработки всего от начала и до конца исключительно отечественными разработчиками. Смысл реестра — чтобы деньги за ПО оседали внутри страны, а не за границей, это приведет к росту компетенций внутри т.к. будет с одной стороны финансовый приток денег, а с другой — ответственность за работу платных программ. Одновременно повышается цифровая независимость за счет роста внутренних компетенций.
Создатели киосков на Chrome пользуются микроскопической виртуальной клавиатурой Гугла в виде расширения. Не потому, что им маленькая клавиатура нравится, а потому, что других удобных с кириллицей нет в опенсорсе до сих пор.

Кто-нибудь может посоветовать браузер типа электрона, но не для js, а чтобы открывать локальное веб приложение? чтобы не было вкладок, адресной строки и другого, только один локалхост адрес открывало…
Можно React Native использовать. Там будет webview и в него грузить приложение.

Зависит от системы. В большинстве случаев можно вызвать webview с основным браузером системы (chrome, safari, edge) с помощью минимальной программы и указать ему, что нужно открыть.

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

  1. взять Electron или NW.js, тогда будет работать на десктопных ОС с одним ядром, но дистрибутив кроме ядра браузера станет тяжелее дополнительно на размер nodejs.
  2. Использовать системный webview и легковесную оболочку типа React Native, тогда браузерные ядра везде разные, но зато программа маленькая и в сторы её примут (с собственным браузерным ядром, как писал в посту, могут не принять).
  3. Взять Qt, там есть браузерный компонент QtWebEngine. По сравнению с Electron дистрибутив не тащит nodejs, но надо будет прогать на C.

Ещё бы боковую панельку, на которой отображать html, для быстрой навигации. Для экранов 16х9 самое то. Для компьютеров самообслуживания, там мышка и клавиатура есть, так что блокировка закрытия по алт+ф4 не помешает.

Это можно в виде домашней страницы с iframe сделать.

Т.е. на домашней эта самая боковая панель с кнопками, а сайты она грузит в iframe на оставшуюся часть экрана. Минус подхода — есть некоторые сайты, которые не дают себя в iframe грузить, они так работать не будут.
Всем откликнувшимся спасибо!

В версии 1.7.1:

  • шрифт Roboto;
  • увеличена ширина клавиш;
  • клавиши лучше выделены;
  • клавиши Space и Enter переведены на русский в кириллической раскладке.


Было:

image

Стало:



Теперь на 22 дюймовом мониторе:

На много приятней!
А никак нельзя убрать верхнюю правую ссылку ведущую на сайт программы?
У меня через нее аж на ютуб добрались )
Иконка программы пока останется.

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

На счет YouTube — не знаю как удалось, на сайте с программой есть только ссылка на загрузку флеша, и та где-то в документации, как смогли на YouTube попасть — не очень представляю. Если узнаете как — напишите, могу исправить.

На счет ограничений было бы более правильным подумать над черными-белыми списками URL на которые возможен переход (навигация).
Как раз на сайте Adobe, вход через аккаунт google, а дальше через гугл можно куда угодно попасть.
Я уберу гиперссылку в документации.
Здравствуйте, скачал, установил Ваш браузер, файл с настройками найти не могу, пробовал создать директорию %userprofile%/.KioskBrowser/ и создать файл config.js, но это не помогло.
ОС Windows 10
Проверил на Win10, все работает.

Созданный config.js может не подхватываться если в нем синтаксическая ошибка или в конце не указан:

module.exports = config;


А что делать, если с определенной страницы не перекидывает на главную в случаи inactive.

Проверить корректность файла конфигурации по документации: http://kioskbrowser.elibsystem.ru/docs/settings.html

Если проблема проявляется именно на конкретной странице, можно в платную поддержку обратиться.

Наверное пользователи браузера заметили, что браузер не обновляется. Это потому, что с обновлением NW.js возникли проблемы: спустя некоторое количество переходов по разным URL на новых версиях NW.js окно браузера перестает отображаться (но JS в нём продолжает работать, из режима отладки не понятно в чем проблема). В другом проекте на NW.js у меня схожая проблема.

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

Но вторая версия уже будет платной.

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

Полностью переписанная вторая версия вышла в Microsoft Store!

В Microsoft Store называется KioskBrowser Pro и скачать можно здесь:

https://www.microsoft.com/ru-ru/p/kioskbrowser-pro/9ntv817t9t82

C полным списком изменений можно познакомиться по ссылке, но главное:
1) ввод текста с виртуальной клавиатуры надежней (переписана полностью логика работы);
2) стабилизция работы браузера (путем миграции на Electron, на последних версиях NW.js были проблемы с падением браузера);
3) наконец появился GUI для настройки браузера! Больше не надо править JSON;
4) можно включать и отключать поддерживаемые языки (пока русский и английский, потом добавятся другие);
5) логотип браузера сверху справа больше не отображается.

Важно! Вторая версия будет распространяться уже платно, но в ближайшие две недели ее можно получить в MS Store абсолютно бесплатно без каких-либо ограничений по времени использования.

Под Linux браузер собран и протестирован под x86_64 и под ARM64, скоро тоже начнет распространяться с этой страницы.

По понятным причинам лицензии через MS Store больше не распространяются. Теперь их можно получить через СофтЛайн со страницы сайта браузера https://kioskbrowser.elibsystem.ru/

Попробовал потестировать, в версии 2.3.1 сразу же обнаружил баг — ссылки вида <a target="_blank"> (обычно открывающие новую вкладку) не проверяются по списку правил "rules" в конфигурации. То же самое происходит и по щелчку средней кнопкой мыши — открываются любые ссылки вне зависимости от запрета по URL.

Спасибо, в следующем релизе ошибка с target="_blank" будет исправлена.

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

Для актуальной второй версии написана пошаговая документация, которая выложена на сайте программы: https://kioskbrowser.elibsystem.ru/

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории