Size: 17685
Comment:
|
Size: 19024
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Appropriate use of sensors is one of the key methods to make mobile devices behave in really a useful, intelligent manner. Most of these are fairly easy to comprehend. A camera is a camera, and even accelerometers are understandable in a general sense with only minimal exposure. | [[http://www.amazon.com/gp/product/1449394639/ref=as_li_tf_tl?ie=UTF8&tag=4ourthmobile-20&linkCode=as2&camp=217145&creative=399373&creativeASIN=1449394639|{{attachment:wiki-banner-bonus.png|Click here to buy from Amazon.|align="right"}}]]Appropriate use of sensors is one of the key methods to make mobile devices behave in really a useful, intelligent manner. Most of these are fairly easy to comprehend. A camera is a camera, and even accelerometers are understandable in a general sense with only minimal exposure. |
Line 100: | Line 100: |
== Interior Location == All the location services described above assume a relatively clear line of sight to satellites or radio sources, and when not available simply assume the signal is lost or degraded. But an increasingly interesting field is interior, or indoor location where all traditional location services are unavailable or degraded. Some of these, such as WiFi and PAN are the same, but other factors of technology and design come into play, so as these become more settled, I will try to add additional information. == Direction == Another related aspect which will be expanded upon here eventually is that of direction. Magnetometers and accelerometers can be used to tell which way the device is pointing. While moving, track information can be used to provide direction information by GPS and sometimes other location services. These are very important to provide accurate information for even basic location services like turn-by-turn directions. Augmented reality requires very precise direction information, and other services can also use this as well. |
Appropriate use of sensors is one of the key methods to make mobile devices behave in really a useful, intelligent manner. Most of these are fairly easy to comprehend. A camera is a camera, and even accelerometers are understandable in a general sense with only minimal exposure.
Location services, however, are very complex due to their scale, the opacity of the operation, and poor choices in marketing communications. The most important thing for understanding location technology on mobile devices is to never, ever, ever conflate "GPS" with "location." The numerous technologies have been briefly discussed in the Location pattern above. Longer descriptions of the same are below.
The following are key guidelines to keep in mind when designing location services on mobile devices:
- Every phone is location enabled. GPS or not, working or not, there's some location available as long as it is attached to the network. If your service offers up a weather report or local news, a few thousand yards is practically pinpoint precision.
- All the available location technologies must be addressed when designing your application or service. Don't disable the whole service, even if it's about something that seems to require precision like mapping, just because the GPS is off.
Precision and accuracy must be understood by designers, and correctly exploited by the product. When the GPS is off, or doing badly, show the CEP circle so it's clear that we don't know exactly where you are. Admit the same lack of precision in text; say "turn right in about 1/4 mile," and so on.
- If you work for a carrier, exploiting the network like this should be a snap. If not, your devices or software may or may not be able to be talk to the phone enough, and you might need to negotiate with the carrier or find a third party provider. There are providers of location services that have already set up agreements with the operators.
- Consider what to store locally. Does the handset really need to be on the network, or should you give some functionality when the connection is bad or unavailable?
- Look useful without acting creepy. And don't just follow the letter of the law. Be careful with your user's data, share only what is needed, and store only what you really have to. Often, these last two are answered as "nothing." If that is the decision, make sure it's implemented as such, and no one gets lazy with the development or doesn't get the memo. Don't keep location information that is not relevant anymore, and be sure to encode information that has to be stored. Presence is considered personal information, so will be perceived as a breach of confidence, even if not a breach of law.
Location Technologies
This is more or less the same list as in the Location pattern above, just longer. These were written first, so there may be some repetition, but it seemed easier than trying to explain differences, and having you flip pages to refer to both sections. As much as possible, technologies are listed from least to most precision:
Cell
Mobile telephony is based on communications and handoff between cells, each of which is (generally) controlled by a single base station, generally on a tower with multiple antennas. The entire assemblage of tower, antennas, transmitters, shed to house it in and so on is called a Base Transceiver Station, or BTS.
The tower location is well-known, and its ID is attached to the call data record (used for billing and network control purposes), so it can be used by certain systems.
This is excellent as a fallback, when other things are not available. Better technologies are generally not available when roaming, and the data is not or cannot (due to technology or politics) shared at more precision with your home network or because you are from another operator.
Precision will vary widely by the size of the cell, and there is no (good, universally-accepted) method to determine and communicate precision and accuracy to the handset or any systems that use it. A good rule of thumb -- and something similar is generally used by devices -- is to assume the device falls within a circle 3000 yds (m) across, though this varies by the technology used.
Sector
Recall that each tower has multiple antennas. Those three (or four, depending on the technology and carrier implementation) antennas point different directions to cover an entire circle. Each of those is an independent mobile radio sector. Just like signals are handed off between cells, they are handed off between sectors, and the data is generally known to the handset and can sometimes be shared with services or providers. However, since the direction the sector faces is really only known to the company that installed it, and the network operator, they are the only ones that can use the data well.
Precision will vary widely by the size of the cell, and by the antennas used, the number on the cell, the down-angle, and so on. There are some semi-useful ways of determining precision and accuracy for a single read, but they are not univerally implemented and there is no way to send the data to the information providers (e.g. the map program). A good rule of thumb -– and something similar is generally used by devices -– is a circle 1200 yds (m) across, co-located with the radio centroid of the sector (which can be determined from maps and some educated guesswork; others have already done this). Yes, sectors are not circles, but it's also hard to communicate shape and orientation, so this works.
Triangulation
Generally, triangulation is the practice of determining the location of a point by measuring the angle and/or distance from several known locations. More points give more precision. It can get more complex when you try to find points in 3D space, but all mobile triangulation systems mostly assume the earth is locally perfectly flat, and simply find the location on the geoid. Methods of triangulating get really complex and vary by network type and equipment available; multilateration and signal interpolation are some of those. The math can get pretty harrowing.
Precision varies mostly by the number of sectors being used, the distance between them and other variables of the network. There may be a method of communicating to services employing it an approximation of the precision available. In any remotely built-up area, where it most often has enough sectors to work, a circle 50 yds (m) across is typical. 12 yd precision is possible, with good accuracy.
GPS Telemetry
The Global Positioning System is a GNSS (Global Navigation Satellite System) consisting of a ground based control system, a series of satellites and any number of anonymous receivers. So, reading that alone dismisses many misconceptions; its one-way, it's a system, and the signal is from satellites and has nothing to do with mobile networks.
Telemetry means data sent from a remote (usually mobile) site like a rocket, back to base. Here, it means the device figures out where it is by listening to the satellites, then tells the network or website or whatever where it is.
GPS can yield precision to fractions of an inch at least. But those are large, complex devices used for special surveying and scientific tasks, and require the antenna to be fixed to the ground for a period of time, then rotated for reasons not worth getting into here. Portable, hand-held receivers like those in mobile handsets can generally be assumed to give precision of 20-50 ft, though antenna and signal processing improves constantly and precision can be in single digit feet.
Selective Availability is the capability of the U.S. government to partly or entirely disable the commercial GPS network so enemy forces cannot use the system. Military receivers are functionally identical, but use a special, coded signal instead. In practice, this is unlikely to ever take place outside of a global catastrophe in which you won't much care about GPS anyway.
However, it exemplifies the theoretical risk of a major system being held by a single country. Therefore, there are other national and regional GNSS systems, like Galileo, GLONASS, and COMPASS as well. None of these are really fully-active, and there are few or no receivers in mobiles as yet. In theory, eventually, using multiple unrelated systems will give better accuracy yet, and give better coverage when in touchy situations like in dense cities.
WAAS
GPS uses radios, and the atmosphere and earth are imperfect and can displace or distort the signals. WAAS is a satellite based augmentation system based in North America (others exist in the rest of the world, but are less well-established) that sends additional signals via another set of satellites to allow GPS receivers to adjust for those inaccuracies. I know of no mobile phones that have a built-in WAAS receiver, but it's a location technology that does exist, is almost universally used on every dedicated GPS device, and is employed on BTSs using AGPS.
AGPS
Assisted GPS requires the use of mobile networks, so only works when in data communication range. The BTS has its own GPS receiver (which many already have in order to get precise time signals), and usually a WAAS receiver. AGPS provides a bit more precision, assures it of more accuracy, but mostly helps speed up cold or warm starts.
Briefly, for a GPS to work, the receiver has to download data about all the satellites before it can calculate the position. AGPS caches this info for the phone, and sends over just the relevant bits, cutting minutes to a second or two.
This is a reason you may not see WAAS, and might see some benefits from other GNSS (say, GLONASS) before the receivers are added to the handsets. AGPS generally gives precision, even in dense areas and on the move, of 10 ft or better. Two foot indicated precision has been observed.
AGPS is not generally selectable as a separate service; when the user chooses to turn on or off "GPS," and has a network connection (and an AGPS compliant phone, etc.) they get the advantages of AGPS if it is available on the network and BTS. You can often see this at work, as your location will be almost perfect when in a home network, but suddenly be worse when traveling. Check, and you will probably be roaming, so incapable of communicating with the AGPS features of the roaming network BTS.
WLANs & PANs
Local networks like WiFi and Bluetooth are not exactly more precise,but are at the bottom of this list because they are local, and can add another layer of location, so could increase precision. They can also be used instead of other technologies when there is no GPS signal, or a bad mobile signal so triangulation cannot be used.
Both of these currently use the "cell" (or network identifier) and triangulation methods described above, but with their transmitters. There are no sectors, and no universally-adopted AGPS system to work with device telemetry. Naturally, a handset getting good GPS data can send that telemetry to anyone over any network, including WiFi, but that's not the same thing.
They are both relatively more rare, and often are supported by third party software or individual services (which may have specific capabilities), and are not universally implemented on the handset. There are no reliable, independently verified numbers on the real-world precision, but tests of WiFi triangulation alone have gone down to inches. On the other hand, poor network identification has led to placing users on the wrong continent. There's room to improve here.
Ask
People often know where they are. If you cannot get any location, or there's a reason they might want to over-ride it (even as simple as the data is bad) let them enter a location. Never over-ride user-entered data, at least not without a warning.
If you do this, allow lots of methods and think about what the user knows, and is comfortable with. Do not require a street address unless really needed. Do not use simple entries like ZIP (or postal) code, if the user is unlikely to know it, such as when traveling.
Key Topics in Implementing Location Services
Location is Not Just GPS
All of the above is pretty well known by network engineers, chip-makers, and various low-level handset software designers. But it is often missed a bit by various software implementations (and certainly by marketing). All too often GPS is navigation, such that turning it off kills all location services. Certain systems are becoming aware of this, and (e.g.) just give poorer precision when you turn the GPS off, but it do allow location services to work.
Vertical Accuracy
Vertical location is not known with many systems, and is much worse than the horizontal accuracy even with GPS/AGPS. Consider this in your design if users in buildings or even just multi-level roadways are likely to be encountered. Technology may not reveal the vertical position with sufficient fidelity for the system to respond usefully. But if you can derive vertical location, start thinking about using it. A person 120 feet off the ground does not want a coupon for the Starbucks across the street; he's probably in a meeting or at his desk in a building. Eventually, map data should account for this, and even simple, obvious things like multi-level roadway navigation will also become easier.
Precision vs. Accuracy
Precision vs. accuracy is often confused. A quick primer: precision is the number of decimal places you measure something to; accuracy is how correct it is. The less accurate a measurement is, the less precisely it should be reported. Practically every location system gives location to the same degree of precision (e.g. 1 meter, using full UTM precision) at all times, and presumes the accuracy measure will be considered as well.
Visual representations are similar. The moving arrow (or car, or person icon) is the centroid of the current location precision circle. Even when that accuracy circle is displayed, the centroid marker implies much higher precision than is actually being achieved. Consider better ways to represent location to avoid user confusion.
Appropriateness of Information
Display of information services should be related to the current accuracy. For example, turn-by-turn directions always assume perfect location precision (using the centroid of the current location accuracy circle), and say "you have arrived" instead of "it's the big, white building on the north side of the street." What if the location is vague and the target or turn is 30 yards behind you, or 50 in front? The user is confused. Close roads (in dense cities), multi-tier highways and other situations can exacerbate the effect of this behavior.
Design to accommodate imperfect location instead.
Data Integrity and Reliability
If your map might be wrong, or imprecise or inaccurate (and they all might be) then think about this when planning the interaction. Don't assume your data is perfect, and give contextually-helpful information. Let users note problems, and do something with the problem reports.
Local vs. Network Storage
Handheld dedicated GPS units and most in-car units store map data locally, so when a GPS fix is found a map can be displayed immediately. Mobiles generally assume functionality only when on the network, even when a GPS is included. If your service is usable when out of network range (e.g. it's just for navigation, not for social media or communications), consider storing or cacheing enough information locally for the device to work when out of network coverage.
Interior Location
All the location services described above assume a relatively clear line of sight to satellites or radio sources, and when not available simply assume the signal is lost or degraded. But an increasingly interesting field is interior, or indoor location where all traditional location services are unavailable or degraded.
Some of these, such as WiFi and PAN are the same, but other factors of technology and design come into play, so as these become more settled, I will try to add additional information.
Direction
Another related aspect which will be expanded upon here eventually is that of direction. Magnetometers and accelerometers can be used to tell which way the device is pointing. While moving, track information can be used to provide direction information by GPS and sometimes other location services.
These are very important to provide accurate information for even basic location services like turn-by-turn directions. Augmented reality requires very precise direction information, and other services can also use this as well.
External References
Next: Drawing Tools & Templates
Discuss & Add
Please do not change content above this line, as it's a perfect match with the printed book. Everything else you want to add goes down here.
Examples
If you want to add examples (and we occasionally do also) add them here.
Make a new section
Just like this. If, for example, you want to argue about the differences between, say, Tidwell's Vertical Stack, and our general concept of the List, then add a section to discuss. If we're successful, we'll get to make a new edition and will take all these discussions into account.