Project: iPad Kiosk

Recently, I was discussing the possibility of using an iPad as a kiosk to interact with a new online service we’re developing. The idea is very interesting as the touch screen device would offer us a great user experience that most people could easily understand. After doing a little research it seems that it’s physically easy to get an iPad into a kiosk but the problems are in the software, not the hardware.

Like the iPhone, the iPad has only one primary button on the front of the device and a few buttons on the sides (for volume and on/off). The logistics of a kiosk mean people shouldn’t be allowed to randomly quit the app so you have to disable the iPad buttons by jailbreaking—and installing the appropriate software—or by disabling them physically (by covering them up). For physical barriers, there are a number of existing products such as the nice looking Beyond Kiosks, the more portable iBracket or simple DIY projects like this wooden kiosk stand. I’m not sure how the wooden kiosk stand would hold up to abuse but, hardware aside, it comes down to the software problems.

To run successfully as a kiosk, the kiosk app needs to be the only app running on the device without the ability to exit the app in any way (at least without removing the iPad from its enclosure). The iPad doesn’t offer an easy way to force an app to stay open but you can be sneaky and do things like launching the app again whenever it happens to close:

-(void)applicationWillTerminate:(UIApplication *)application {
    [application openURL:[NSURL URLWithString:@"mykioskapp://"]];
}

Note: Doing this would probably get an app rejected from the App Store.

Care must also be taken not to include any way for a user to accidentally jump into another application, such as the web browser or the email app. If someone gets out of the kiosk application they’ll probably be confused but, more importantly, they’ll be stuck with no way to get back because the only buttons that would return them to the kiosk application have been disabled or covered up.

The other software problem is dealing with the Apple App Store submission process. Running in a kiosk could initially be great since a kiosk app probably isn’t going to be distributed through the app store. Instead, it will be easily loaded on each kiosk directly. Both a development distribution or an over-the-air Ad-Hoc distribution would work but each come with their own problems. Anyone who has dealt with Ad-Hoc or development distributions knows that the certificate process isn’t fun and just when you think you have it sorted out, the provisioning profiles on the devices expire and you have to repeat the process. It would be great to bypass the burden of the Apple App Store rules and regulations but to do so someone will need to be on-site to update the app on a regular (monthly) basis as the development or Ad-Hoc distributions expire or the app itself needs updates.

The idea of an iPad kiosk is obviously possible and there are a few existing companies already using it for things such as ticket sales or product information. If I get any further into the project I’ll post some updates and let you know how it goes.

The post ‘Project: iPad Kiosk’ was first published by Jeffrey Sambells on