Welcome to Developer Heaven
I am in Web Developer Heaven at the moment and it feels good. If only all projects were designed for the following environment: couple of hundred PCs in one place, all running IE 6 in Kiosk mode with screens all set to 1024*768px. There are very few variables!
Have you seen Kiosk mode before? No? Go to the Start menu and then Run (Windows key & R). Type:
iexplore -k "http://www.codestore.net"
IE takes over the whole screen. It's a bit like pressing F11 to enter full-screen mode, but that the menu bar is always hidden.
Now this is great for me in one way - I know exactly what every user will see and where they will see it. This makes designing pages a doddle and I can even use absolute positioning with pixel-perfect precision. The drawback is dealing with the wannabe hackers in the audience. When I was at LotusSphere the other year I know the first thing I did at the booths was press Ctrl+N to open a new window, with address bar, allowing me to easily access external sites/email (I would have used the Wi-Fi access instead but it never materialised). There are other pitfalls to Kiosk mode too. Users can close the window (Alt+F4 or Ctrl+W) and render that booth useless. They could get access to Explorer and the OS. Etc.
To a degree this is not for me to worry about. However, I will probably still try and investigate ways round the common gotchas. For instance there's apparently a way of using IE as the default shell when Windows boots, although that's for Windows XP Embedded, whatever that means.Interesting stuff anyhow. Hopefully I'll be allowed to report back on some of the stuff I find out during the project.
Surely it's possible to replace the default Explorer option (what Windows runs normally) with the iexplore. That way, if they kill the window, Windows effectively restarts (and loads the kiosked IE again).
And I seem to remember somewhere about switching off the New Window option somewhere in the registry to prevent IE spawning new windows.
I wonder if trapping keystrokes in JavaScript could prevent those workarounds?
Here are some interesting registry options you can look at to help you in your task:
{Link}
{Link}
Look at the Reg keys like "NoBrowserClose". I haven't tested them myself, but the info on this site in quite reliable.
Let me know if it works or not.
Dragon. Apparently it can be done but there's nobody out there I've found who says they actually have done it.
Jef. JS can trap ctrl-click but I don't think it will trap Alt+*
Alexandre. Brilliant. This is just what I was looking for. I've tested them and they work.
One broswer, one resolution, one chrome setting -- yep, sounds like heaven to me, too. Just like working on paper, 'cept it scrolls smoother than a real scroll.
With IE, you have some boolean properties that can tell you if the ALT key is being used
{Link}
This link is old, but it looks like it should still apply
{Link}
Then again, all is moot with Alexandre's solution :P
@ Jeff
Not so moot if Jake is only given leave to deliver a working app with no regard for his input on kiosk cofigurations... though he can always make a recommendation or two.
Jake,
With reg settings Alexandre sent,
Can't the user do a Ctrl+Alt+Del -> Task Manager->Iexplore -> end process?
Thanks for the reminder about Kiosk mode! I had completely forgotten about it and I can sure use it for an upcoming project.
As for the gotchas -- we have some "captive" accounts running MSIE on Citrix/Metaframe/NFuse for which we have disabled most of the ALT & CTRL sequences, without using JavaScript, so I believe most, if not all hacks can be prevented...
Gary
Hi Jake,
I do not know if you will every do the kiosk thing again, but an interesting article was published on how to set the group policy to enable kiosk mode for IE in an Active Directory environment:
{Link}