I was introduced to the Novatel MiFi 2200 as a solution to a serious personal problem. My wife needed to stream an Illinois High School football game while we vacationed poolside in Florida. No wireless connection poolside so I needed a mobile broadband modem. a buddy let me borrow his MiFi for the trip and man was I impressed. What an easy to use and wonderfully positioned device. I haven’t been this pleasantly surprised with a consumer device since the first iPhone arrived. If you travel often, this is a must have.
It literally was this simple:
- Power on the MiFi
- Open up network connections on the laptop
- Connect to the SSID and provide the password
- Navigate to IHSA.org and start streaming live football
Video quality was not great, but it was adequate and my wife got to watch her brother’s team win the State Championship in real time. (Yes that was a shameless plug for the state champion Morrison Mustangs). Better than that I was the hero of the day for making it possible to watch the game. From husband to hero in 4 easy steps.
So how does this apply to Retail Technology? Simple, wired network access in brick-an-mortar stores is, even today, prone to reliability issues. We spend countless hours of development and QA time making sure that our mission critical applications run offline in our stores and we still run into problems every time the network goes down because a guy on a backhoe cuts the line a mile away from the store. We failover to an ISDN line but lack of bandwidth slows everything to a painful crawl. That’s when the phone starts ringing and we wonder why we don’t write software for Pepsi machines instead?
If I can stream live video poolside in FL then I can keep the stores submitting transactions over the same network. The MiFi isn’t well suited to a store environment but it got me thinking there’s no reason I can’t install a 4G or 3G wireless router in the store as failover for my traditional wired broadband connection. The only question is cost and the answer on cost is surprising. Here’s what you need:
- $250 3G/4G wireless router from Cradlepoint
- $0 (with contract) Sprint 3G/4G USB Modem
- $70 per month unlimited data usage
When you think about all the money we spend to account for those moments when the network is offline a onetime cost of $250 for the router and an ongoing monthly cost of $70 for the modem is a GREAT deal. But it gets better, in two ways:
- Sprint has built failover into their device also. When you lose connectivity on the 4G network is fails over to the 3G network. Bandwidth degrades but you’re still connected at broadband speeds. In a sense you now have dual failover.
- That ISDN line I mentioned earlier isn’t free. With the solution above you can disconnect your twisted pair and apply those dollars to the new failover system. Total incremental cost of your new wireless failover may be as low as the investment in the $250 router from Cradlepoint, assuming your ISDN line runs more than $70 per month.
One last note on cost, these are all based on unit sales in quantities of one. Package up all your locations and you can probably negotiate a better deal with Sprint and with Cradlepoint.
We always have to plan for offline scenarios, but its well worth $70 a month to make the ringing phone of death less likely.
I am off to purchase my own MiFi. Turns out the one I used in Florida was just a loaner and not mine to keep. Alas!
Oh and Go Mustangs!!

