At the museum, we’re setting up a kiosk to let people browse our online collections database. We’re very much in the mode of trying things out using a simple setup and then when we see how that works, we can tweak it as needed.
The basic requirements were to let visitors browse a single website (http://webmuseum.mit.edu) but not to be able to follow any of the outgoing links. Additionally, the visitors should not be able to leave the web browser and start mucking about with the underlying computer.
Even though our old PowerMac G4‘s are dropping like flies with broken power supply units, we have two left in the “good enough to reuse” bin. So I set one up with Mac OS X 10.5. Using MacPorts, I installed Squid and set up the network to use that squid as a proxy. Squid lets you configure which URLs it will go out and get, and which ones it will return an error on. I set it up to only return pages in the webmuseum.mit.edu site, and whenever a link outside that site is requested, it returns the toplevel page at http://webmuseum.mit.edu.
So far so good. The next thing I needed was a browser that won’t let visitors do too much other than browse. Luckily last week I bumped into Plainview. Plainview is a webkit based browser with no chrome. It also happens to have a kiosk mode that requires a password to get out of.
Then I set up a user account with Parental Controls, and only allow it to run the Plainview app and nothing else. I have the Mac boot up with that user login coming up automatically, and Plainview starts as a login application. Presto, a nice web kiosk. If users break out of Plainview, they can’t do anything else but log out of the system. We’ll see how long that takes…
One minor hitch in the entire setup – I don’t know whether it’s possible to set up Plainview to go directly into kiosk mode. Right now you have to type ⌘-/ and enter an administrator password to start kiosk mode.