Web Applications on Kiosks

  • Type: White Paper
  • Author: Jim Kruper
  • Date: April 2004
  • Download PDF

Introduction

In the last several years, more and more applications are being written, or rewritten, as web applications; i.e., as an application that uses a browser to display its user interface. This popularity naturally translates into the question of whether web applications make good kiosk applications. This article addresses this question by discussing the differences between kiosk web applications and standard kiosk applications and also the difference between kiosk web applications and standard Internet/Intranet web applications.

Why a Web Application

A web application is any program that uses a web server to generate its output in a format understandable by a web browser. Because a browser is essentially platform independent, applications only need to be written once, but can be displayed on any flavor of PC, Mac, or Unix computer. Perhaps more importantly, database access to both legacy and modern databases can be readily unified under one interface.

Everyone is familiar with the explosive growth in Internet eCommerce sites in the consumer and B2B segments, but these two factors have also driven significant growth in Intranet and web application development in the corporate world.

Another factor driving this growth is the maturity of technologies, developer tools and 3rd party controls. The Web has been around long enough that technologies such as HTML, Java, PHP, Perl, Flash, XML and ASP are well known commodities to the developer community, and integrated rapid development tools are in widespread use.

What Applications are Geared toward becoming a Kiosk Web Application

The simplest case is any existing Internet or Intranet applications that maintain their relevance in a kiosk format. For example, HR Intranet applications that previously could only be accessed by white collar workers with a computer can now be displayed on a kiosk in the cafeteria for everyone to access. Or, many health and human service applications already exist on the Internet, but many of the underserved people who could most benefit from the information don’t have access to a computer, but they do have access to a kiosk situated in a public location.

By the very nature of the Internet, any kiosk application that needs to draw information from multiple sources is well suited to being a web application. In short, the only applications that aren’t candidates for being developed as a web application are those that require functionality or hardware interoperability that can’t be handled by a web server or browser.

Another benefit of web applications is the inherent usage logging that is automatically collected. If usage logging is an important requirement of the application, the web application will automatically track usage, while a standard application will need to have code written to explicitly store the data.

How do Internet Web Applications differ from Kiosk Web Applications

In a typical Internet web application, the user is also the owner of the PC and therefore has complete access to the other functions of the PC; however, in a kiosk application the user must not have access to any portion of the PC outside of the content displayed by the kiosk application. This means that at a minimum, the application should run in full-screen mode so that the address bar and window close controls are hidden.

Furthermore, the kiosk must run unattended for extended periods of time often in remote locations; however, a typical web application has session durations measured in minutes. This means that a poorly written web application with memory leaks may be acceptable for the Internet, but would eventually crash a kiosk.

Unlike an Internet web application, it is very important for the application to reset back to the home page after a certain period of inactivity. Ideally, the application should display a series of attract screens during periods of inactivity. Although this can be programmed into the web application, doing so makes the Internet web application different from the kiosk web application which may not be desirable. Instead, this functionality can be handled automatically by the kiosk system software that you use to manage your application on the kiosk.

A well behaved Internet web application must be designed to display properly for a certain set of browser versions as well as screen resolutions and bit depths; however, kiosks are a much better defined situation. Typically, the browser version and hardware configuration are known so the development process can be substantially simplified.

In a typical web application the user's browser is remotely located from the web server, so there are bandwidth tradeoffs with every item displayed by the web server. Generally in a kiosk application, the kiosk is also a web server, so bandwidth intensive items can be stored locally effectively removing performance considerations and opening up opportunities to do tasks that cannot be contemplated in a typical Internet web application.

In addition, server side and client side actions are truly server side and client side in a typical Internet web application, but in a kiosk application they both can happen on the same PC, so that processes that typically would have to be either server side or client side can now be processed on either side.

Finally, in a typical web application it is generally trivial to update the web application content because the web application is either located in your server room, or worst case at your ISP. However, in a kiosk application, the web server is generally located at the kiosk, or more accurately at kiosks spread all over the country, and there may only be dial-up access to the kiosks.

Local Web Server vs. Distant Web Server Issues

A major difference between a kiosk web application and a standard kiosk application is the ease and flexibility with which the location of program execution can be changed. Since the kiosk can be configured as a local web server, the web application can easily have one page access a web server remote to the kiosk and then have another page access a web server running on the kiosk, and it can also have a portion of the application run locally within the browser itself. This gives the flexibility to have portions of the application execute where it makes the most sense.

Large infrequently changing files should be stored locally so there are no bandwidth issues with downloading from a remote web server and updating remotely is not a frequent task. Conversely, small frequently changing files should be stored on a centralized web server so that updating is a snap. For example, large videos clips would likely be stored on the kiosk and accessed using the local web server, and simple HTML pages that change frequently could be stored on a centralized web server.

Data access is also simplified because pages that need to access a centralized database can be run directly off the centralized web server making for easy connectivity.

Updating Content

Updating local kiosk content can be a real challenge. Ideally, the solution should be scalable, reliable and robust, and commercial kiosk software typically provides the best solution. However, especially on small projects, remote access software such as PCAnywhere or RealVNC or FTP software such as CuteFTP or WS FTP can be used to download new content to the kiosk. The difference between a web application and kiosk application can be in what needs to be downloaded. In the case where only a couple of pages have changed, downloading those individual HTML pages can be trivial; however, with a standard application the entire application execution file may need to be downloaded no matter how small the change which may, or may not, be trivial.

Security Issues

Security relating to a kiosk web application is a very serious topic and one that can have very significant issues as compared to a standard kiosk application. By the very nature of it being a web application means that every single security issue that affects your company’s web site needs to be addressed with your kiosk. The issues are multiple and varied depending on whether you are already behind a firewall, have a web server running locally, what services need to be running, and whether you have connect via a LAN/WAN or dial-up connection. Generally speaking, it is critical to have all of the latest patches and security updates installed for your operating system and shut down all unnecessary ports and services such as FTP and Telnet, and for Windows machines the Windows Message service, File and Print services and Client for Microsoft Networks.

Summary

There are many good reasons for porting a web application to a kiosk. These include the ability to re-use an existing web application and the ease of finding development resources for web applications. Web applications also provide the flexibility to place the processing power either locally or remotely based on the need.

However, it is important that security be addressed adequately and to avoid applications that aren’t well suited to the Web because of lacking functionality or interoperability issues.

Want more? Here are some related posts:
Why Use Browser-based content on Kiosks?
Websites, Self-Service can Play Nicely Together
IKEA Makes Website Available in Store