My key chain has more rewards cards on it than it does keys. Seriously I have 3 keys and 4 rewards cards. The idea behind these cards is that rewarding my shopping behavior will earn my loyalty. But do rewards programs really influence customer behavior? Let’s take a look.
My rewards cards:
- Jewel Preferred Card (grocery)
- Borders Rewards Card (books)
- Binny’s Rewards (wine)
- Dominick’s Fresh Saver (grocery)
You might notice that I have 2 grocery loyalty cards. That’s our first indication that maybe rewards don’t lead to loyal customers. The only reason I have their loyalty cards is because they save me money when I do happen into one of those stores.
I’m not really loyal to the Border’s brand either. I like their stores and their staff is generally helpful but my patronage is really based on the fact that one is located a mile from my house. I go there because its convenient. If Barnes & Noble was a mile closer i might be carrying their rewards card too.
My point is I carry these rewards cards but they in no way influence my buying decisions. I will gladly accept the savings I get from them and I take some pleasure in seeing how much “preferred savings” I can rack up at the grocery store but in no way do these programs influence my decisions.
This begs two questions. 1) Why don’t rewards programs work? 2) What’s a better investment to improve loyalty?
1) Why don’t loyalty programs work?
The fatal flaw with rewards programs is the notion that a retailer can buy loyalty through freebies and discounts. Loyalty is not bought. Its earned through better service, better products, and a personal alignment with a brand image. Discounts, sales, your 10th coffee free, etc. may entice a customer to flirt with new retailers but its a temporary relationship. Rewards programs fail to generate loyalty because loyalty is not a commodity that can be bought.
2) What’s a better investment to improve loyalty?
The truth today is convenience is becoming the biggest influencer of customer loyalty. Brand differentiation is getting harder and harder in retail. Pricing is similar, product mix is similar, customer service is similar, even brand management is similar across retailers. All these being equal it comes down to which retailer offers the most convenient shopping experience.
6 months ago I would have told you that I am a loyal Starbucks customer. I would have been wrong. I buy a lot of Starbuck coffee but I am not loyal. I recently started taking the train into the city more often than I drive and there is a Caribou Coffee 22 steps from the train station. So 3 days a week my loyalty resides with Caribou. Location, location, location…right? Wrong. Convenience, convenience, convenience. Location is simply the first step towards convenience.
Lets’ say Starbuck’s moved into the the empty store front next to Caribou, thus solving the location issue. Where would I get my coffee? I have no idea because I like them both and the price of a medium (Grande) coffee is about the same at both. It would come down to which one could get me in and out the door fastest. I have a train to catch and the store that consistently gets me in and out the fastest wins because that becomes the most convenient stop for my morning coffee. Today, both of them do an ok job of getting me out the door quickly. But there are roadblocks. There are cups that get written on, lots of talking between the cashier and the barista, and a complicated menus that confuse customers in front of me and slows down the line. Not huge problems but inconveniences to be sure. All other things be equal, or close to equal, the inconveniences become opportunities to win loyalty.
How can we become more convenient and generate loyalty?
There are a number of ways to improve convenience through technology and else where. Here’s a quick list.
1) Location: Location is clearly has the biggest impact on convenience, even in e-commerce. Location is about accessibility so location on the web means search engine optimization and a simple and easy domain access. The more customers have to look for an online retailer, the less likely they are to shop there. On the less technical side…In our coffee war, Starbucks should be looking to relocate 2 blocks over.
2) Store layout: I’m going to break with years or retail tradition and say get rid of the stuff that keeps the customer in the store longer. Make it easy for the customer to navigate the store or web site so they can get in and out quickly. If you have a physical store this extends to the parking lot. The local Burger King has a bad parking lot that gets obstructed by the drive-thru lane, so I go to the McDonald’s across the street every time…even when my kids would prefer the toy promotion that Burger King has going. My kids are clearly loyal to the coolest happy meal toy…but that’s a different story. That parking lot costs me 2-5 minutes every time I get near it. Inconvenient layout hurts loyalty.
3) Checkout Process: Get me through the line faster. Technology can play a huge role in the checkout process. Take the coffee makers for example. They enter my order in a Point-of-Sale and then write my order on individual cups. The POS could display my order on a screen for the barista automatically, which would save time on every cup sold. Once the coffee is made the barista yells out “Latte” and 8 people all think its their Latte. Confused customers leads to inconvenience. Since I paid with a credit card (because its more convenient for me) the POS could take my name off the card and display it with my order so the barista can yell “Latte for Gary”. Just two quick ideas on making my coffee buying experience more convenient.
4) Employee Education: There is nothing more frustrating than watching an employee struggle with store technology or have to ask a colleague about a product being sold when you’re in a hurry. Employees need to know the systems they use and the products they sell before they work in rush hour. What do you do? 1) Build more intuitive user interfaces for your systems so employees learn faster and become ready for prime time more easily. 2) Provide regular multi-media based training on products and systems on site in the store. If you don’t have an infrastructure for in-store training you’re going to walk customers every time you hire a new employee or introduce a new product line. It may only be a customer or 2 but it adds up and hurts loyalty.
5) Customer Education: Better electronic signage that grabs customers attention and explains a Carmel High Rise Macchiato Espresso Double Dark would help reduce the inevitable explanation that occurs just as my train is entering the station. If the customers are better informed about the products they want to buy the shopping experience becomes more convenient for them and for other customers behind them in line. Microsoft Tag is another option for getting product information in the hands of the customer. Check out this post on Tag for more information.
6) Self-Service: Loyal customers no how to navigate your store quickly and effectively and they are the most likely audience for self-service kiosks and checkout lanes. I use self-service every where its available because self-service “feels” more convenient. It may actually take me longer to check out myself but the lack of idle time creates the perception that self-service is more convenient. I get a medium dark roast (Grande at Starbucks) every day. Wouldn’t it be great if I didn’t have to wait for 4 other customers to order the Carmel High Rise Macchiato Espresso Double Dark when all I need is my regular order. One swipe of a card and a touch of the screen and I could be half way out the door.
7) A more accessible staff: Busy employees create customer inconvenience because they are inaccessible. On the other hand, freeing up staff from mundane tasks creates a more convenient shopping experience and better customer service. Invest in inventory systems, automation products, and unified communication devices that improve labor efficiency. Do this not as a way to reduce labor costs but as a way to improve customer service, customer convenience, and ultimately customer loyalty. Often, companies use the potential reduction in staff and the corresponding cost savings as justification to take on a project. Bad idea. Keep the staff, earn loyalty, increase revenue. Use that to justify project investments.
I’m picking on coffee vendors to illustrate my point, but seemingly minor inconveniences exist throughout retail and can be improved with simple but innovative investments in technology. Rather than giving customers free airline tickets, give them convenience instead. In the long run you will have happier customers and more revenue.
I am a regular reader of Morning News Beat, but I have to admit I missed this comment and a colleague had to point it out to me. Kevin Coupe was writing in reference to retail kiosks and made the following observation:
“…while the idea of computer screens or kiosks would seem to be modern, it in fact strikes me as dated technology. Diageo ought to be looking forward more, and considering in its plans the fact that as more and more people have smart phones, they are walking into stores with miniature kiosks in their pockets…and that building screens and kiosks is an investment in technology that soon will be obsolete.”
I love the sentiment of the statement even if I disagree with the overall assertion. Lets start with where I disagree so we can get that out of the way. Kiosks and electronic signage are far from “soon to be obsolete”. In fact we have barely cracked the surface on the different ways we can leverage these technologies to engage customers in retail stores. A retailer that sits back and waits for the customer to come to them via technology (using their own smart phone or other device) risks losing market share to more aggressive competitors. In today’s market we need to look for every opportunity to bring our brand to our customers…not the other way around…and kiosks and electronic signage are a great way to do that.
Forget about the obsolescence argument though so we can focus on the concept of “miniature kiosks in customers pockets”. On this we agree…smart phones present a great way to provide additional tools for your customers. At the moment the most compelling new technology to turn customer-owned devices into mini kiosks has to be Microsoft Tag.
The idea behind Tag is extremely simple…leverage the camera in mobile devices as a sort of next generation barcode reader. Here’s how it works:
- Position you mobile device so that a Tag is in the view finder of your device camera.
- The Tag application software reads the tag and uses the Tag definition to query servers for the data that corresponds to the Tag.
- The corresponding data is returned to the Tag application where it can be acted on.
Example Tag:
That’s it. It is very simple, which is the beauty of the concept. It very simply provides a way to obtain data on a mobile device and at its core a Tag is really only a more flexible version of a UPC. The most compelling difference is the Tag can be more reliably read by just about any mobile phone with a simple digital camera.
So, now that we can use a customer’s device to read data what do we do with it? Simple, we use it to make our customers’ lives easier. Here are a couple of ways we can do that:
- Place a Tags on store shelves for each product. This will allow customers to read the Tag and obtain product data that will help them make buying decisions.
- Place Tags on loyalty cards. This will allow customers to quickly access information about their loyalty rewards.
- Place Tags on weekly fliers/inserts. This will allow customers to scan the Tag and get a list of promotions that are specific to their buying habits.
- Place Tags on receipts. This will allow customers to quickly access the same information they might obtain by scanning their loyalty card. It could also be used to create an electronic version of the receipt for expense purposes.
- Place Tags on Gift Cards to allow customers to consolidate balances from multiple cards on to a single card. I would love for Starbucks to do this. I am a big fan of Starbucks coffee and at any given time I seem to have 2 to 3 cards with random balances on them. I would love to be able to use my phone to scan a tag on the card and have its balance transferred to my primary card.
Speaking of Starbucks, we recently put together a mobile demo that uses Starbucks business model as inspiration (we love Starbucks coffee…a topic for another day). Check out the video below to see a quick demonstration. NOTE this demo and video were NOT funded by or sponsored by Starbucks. This scenario purely the invention of Clarity Consulting and it has not been reviewed or endorsed by the coffee maker. Excuse the cheesy narration…I need to hire better voice talent.
MTag from
Gary Gilmer on
Vimeo.
In our view, Microsoft Tag presents an excellent opportunity to quickly turn your customers mobile devices into Pocket Kiosks. Cost of entry into this space is going to be pretty inexpensive as most of the hardware costs are covered by the customer. It is not a replacement for in-store kiosks or in-store electronic signage but it is certainly an outstanding compliment to those technologies.
In part I of this post we touched on the technical hurdle of managing input from two touch enabled devices concurrently. In this post I will demonstrate how we can solve that problem by leveraging WPF Routed Events and WM_INPUT messages.
Lets revisit the problem quickly. When we plug two touch screens into a PC Windows manages the input from those touch screens as a single mouse. Every time you touch either screens Windows moves the system cursor to the location of the touch. Managing the input this way makes it impossible to drag your finger across both screens at the same time because the cursor can only be in one location at any given time. Check out this video to see the problem in live action:
MultiTouch Video 1 from
Gary Gilmer on
Vimeo.
We need a way to manage the input from the touch screens independently from the system cursor which means we need to intercept the raw input from the touch screen and manage it ourselves rather than letting Windows interpret the data as a system mouse. This really isn’t a new concept. In many ways its just like managing input from multiple gaming devices at the same time. Incidentally, that’s where the idea originated from, specifically from Rick Barazza’s blog on Wii Control with WPF. Thanks to Rick (who I’ve never met) for the inspiration.
So let’s look at the solution I’ve developed.
Step 1: Intercept the Raw Input
There are a number of good samples on intercepting the raw input from Mice, keyboards, or generic HID devices. I started with the code published by Emma Burrows on Code Project. the code is well written and very easy to pick up. The only changes I needed to make was to alter it slightly to enumerate touch screens rather than keyboards and replace the keystroke events with my own RawTouchDown, RawTouchUp, and RawTouchDrag events. Emma gets the credit here so I won’t post the code. You can pull it down from code project yourself.
Step 2: Define Routed Events that can be attached to WPF UI Elements
We’re going to create a Library that can be shared across multiple WPF executables. We'll call it the Clarity Touch Library. First thing we need in our library are the touch events that will bubble up through our WPF UI Elements.
Once we’ve defined our events we need to provide a way for WPF to attach those events to UIElements. We do that with Add and Remove handler methods. Here are examples for the TouchDrag event:
Step 3: Detect the Input and Raise the event from WPF UIElements
Now that we have defined our events and provided a way to wire up the handlers for those events we need to actually trigger the events. Back in our RawInput code that we got from Emma we need to capture the raw touch, identify what UIElements are affected by the raw touch and then fire Routed event and let it bubble up through the visual tree. We do that with two simple methods. One method that performs a hit test, and one that fires the touch event. Examples of both are provided below:
The pt variable is the location at which the touch occurred. The visual variable is the Screen on which it occurred. Both variables are determined based on the RawInput data coming from the individual touch screen devices.
And that’s it, our ClarityTouchLibrary is ready to be referenced by UIElements. In the case of the application in our POS video that means replacing the delegate listening to mouse events with a delegate for the new touch events. This is a simple change to our existing XAML.
Its a very simple solution to what has been a nagging problem for Retailers that want to be able to manage both a customer screen and a cashier screen at their POS. With our changes in place lets take a look at what our new video looks like. And the real innovation isn’t my code, its the flexibility afforded us by WPF and specifically Routed Events. Implementing this same concept in Win Forms rather than WPF would have required a host of custom user controls and a much more extensive development cycle.
MultiTouch Video 2 from
Gary Gilmer on
Vimeo.
About a year ago we had the privilege of working with Marty Ramos on a POS concept that was designed from the ground up to reduce average checkout times and improve operational efficiency. It was a great opportunity for us to show off some of our technical and design skills but an even better opportunity for us to learn from Marty and his extensive retail background. The POC had a lot of cool stuff (check out the video) but the aspect I want to focus on today is the idea of adding a customer facing, touch enabled display to the POS. This was a key aspect of our POC and a feature that really extends the capabilities of a POS and enables you to reach your customers while you have their undivided attention.
Couple of quick questions should pop to mind as you think about adding a second touch enabled device:
1) Why engage the customer at the POS? There is a ton of opportunity if we have a display facing the customer. Here’s a brief list of features made possible by a customer facing display:
- We can entice the customer to tender earlier in the checkout process reducing checkout by as much as 25% on credit and RF transactions.
- We can inform the customer of promotions and offerings to drive more sales.
- We can solicit information about the customer to improve customer service and enhance marketing efforts.
- We can provide additional features that save the customer time and energy and ultimately enhance overall customer satisfaction.
2) Touch displays aren’t free. How do you justify the cost? Well the first thing to do is too see where we drive cost out of our existing system. If you don’t have a customer screen today you’re probably using a PIN Pad device that also handles Signature Capture. These tend to be a good deal more expensive than devices that only handle PIN entry. As an example, we can save anywhere from $200 to $450 per POS Installation by switching from a high end Sig-Cap device to a simple PIN Pad device.
High end VeriFone sig-cap device ($520 from Dell Business)
Simple VeriFone PIN Pad ($65 from Merchant equipment)

