The HTML rendering backend was formerly known as Okular.
The Visionect Software Suite does not pose any special requirements on the use of specific back-end, technology so developers are free to use their own favorite programming environment to prepare complex web applications.
The HTML rendering backend provides a WebKit-based web browser session for each device, which means:
- A web application (web page) is made available on the client by configuring the target application URL using the Management Interface.
- Application testing can be done in a regular desktop browser (WebKit-based - Apple Safari, Google Chrome, Epiphany - for best results). The application should act exactly the same in the browser as it does on the device. Any discrepancies should be reported as bugs.
Web page rendering¶
When the HTML rendering backend creates a new WebKit session for a group of clients (often there is just one client), the WebKit session loads the URL as determined by the Software Suite cconfiguration. The backend will render the viewport of the session window and transmit new image(s) to the clients in two cases:
- The HTML rendering backend detects a change in the session viewport. After the change it waits for
Supported web technologies¶
The HTML rendering backend supports:
- Broad HTML5 functionality
- Full CSS3 (ACID3 test compliant)
E-paper modes of operation¶
E-paper screens have different modes of operation, making it possible to choose different display bit-depths which impact the screen performance:
- 4-bit grayscale, which causes the device screen to refresh in ~750 msec
- 1-bit black and white, which causes the device screen to refresh in ~250 msec
- 1-bit A2 waveform, which refreshes a region in ~125 msec
This section applies to the first generation of the Visionect Sign 6”.
The values provided are those necessary for the EPSON controller to push the image. Many other factors impact the rendering time, among them the connectivity type, RSSI, data size, display size and resolution.
Regardless of the mode chosen, it is possible to request an invert of the currently displayed image prior to new image draw. This is especially important in 1-bit B&W mode, as every display draw leaves traces of the previous image shown behind (the ‘ghosting’ effect). The client devices come with a default Software Suite setting to do an invert for every full screen refresh.
Partial screen updating is supported on most devices, but might not work on some firmware versions. If you encounter any problems, you should check the following:
- The Visionect Software Suite version: upgrade your Software Suite to the latest version. You can do it by running the following commands.
docker pull visionect/server docker stop vserver docker rm vserver docker run --privileged --cap-add=MKNOD --cap-add SYS_ADMIN --device /dev/fuse -d --restart=always -p 8081:8081 -p 11112:11112 -p 11113:11113 --link vserver_postgres:db2_1 --volumes-from vdata --name vserver visionect/server
- Force Rectangle Support: open the Management Interface and check if the Force Rectangle Support setting (Settings -> Default Device Settings) is enabled.
- Encoding: make sure you don’t mix 1-bit and 4-bit encoding in the same image packet, as this can cause problems with updating content and might result in a full screen refresh.
- Since web pages usually come with graphical data prepared in colors, Visionect’s Graphics Engine uses one of the methods of dithering to convert color into the required bit-depth for electronic paper displays. The currently supported methods of dithering are:
The Visionect Software Suite comes with a set of default fonts, but it is possible to add your own, just like on other web pages.
If you call a font that the browser does not recognize, this could lead to visible differences in font interpretation between different web browsers, as well as the HTML renderer of the Visionect Software Suite. To ensure consistency through all browsers and Visionect Software Suite, it is recommended to import the font in your application. In this way yout will not be dependent on the Suite itself and will avoid any troubles if later migrating to another server. You can use the standard Web Fonts using @font-face CSS rule - see more details at: http://www.w3schools.com/cssref/css3_pr_font-face_rule.asp and http://www.fontsquirrel.com/tools/webfont-generator.
WebKit engine will use the HTTP proxy, if the
http_proxy environment variable is set. Exceptions can be set in the comma separated list inside the
no_proxy environment variable.
export http_proxy=http://10.203.0.1:5187/ export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
To run the
engine with those variables, it is recommend, to set them in
docker run -e options when creating the docker container.
docker run -e http_proxy="http://220.127.116.11:8080/" --privileged --cap-add=MKNOD --cap-add SYS_ADMIN --device /dev/fuse -d --restart=always -p 8081:8081 -p 11112:11112 -p 11113:11113 --link vserver_postgres:db2_1 --volumes-from vdata --name vserver visionect/visionect-server-v3
Docker-less deployments can use the supervisor engine start script
okular.conf to add the same variables.