Layar app uses GPS to position user location. GPS accuracy is affected by a number of factors, including satellite positions, noise in the radio signal, atmospheric conditions, and natural barriers to the signal. Noise can create an error between 1 to 10 meters and results from static or interference from something near the receiver or something on the same frequency. Objects such as mountains or buildings between the satellite and the receiver can also produce error, sometimes up to 30 meters. Therefore, Layar shows much more accurate user position when the user stands on an open field instead of in a city surrounded by buildings. In Layar client, you can see the GPS accuracy in the AR view by clicking on the radar icon.
Layar app is not really suitable for indoor usage since the use case quite often requires an accuracy of less than 10m. For the layers which should provide users with a plan of building (person, floor, cabin, positon, etc) we recommend to create one or few POIs (office location or different entrances) and add actions for this POIs pointed to the web page where visitors can find needed info - some kind of web views that shows an indoor map.
A layer developer, John Sietsma, has come up with a way to improve position in Layar using QR code. You can check it out at http://blog.neonascent.net/archives/improving-positioning-in-layar-using-qr-codes/.