That savings can then be applied to cover anywhere from 50% to 90% of the cost of a touch screen like this one from Elo which retails for about $500. The remaining cost can be recovered by the increase in revenue associated with the customer facing display.
3) How do I manage multiple touch screens simultaneously? Your operating system will handle input from the touch screen just as it does a mouse, which general means only one screen will be able to have focus at any given time.. If we have two devices being used simultaneously we need to ensure that both can have focus at the same time. The easy solution is to call Clarity, we can help. The longer more technical answer is to manage the raw input form each display yourself rather than depending on Windows to manage them as a system mouse. Managing the raw input sounds more involved than it really is. In my next post I’ll demonstrate how combining raw input and WPF attached events make managing multiple touch screens a breeze. Stay tuned.
I was recently asked by a journalist: “Which operating system is better for the kiosk deployer to use – Microsoft or Linux?”
It’s a great question, but the article ended up focusing more on security rather than the broader issue of what’s the best platform [article]. Since the initial question was never really answered, I thought I would tackle it here, today.
There are four different angles I would approach the question from:
- Which OS provides the best stability, and security, and 3rd party device support?
- Which OS provides the best development platform?
- Which OS integrates best into my existing IT infrastructure?
- Which OS has the lowest total cost of ownership?
The answer to these may vary based on existing IT investments but in the majority of cases Windows will be the answer to all three.
Stability, Security, 3rd party device support:
Windows, specifically Windows Embedded POSReady 2009, is a predefined image that is a derivative of Windows XP. It’s a mature, tested, and proven OS with well architected support and maintenance features, security features, and upgrade procedures.
POSReady 2009 is specifically intended to be used in the point-of-service (a kiosk is fundamentally a POS device) space and provides support for a host of other Microsoft technologies that facilitate the deployment, maintenance, and support of POS applications.
Lastly, the sheer number of 3rd party peripheral devices (scanners, scales, printers, biometric devices, etc.) that ship with certified windows drivers greatly exceeds that of other platforms. This gives us significantly more flexibility when choosing kiosk hardware to deploy in the field.
A great example of this is this Family Dollar case study.
Development Platform:
Microsoft development technologies are the best in the business. WPF and Silverlight in particular are game changing in terms of how quickly we can get a rich, compelling, brand enhancing user interface to market. I am comfortable stating that these technologies alone reduce time-to-market by 75% from where we were 2 years ago. In addition to WPF and Silverlight we have POS for .NET as a platform for integrating device support. POS for .NET allows us to write kiosk software without regard to the hardware vendors that will be used to build out the kiosk. This give us the flexibility to change vendors without ever changing code simply by installing the new device drivers. That's a huge time and cost saver for kiosk developers.
Integration into existing IT infrastructure:
This one is really dependent on a firms existing infrastructure, but one new take on this is the ability to leverage kiosk investments across sales channels. WPF and Silverlight are both XAML based technologies and we can leverage the investments in XAML at the kiosk and repurpose them for the Point-of-sale and the Web. This is a big win in terms of maintaining a consistent customer experience across all of our customer touch points, whether they are in a store, at a kiosk, or at home on-line.
Cost of Ownership
Most retailers already have an investment in Windows and have a trained IT staff and mature processes for maintaining Windows machines across the enterprise. Running your kiosk or POS on Windows allows you to leverage those same resources and processes to maintain your in-store technology as well. in the long run Windows is going to be easier to manage, more secure and more reliable than the other platforms available to retailers.
I spent a little time looking for proof points and it didn’t take long to see this holding true for retailer after retailer. According to a Regal Entertainment case study, that organization will save $10M over the next 5 years after switching from Linux to Windows. Wickes, a UK based retailer, has reduced help desk incidents for their POS by 90%. Add the following case studies and you got some pretty compelling proof points.
So back to the original question. What is the best OS for kiosks? Windows, and specifically Windows Embedded POSReady 2009, is currently your best deployment platform hands down, which explains why they continue to grab market share. In 2008 Windows market share increased from 71% to 76%, according to a study by IHL Group and reported by Progressive Grocer.
Win 7 may change that…but that’s another post.
Now is a very challenging time for American retailers. Margins are thinner than ever, customers are cutting back on discretionary spending, and competition is fierce. Many retailers are responding by cutting costs, reducing capital investments and in some cases shuttering stores. In a sense many retailers are simply trying to wait out the storm.
But is that the right approach? Is now the time to batten down the hatches, conserve cash, and put innovation on hold while we wait for the waters to recede? Or is now the time to roll up our sleeves and invest in the future?
Over the next few months this blog is going to focus on demonstrating how retailers can invest in technology to drive revenue, improve operational efficiency, and improve customer loyalty while the competition waits out the storm. We are going to focus on projects that have low startup costs, quicker time-to-market, and projects that drive real and immediate return on investment.
We’ll cover the technology gambit from idea, to architecture, to code samples.
Blog topics to come:
- Up-sell at the Point-of-Service
- Cross-sell at the Point-of-Service
- Increase order size with Self-Service kiosks
- Leverage your customers’ social behavior to gain more customers
- Improve customer loyalty through instant access to experts and inventory
- Change the way customers view your brand with in-store technology
We’re not talking about blow-out sales, discount promotions, or other gimmicks that will get you through in the short term. We’re talking about innovation delivered in the near term that you can build on for years to come. It’s going to be a fun ride…