Libraries have terrible maps; supermarkets and department stores have bad signage; all of them have a built-in system for navigation that we don't use: barcodes.
That's the argument of researchers Simon Robinson, Jennifer Pearson, and Matt Jones from the Future Interaction Technology Lab at Swansea University. They've come up with a way to use barcodes and library call numbers for indoor navigation (here's the whole PDF).
You just search for the book or product you want, scan a nearby barcode or call number—which tells them where you are—and the system plots a map to your destination.
The Library of Congress cataloguing system that most libraries use is incredibly standardized and has a high level of granularity to its data, so their BookMark app (only for Android-owning users of Swansea University Library for now) can take you to exactly the right shelf.
Most stores don't have this level of detail in their data, but they know what aisle or section a product is in.
It takes work to spatialize inventory and catalog information, so it can be used this way, but the researchers are trying to make it easier. They're working on a way of taking existing store maps and automatically separating them into "product zones."
Piggybacking on "ubiquitous markers" like barcodes, have had decades of robust testing and use, seems more efficient than encrusting new layers like QR codes or beacons, though those can have added functionality.
OCR would be one way to extend their idea. It has already been prototyped in a museum by Cooper Hewitt Labs; their "Label Whisperer" recognizes accession numbers from the photo of a label and points you to the online catalogue entry for the object. It's a small step from there to an even easier kind of navigation. [University of Swansea]