Luke Francl, BBYOpen Developer, shared Best Buy's latest App Engine project.
"As part of Best Buy's Connected Store initiative, we've placed QR codes on our product information Fact Tags, in addition to the standard pricing and product descriptions already printed there. When a customer uses Best Buy app, or any other QR code scanner, they're shown the product details for the product they've scanned, powered by the BBYOpen API or the m.bestbuy.com platform.
To track what stores and products are most popular, QR codes are also encoded with the store number. My project at Best Buy has been to analyze these scans and make new landing pages for QR codes easier to create.
Since we've the geo-location of the stores and product details from our API, it's a natural fit to display these scans on a map. We implemented an initial version of this idea, which used polling to visualize recent scans. To take our this a step further, we thought it would be exciting to use the recently launched App Engine Channel API to update our map in real-time.
In order to broadcast updates to multiple users, our solution was to keep a list of client IDs and send an update message to each of them.
To implement this, we decided to store the list of active channels in memcache. This solution is not ideal as there are race conditions when we modify the list of client IDs," Google App team.