These are images of the Target Product Locator, a browser based guest assistance kiosk for locating products within a Target department store. The kiosk was launched in Jan. 2000 and was installed in 5 stores, with 5 kiosks per store, in Minnesota.

The kiosk software was developed as a browser application running from a local drive without a web server. It runs within Microsoft Windows NT 4.0 using IBM's Consumer Devices Services software to maintain the operating environment and provide access to peripherals. This particular kiosk was the first browser based kiosk developed by the IBM Kiosk National Practice. Previous kiosks were written in C or C++ but used the same operating environment.

I was technical lead and DHTML and Java developer. My responsibilities were the complete design and implementation of the kiosk software and support tools. The software runs only within Internet Explorer 5 using DHTML with integrated HTML, CSS, JavaScript and Java applets. The support tools are stand alone Java applications that generate the product location data files from the Target database for each stores physical layout.

My primary design goal was to hide that the kiosk was operating within a browser. Since the browser was in kiosk mode, the menu, toolbars and status bar were hidden. A background image of each HTML page’s default state hid visual cues from images loading. By organizing multiple images into a single grid image and by using static members to reuse image buffers and cached data files, Java applet initialization time was minimized. Since the list of all searchable items was predefined, nested database searches were avoided by converting each item location search into a precompiled response minimizing the response time from item selected to store map displayed. This had an additional benefit in that items whose location was not defined in the Target product database were easily determined when creating the static response data files.

Here is sample of the keyword data file with the precompiled search responses. It shows keywords with their store map pixel location, the type of description message and message data to display.

		A B Switch:22,269;AISLE;G12
		A&D Ointment:213,326;AISLE;A08
		A&W Rootbeer:213,350;AISLE;A27
		A1 Steak Sauce:249,326;AISLE;A05
		Ab Exercisers:128,35;AISLE;F13
		

The kiosk design was refactored in May 2001 to reuse a design pattern I created for Comperio to preload all the HTML pages into IFRAMEs. This simplified the HTML pages and Java applets since they no longer needed to optimize their load response time. Each HTML page was preloaded with the main application page and was shown or hidden as needed when navigating.

This image is of the store map HTML page with the item location(s) displayed. Store items are selected by either text searching for a keyword, by selecting an item within a department and category, or by selecting an item from the weekly newspaper circular. When an item is selected, this store map is displayed with a 'You are Here' icon, a production location icon(s) and a text description of the location(s).

This image is of the search by keyword. The keyboard and item list are Java applets. The keyboard is used to enter the keyword and the item list is updated after each character is entered. The Java applets and HTML elements are integrated together with JavaScript. A JavaScript call back function is defined in the keyboard applet parameters and it is called after each character is entered. This JavaScript function then updates the keyword HTML element and invokes a method in the item list applet that updates the list of items. Another JavaScript call back function is defined for the item list to invoke when an item is selected from the list and navigates to the store map with the item location data.

These images are of the search by department and category in various states. The same item list Java applet from search by keyword is reused 3 times for a department list, category list and item list. The Java applets are again integrated together using JavaScript call back functions. Once a department is selected, the category list is updated to show that department's categories. After a category is selected, the item list is updated to show that category's items. Selecting an item navigates to the store map with the item location data.

These images are of the selecting an item from the weekly newspaper circular in various states. The second to last shows the bottom left the second page zoomed in and the last shows the transitioning of the second to third page. A Java applet displays images of the circular and navigates using the previous and next page arrows. As before, selecting an item invokes a JavaScript call back function to navigate to the store map with the item location data.

This image is the help HTML page.

These images are of the data file generator. It is a stand alone Java program that converts each keyword and department/category/item product ids into the store map location data by accessing the Target product database. A later version adds support for multiple stores and can automatically ftp the data files to each kiosk.