One of our summer projects was to provide IT facilities to a number of new social study areas around the campus. The requirements varied from location to location and included wireless access, information screens and lots more Touchdown kiosks. If you have been over in CMIST lately you will have seen some of this work being done in the lobby (and the fancy new furniture pod seating).
When we first met to discuss the Touchdown pc requirements I had already been looking into how we could improve them. The Touchdowns we had already were all using Internet Explorer 6 and a free kiosk utility called Publicbrowser. We had done some testing with Publicbrowser and found that it didn’t like running with Internet Explorer 7. Unfortunately with the new portal coming along and a lot of websites using much slicker features Publicbrowser was starting to look a little clunky.
I had heard about an add-on for Firefox that put the browser into a full screen kiosk mode and thought I would try that out and see how well it worked. So I set up a test pc and popped Firefox on with the add-on installed and I have to say that I was instantly impressed. The kiosk mode worked really well and let you customise which buttons and toolbars were visible. As with public browser the idea was to run Firefox as a replacement for the explorer shell (so that when you login all you get is a Firefox window and nothing else). Publicbrowser had a number of nice features which included a log off or shutdown button within the browser interface, protection to stop users from Alt-F4 closing the application and a blacklist system that allowed us to use for very specific Touchdown kiosks (such as the library catalogue machines in the LRC). While Firefox has none of the features by default it does have a very active development community who are always writing new add-ons so I trawled the Firefox website and found some very useful things!
The first thing I needed was a logoff button. Sure enough the community didn’t let me down and I found the Custom Buttons add-on. This add-on lets you create buttons that perform specific functions. In my case I made a button that would run a batch file to close down firefox and log the current user out.
Next on the list was a blacklist utility, this one was easy! Public Fox is an add-on that provides several really useful features. First it has black and white lists that let you control what your users can access. Then it has a wealth of other useful things such as locking downloads and stopping access to several of the options menus.
At this point I noticed I had another problem. Firefox had a big X in the top right corner that people could close the browser with. As with using Alt-F4 this left you trapped on a blue background with no way to relaunch the browser without logging off first. It was also taking up a lot of space in the top right of the screen and looked out of place. Cue the UI Tweaker add-on! It’s a cracking little add-on that lets you fiddle around with all sorts of interface settings and (most importantly) it let me get rid of those nasty buttons!
The final problem proved to be the biggest one. I couldn’t find anything (free) that would protect Firefox from being Alt-F4′d by a user. I knew it was probably not going to cause too many problems as a lot of people don’t even know Alt-F4 does anything and those that do are hopefully sensible enough not to use it on their only browser window. Despite this our previous system had this a s a feature and it would be hard to sell the Firefox kiosk as an improvement if it couldn’t at least do everything that we needed from it. I also really didn’t like the idea of our users being stuck in limbo if firefox crashed for any reason. After much searching I found the University of Waterloo in Canada who have a very useful wiki which happened to include a load of information about their own Firefox kiosks! They had run into the same issue and had written their own utility to automatically relaunch Firefox if it was closed. So I dropped them an email to see if they could point me in the right direction and maybe share their source code.
In the mean time I took myself over to our Corporate Business Systems team who have all of our application skills to see if they could do anything to help me out. After a little chat I had the basics of a batch file that would check for Firefox running as a process and then launch the browser if it wasn’t found in the current processes list. Perfect! I already had a program for compiling batch files into hidden .exe files that ran silently in the background. After a little bit of trouble getting it to run as a shell (it seems that it doesn’t like executing files from the root of the C: drive as shells! So into the Windows/system32 folder with it…) I finally had my Firefox kiosk up and running. Here is a screenshot of a finished kiosk screen.
We have since deployed several into the LRC to see how they get on. I did find a small problem of my own making (I had forgotten to disable the automatic updates!) but other than that they have been running really well. The kind folks from the University of Waterloo have also been in touch and shared their kiosk utility and source code with us. It runs beautifully and I’ll be looking to use it on our next installs. So many thanks to them!
The success of Firefox is in a great part down to the community that backs it. The caring and sharing approach of open source software is always really useful when dealing with problems and community blogs and wikis were priceless during my work on this project. Hopefully this entry will be of use to someone who’s looking to do something similar! Lets hope so!