Designers can Add a front end to an embedded application by using a number of mechanisms, including the use of a Web browser, which offers a number of advantages. For example, this technique allows the browser to be local or remote.
The HTML5 Wave
HTML5 promises to revolutionize the browser by providing a consistent platform for developers to target. It’s designed to provide streaming video without a host of plug-ins. With its enhancements in cascading style sheets (CSSs), developers can target a wider range of devices while splitting the content from its display methodology as well.
Also, HTML5 addresses the deficiencies of HTML4, which has served relatively well for a number of years. An HTML5 browser can support a wide range of features including video and 3D graphics, which are handled by the recent addition of WebGL to the mix (see the figure).
WebGL Provides a 3D Canvas
The Khronos Group is known for a range of technologies including OpenGL and OpenGL/ES. WebGL requires these 3D technologies, which are normally accelerated by hardware. Native applications such as games also use OpenGL interfaces. Now, Web-based applications will have consistent access to the 3D hardware.
WebGL makes it possible to create 3D heads-up displays (HUDs), which typically require native applications that deal with device drivers like OpenGL. Also, WebGL is very flexible and isn’t restricted to a rectangular window. It integrates with HTML5’s <video> tag and even allows the canvas to be used as a texture. All of the OpenGL 3D technology is available to a Web browser that supports HTML5 and WebGL.
WebGL has been available in beta form on most platforms like Firefox, Google’s Chrome, and Apple’s Safari. Microsoft has not committed to WebGL for Internet Explorer (IE) yet, though HTML5 is on its roadmap.
Still, support is available for WebGL on IE using Google’s Angle project. Angle provides an OpenGL subset using DirectX that’s required by IE. Internet Explorer has a competing strategy called Silverlight. Likewise, many of the services in HTML5 and WebGL are found in Adobe’s Flash.
Flash is Adobe’s very popular proprietary platform, and it has been ported to a range of platforms. Microsoft’s Silverlight leverages and requires .NET. On the plus side, the support is extensive and the development tools are well integrated. On the downside, .NET runs on Windows platforms, and these days the Web is being viewed on smart phones and iPads.
From an embedded standpoint, the flexibility to move the user interface onto the browser means the actual user interface can be multiple devices, especially given the wide range of mobile devices that will support HTML5 and WebGL.
The devices running the browser are already networked, so a user interface does not have to be restricted to displaying information from only an embedded device. It may integrate information from any number of servers.
HTML5 and WebGL are a boon to Web developers, but they can also be a tool that embedded developers can exploit.
World Wide Web Consortium (W3C)