Introduction
Choosing the most suitable application technology for your kiosk project can often be an overlooked decision, but making the right choice can be critical to the success of the project.
You may be limited in your choice by a need to integrate with specific peripherals, or by your company’s hardware purchasing decisions, but by reading this article we hope you will be better informed of the benefits and drawbacks of choosing a particular technology and more able to make the right decision.
In brief, the three key technologies commonly used to develop a kiosk app are:
1. As a standalone application for a PC-based system
This can be a conventional Windows application that is programmed to run full screen, or an application written for an alternative operating system such as Chrome OS or Linux.
2. As a mobile app for Android or iOS that will run on an iPad or tablet device
These will again be programmed to run full screen with no status bars and the device will have kiosk mode enabled.
3. As a browser based application
Browser based apps written to modern responsive web standards will run on any of the above devices with a suitably configured browser running in kiosk mode.
Next we’ll look at each of the three options above in more detail.
Standalone kiosk apps for PCs
This is a popular choice for a large number of self service, touch screen and kiosk applications, due to the maturity and diversity of support for hardware devices.
In fact, for certain applications that utilise hardware that only has Windows driver software, a Windows based standalone app may be the only choice available. Some scanners and payment devices for example only have reliable drivers for Windows, meaning they will not function reliably (if at all) on Chrome OS, iOS, Android or in a browser.
Typically these kiosk apps will be written using WPF for the UI and C# for the application logic.
Pros:
- Extensive hardware support
- Mature development environment
- Highly customisable
Cons:
- Operating system takes some time to configure
- Must keep OS security patches up-to-date if internet connected
- Licensing costs for OS in the case of Windows
Tablet apps for Android or iOS
Tablet apps have become a popular choice for projects due to the speed and ease of development of Android and iOS apps. This is due to the development environments supporting the device peripherals such as the camera and microphone “out of the box” with very little additional code.
It should be noted that due to the limited range of models of iPad compared with the enormous selection of Android based tablets of varying cost and quality, the reliability of Android applications is much more variable and can be dependent on the quality of the device.
If reliability is a key concern, then an iOS application is highly recommended, or a higher quality Android device that has undergone extensive testing for the intended use. It’s for this reason that Welcm, our Visitor Management App, is only available for iPads.
Pros:
- Devices typically have a built in and fully supported microphone and camera
- iOS devices and good quality Android devices are highly reliable and dependable
- Kiosk mode/guided access easily locks down the device
Cons:
- Android hardware can be unreliable
- Limited hardware support for other peripherals
- Deployment may require undergoing App Store submission process (see our post on reasons for App Store rejections)
Browser Apps
A browser app is exactly as the name suggests — an application that runs in a standard web browser, typically using modern web technologies such as HTML5, Bootstrap/CSS3 and an appropriate JavaScript library, such as React, Angular, or Vue to provide interactivity. There are a choice of languages for the application logic, a few examples being PHP, Ruby or Microsoft .Net.
Typically most modern kiosk applications will communicate with some form of web based dashboard so some form of browser based application may still be used even if your kiosk application uses one of the two alternatives above.
Pros:
- Browser apps are “Device Agnostic” — they work on any device that has a modern web browser
- App updates only need to be deployed to a central server
- Lower hardware resource requirements
- Only one codebase for both the application and the web dashboard if it is required
Cons:
- App functionality is dependent on connection to a server
- Limited hardware functionality for peripherals
- Device OS and browser will require some configuration and locking down
Summary
As you will see from the pros and cons of each approach listed above, there’s no simple answer to which is the “right” choice of technology for your kiosk app. By weighing up your particular requirements against the pros and cons of each approach it should mean that arriving at the right decision is quicker and easier.
Some key questions you should ask relating to this choice when starting on a kiosk project are:
- What hardware peripherals if any (e.g. camera, barcode scanner, printer, contactless payment) do you need to integrate into your application?
- Do you need your application to run on different devices or screen sizes, and would you like the facility to change devices in the future?
- Will the kiosks be unattended for long periods of time?
- Will the kiosks have a reliable network/internet connection?