What is a Kiosk?
If you asked a hundred embedded developers to think of what the word “kiosk” means to them and asked them to define the software features of a kiosk you’ll likely wind up with dozens of broad answers. My basic definition of a Kiosk is a publicly exposed device that the average consumer can interact with in retail, hospitality and financial institutions.
I’m willing to bet most everyone in this business of embedded devices has a good feel for the Thin Client, the Retail Point of Sale, Gaming Consoles, Set Top Box, etc… But probably not so for the Kiosk.
Most everyone knows a kiosk when they see one, but when defining a kiosk most people will think back to the last kiosk device that they actually used or one that made the biggest impression on them.
I asked that very question (“what is your idea of a kiosk?”) years ago on the embedded team well before we shipped XPe, one person’s idea of a kiosk was something along the lines of the Target store’s Bridal Registry kiosk, another thought of the Kodak photo printing kiosk, another was the carwash device like the “Auto Sentry eXP” that you can interact with during the sale to select the wash options you want. My personal impression of a kiosk was one I saw at the Emerald Downs race track in Auburn, WA. I was there as part of my wife’s High School reunion (I swear!). This Kiosk had a touch screen custom shell with a simple menu system and Windows Media Player 6.4. The menu allowed you to pick races from all over the country based on Date or Time or Race # or Horse Name or Race Track location and view that archived race in WMP. That was pretty cool and when I think of Kiosk this is what my mind’s eye sees.
Stay with me, I have a point here.
This is the problem teams have when there’s a new feature or tool which has no customer base yet. You can do all the research you want in advance and make some really good guesses but until the product gets into the customer’s hands all you’re really doing is guessing that this is what they want.
A problem we faced early on in the Whistler Embedded project was trying to define the scenarios we’d target the most amount of time and energy into ensuring those “battleship features” core to each scenario were factored more than the rest, had more configurable UI available to the components in Target Designer and the quality of the meta data in the components was as high as possible. (Don’t ask why we couldn’t do this for all 1,000 Windows feature components, we’ll discuss this another time).
The concerns here were to keep the customer’s BOM costs as low as possible. For instance, better component factoring == smaller footprint, small footprint == smaller/cheaper Compact Flash. More testing of those “battleship features” ensured the quality and agility of the primary customer scenarios was as great as possible. So all we had to do was identify the common features and software requirements for the kiosk and we’d be relatively sure that our kiosk OEMs/ISVs/IHVs would thank us and buy many licenses. Right?
Unfortunately we never figured out the kiosk, even after a second service pack. It’s not due to lack of trying, it’s just that there are so many variations of this device category that it’s nigh impossible to nail down a manageable target list of windows features that aren’t already covered in other scenarios. Thin Client requirements? Easy. Set Top Box? Got it down pat. RPOS? No problem. Kiosk? Still working on that one.
If you have advice on what we should target for a Longhorn Kiosk scenario, please send it my way, I’m all ears. In fact, I’m beginning to think that there really isn’t a true kiosk device category; really it’s just another version of the RPOS (though this excellent page on the “Anatomy of a Kiosk” would differ). The big difference is that the RPOS is used by the cashier, whereas the kiosk is used by the general public, needs to be more “hack proof”, ruggedized, restore its state on reboot or on a per user instance, may need to be heavy on the multimedia features. What else defines the kiosk? I’m interested in your input for future versions of Windows Embedded.
I love our kiosk customers, I just hope they’ll educate me in what their needs and wants are in a componentized operating system now that it’s been out there for a while. <grin>