Archive for the ‘Context’ Category

introduction to location based services (and not just GPS)

Monday, April 26th, 2010

Entirely aside from my tactical land navigation and GPS training efforts, I have been working on or with location based services for mobiles since around 1999. I have this pretty well baked into my brain, but not everyone does, and so it's a topic I had to expound about with some of the new guys lately.

Being complex enough (and changing over time) that I actually messed up part of it off the top of my head the other day, it's certainly too much for everyone to just listen to, so I decided it was a good thing to sit and write in some detail. I'll also be posting it to the D4M mobile design wiki when done, and will presumably remember to update it periodically.

Edit: This has been modified and posted to the wiki at this location. So, if you disagree (for example, because you are reading this years later) go there and edit the page to make it more accurate and up to date.

The most important thing is to never, ever, ever conflate "GPS" with "location." After that, it's best to dive straight into the individual technologies. I like to break down location services by (approximately) least to most precise:

Cell

Mobile telephony is based on communications and handoff between cells, each of which is (generally) controlled by a single tower with multiple antennas. The tower location is well-known, and its ID is attached to the CDR, so it can be detected.

This is a fallback, when other things are not available. Better technologies are generally not available when roaming, and the data is not or cannot (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. My rule of thumb – and something similar is generally used by devices  – is a circle 3000 yds (m) across.

Sector

Recall that each tower has multiple antennas. Those three (or four, rarely anything else, depends on the carrier)  antennas point different directions. 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). My 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. 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 I have known 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 so on. Though I cannot recall what it is, I believe there is 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. I have seen 12 yd precision, with good accuracy.

GPS Telemetry

The Global Positioning System consists 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.

Ignoring SA GPS can give precision to... well, fractions of an inch at least. But those are big, car-expensive devices used for special surveying and so on. Portable, hand-held receivers like those in mobile handsets can generally be assumed to give precision of 20-50 ft.

There are other systems, like GalileoGLONASS, and COMPASS but 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 mess with them. 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 WAAS receiver, but it's there.

AGPS

Assisted GPS requires the use of mobile networks, so only works when in data communication range. The cell tower has its own GPS (which many use anyway to get precise time codes), probably with a WAAS receiver. This 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. Which helps.

This is a reason you may not see WAAS, and might see some benefits from other GNSS (say, GLONASS) before they bother getting receivers into the handsets.

These generally give precision, even in dense areas and on the move of 10 ft or better. I have seen 2 ft indicated precision and have no reason to doubt it.

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.

WLANs & PANs

Local networks like WiFi and Bluetooth are not exactly more precise, but I stuck them 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. There are no sectors, and no universally-adopted AGPS system that I am aware of. Naturally, a handset getting good GPS data can send that telemetry to anyone over any network, including WiFi, but that's not what we're talking about here.

They are both relatively more rare, and often are supported by third party software or individual services, and are not universally implemented on the handset. I have no reliable 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. If you do this, allow lots of methods. Only accepting ZIP or postal code is not useful for e.g. travellers, who do not generally know the ZIP where they are.



All the above is pretty well known by network engineers, and chip-makers and various low-level handset software guys. 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.

Happily, Android seems pretty good about this, and just gives poorer precision when you turn the GPS off, but it does allow location services to work.

Which brings up a good point. Precision vs. accuracy is often also messed up, whether its confusing the two terms or just not communicating well. A quick primer: precision is the number of decimal places you measure something to; accuracy is how correct it is. The less accurate you think your measurement is, the less precisely you should report it.

Location precision examples
This image sums up what should be happening, but for more ranting about this start with this older post on GPS.

Following straight on from precision and accuracy is appropriateness of information. I believe that the biggest problem with turn-by-turn directions is that they assume perfect location precision, and say "you have arrived" instead of "it's the big, white building on the north side of the street," because maybe it's 30 yards behind you, or 50 in front.

The other problem with driving directions is bad data. 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.

Speaking of data (though it rambles, this thing just writes itself), where does that map data come from? Well, it depends. On my handheld GPS unit, most in-car units and some handsets now, it's in the device. But too many people (including designers) are so used to mobile phone maps they think GPS is AGPS, and only works when you can get network location, network maps, etc. Wrong. And a bad assumption. Why don't people want to know where they are when coverage is spotty or non-existent? Well, if your service or app has that use case, carry through on it.

And one last hint is to not confuse location with navigation. Turn-by-turn directions is not the end-all be-all of LBS. I don't know what is, and neither do you. Location is an enabling technology (or set of them, I guess) and if there even is a killer app, we haven't seen it yet. More likely, it's going to be like simply being on the internet, and will become so baked into our mobile experiences that it will become invisible to everyday people.

While I am sure the commoditization of location service annoys operators and handset makers, it's going to be a a good thing for the end user.



So, to wrap up with a simple guide to design and development of location services, remember that:

  • Every phone is location enabled. GPS or not, working or not, there's some location available. And if you are giving something like 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 shut off the service 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 that circle so it's clear that we don't know /exactly/ where you are. 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.
  • 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?
  • Though I didn't mention it above, 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.

video on the second, third and fourth screen

Wednesday, March 31st, 2010

I periodically hear some director or pundit talk about how terrible it is to watch a movie on a laptop or mobile phone. And at face value, it makes sense:

Sizes of devices absolutely compared.

That phone is so tiny! Why would anyone watch a movie on that? And the laptop is pretty marginal. Until you actually take into account reality, and users and math.

Sizes of devices as viewed.

People automatically adjust for what we (possibly incorrectly) call angular resolution. Entirely aside from phones being hand-held, they get moved to the right distance to see things correctly. Broadly speaking, video display ends up occupying the same field of view regardless of the device size.

This is why people actually do watch video on phones, and will continue to do so.

^location – adding context to your content

Thursday, August 20th, 2009

Even in the seemingly remote burg of Lawrence, KS, I am all over the place.

I could be at home, at the office, the coffeeshop, en route to Kansas City, at a show, restaurant, art gallery, or bar. I could be at the park with the kids, I could be at my folks’ house in Leavenworth. I could be at the antique store, the scooter shop, or getting my guitar repaired. Maybe I’m getting my haircut, or an oil change for my car.

So, what if I tweeted or sent a status update to any of my social networks stating something like the following:

“I can’t believe I just witnessed such a heinous misstep of personal grooming.”

Great (even brilliant) content, posted all over the ethers. But….so what? It’s a bon mot that doesn’t amount to much, and is an opinion shouted to a crowded room with almost guaranteed irrelevance. I may have thousands of people “hearing” it, but… so what? It’s gone, and it’s voice filled over by the thousands of other great one-liners filling your friends list.

Well, how do I change that? How do I create some relevance, some context, some social understanding of the “where” to my “what”? Would it convey more, to more people, for more reasons? Would a simple identifier of place give my shout-out more gravity?

I could do this: “I’m at the barber shop and I can’t believe I just witnessed such a heinous misstep of personal grooming.”

Ok, I had to type out “I’m at the barber shop and” just to make it contextual. Eh. Should be an easier way, right? I mean, there’s a shorthand paradigm for updates, for referring to other people, for mentioning that it’s a forward of someone else’s thought (re-tweet), there’s tagging for relevance (hashtags). Why isn’t there something like a location tag?

So, we were talking at Little Springs about this very idea. I think it was Barbara who brought up the observation that on my personal status updates, different “spheres” of people (friends, acquaintances, family, coworkers, etc.), could all read my content differently if they made any assumptions about the context, and more importantly, the relevance of that content based on their understanding of our relationship. This was very similar to the point made in a talk by Jared Benson at D4M 2008.

It’s a great point: Personally, I have multiple layers of audience that can construe my content with whatever filter they have that is most prominent in our relation. Even time of day or day of week cause us to make assumptions that aren’t always fair, and even presumptive in a manner that can often cause a lot of miscommunication issues. For example:

“Oh, I thought you were at work today when you mentioned in your status update that you wanted to kill someone. Is everything ok at the office?”

Well, no, I was actually at the store, during what would normally be a work hour.

Again, why update at all, why have a window into your world, if you don’t even have enough information for your audience to understand why you’re even saying it? I mean, really, are my status updates, tweets, text messages all just “A tale told by an idiot, full of sound and fury, signifying nothing”?

Nope. So let’s fix that. Like this:

^MyBarbershop – I can’t believe I just witnessed such a heinous misstep of personal grooming.

Ahhh, that’s better. The cognitive dissonance has been dissipated. I can see clearly now, the pain of trying to understand the context is gone.

Plus, it’s kinda funny.

So, we’ve outlined the details here about this whole deal. Basically, we need SOMETHING to set the stage for the context. Following the precedent of #subject and @identity, respectively, we’ve chosen to follow suit with ^location.

And, it works! @shoobe01, @barbaraballard and I have been using it for the past few days, figuring out the variables and rules, the refinements and usages. People from all my different “audience spheres” have let me know that using this tagging system actually creates more relevance and understanding of what i’m posting about. It seems pretty obvious to me, actually, but just like Marcel DuChamp, someone just needed to do it first.

So go try it. Read the article we’ve created about it in our design patterns wiki. See if you find that it makes a difference to how you post, and how your audience responds to it. And if you have more thoughts, references or suggestions, it’s a wiki. Add it in.

smartphone is a state of mind

Tuesday, August 4th, 2009

Yes, this whole thing again. Sorta. Bear with me.

The definition of a smartphone (vs. featurephone) is... well it has varied over time. Mobile phones used to be pretty much restricted to making and receiving calls, with a tiny address book to support it. A few had some sort of paging, and eventually real text messaging came about pretty universally.

Then these PDA-phones came out. Which were, well, PDA phones. They added:

  • Calendar
  • Contacts list (larger and with more fields than a phone address book)
  • The ability to synch these to a computer

How smart is that smartphone? How much does it matter?

Sure, some of them had additional features. The one shown above was a Palm, with the ability to take (as I recall) any old Palm III software. But others were sold right alongside with locked feature sets, in proprietary software. And hardly anyone seemed to care.

Today, the definition of smartphone seems to be:

  • Identifiable operating system
  • Ability to add applications

Which strikes me as awfully technical all of a sudden. I have always been somewhat leery of defining devices by technical features when we're really talking about how consumers use the item. So I wonder how this happened, and do end users really care?


And some recent data reminded me if all this. Some percentage of iPhone users (though 7% sounds low) never install any applications. A huge number download only one. If a key definition of smartphone is downloads, then I ask if those users are really even carrying a smartphone? Sounds like they are perfectly happy with their feature-phones, however hi-falutin' the feature-set is.


The other the stuff that's made me think of this is that I've been observing (and hearing on the radio, and seeing on TV) about what makes a cool phone. When you get past technical (and especially mobile) blogs, magazines and so on, what makes something cool are specific features, or even specific media.

My phone does essentially everything that can be done by a phone (but touch, or have a QWERTY keyboard, if that's really a feature), but one of the few things that makes people go "wow, that's cool" (and then some of them want one) is that when NPR gets lame in the evenings and weekends, I use internet radio to listen to the BBC World Service (and plug it into the car through the lame cassette tape thingy. It involves cables and is semi-kludgy (not sure it would be sillier if I got a shortwave radio and plugged it into the car instead.

And, they don't necessarily want one of my phones. They want: that feature. On their phone, or on something else that meets the rest of their needs, but also has this extra feature. I even did much the same with other devices, some of which had radio transmitters so did it without cables. And they were featurephones. Locked down operating systems, that maybe you can add a J2ME app on top of. If you'd bother to.


A similar focus on features bears out in studies of, say, iPhone users, "the ability to add applications is only the #4 priority for iPhone users, below browsing, e-mail, and 3G capability." (Quote). Browsing, email and "speed" are features. Adding apps is something to enable more features, and not a feature in itself.

While users might get more and more used to downloading to add functions their phones, it will always be an enabling technology. Aside from us phone nerds, who cares about technology and tweaking the UI? Users want performance, utility, value. They want features and functions, and I see that continuing no matter what the future looks like.

Users are the smart ones.

Yes, this should be obvious. Design for users. But I am not seeing a lot of it lately. Mobile seems very focused on targeting the experience to the device. Additional cleverness around some device repositories will help with this.

But I wonder if – aside from using screen size to display the best image, and so on – I care very much. Can I really divine anything about a user's context, needs, intent, values, desires, or anything else from device detection?

Of course not. Oh, maybe a tiny bit in aggregate, but whenever I see data there's a lot more correlation between access to this site or that, or through this entry point or the other, than there is for device type. And so I say we need to remember users again. Step back, think hard, and if you have made assumptions about users based on handsets, consider stopping that.

Even if it ends up being true, because you have a limited user base (e.g. a corporate site where executives are issued Blackberries) start with the user. Crack open those UCD books, and come up with at least a few quick and dirty personas. Do task inventories and other things to make sure you are focusing your technical team efforts on the right areas.

As always, keeping the user in mind throughout the design process should help bring you one step closer to success.

a better way to targeted content and personalization

Wednesday, May 13th, 2009

The whole concept of the long tail, and personalized interfaces and even much of the contextually-sensitive network that I rant about regularly is getting targeted, relevant information to individuals at the right time.

But who says it’s the right information?

It’s been hip for years (at least among a certain slice of the population) to dis the media elites. We’ll all be better off making up our own minds. But how do we know?

This all came up while driving this morning. A local radio show interviewed Brian Kelly, the editor of U.S. News & World Report, specifically about how they have moved from weekly to monthly publication, and how their content (and readership) varies on the internet. At one point it came up how useful it was (is, I guess, but readership is so low anymore) to simply read the whole newspaper; you would learn about stuff that you didn’t even know you needed to know.

Now that I think of it, I fear we’re moving towards a world where everyone is only reading information sources that hew to their pre-established world view, interacting with others hardly at all.

So, that’s a call to arms for me. How do I square my desire for contextually-relevant content, delivered on time and personalized to the individual, with this need for a broader understanding? How do I avoid enabling a more tribal, polarized world by accident? Specifically, how do I do it on a personalized interactive device?

Presuming that we cannot simply say “read the newspaper” or otherwise change what users are asking for, I guess one way is to consider context and environment in a broader sense.

context about you and your data

You read articles that are filtered by interest (via keywords), by your location, and so on. They may originate from any source and location but that is where it ends. While each individual bit of data lives in it’s own part of the world, there is no clear way to dive deeper or see relations between them or to other information.

Though I continue using news as an example, almost anything can be though of the same way. Manufacturing and consumer products are drawn from widely separated suppliers; the prices on items you buy, and their ingredients, and their safety are related to things that happen on the other side of the country or the world. For something less scary, music is somewhat insular in distribution, but musicians are influenced by those in far off places, cultures and times; you might very much care about this, so how do we get that information about the next level deeper?

context about you and your data

One way is to rely on professionals. Writers and editors can not just create content but group and relate it. To a certain degree I like this method, as it’s deeply related to the information design processes I so love (and explain in my book). There are some sources of curated content now in new media methods, and I am sure some will continue to exist, and be created in different ways.

Another is to rethink crowdsourcing. The way many aggregation services work (google, and google news for one) is more or less a popularity contest. Clicks equal relevance. But this tends to emphasize commonality, and mass over depth. What if outliers were analyzed and promoted more. What if those edge case readers who like to tenuously related stories, music, ingredients, pricing, etc. were able to be employed in exciting ways. Nothing has to dead end, and cross-references bring not more information about the same, but deeper, different information.

Of course another good model mixes the two, with specific individuals paid little or nothing to add a manual touch to the data manually or automatically generated by the user base.

I don’t know what will actually happen, and can only influence so much myself.

I sometimes want to use the word “environment” to replace “context.” I avoid it to prevent confusion with the ecological context (the way it’s now hard to use “chauvinist” to mean “fanatically patriotic”). But I do like what it implies; that each of us, and each bit of data is tied inextricably to others. Tugging on one should reveal the web of information, and let us explore that environment and our place in it more thoroughly.

inspiring articles in mobile design

Tuesday, April 28th, 2009

With all of the work on the conference, I’ve not been able to keep up on things like blogging very much. That’s not because not much is happening in the mobile design world; quite the contrary. In fact, Adaptive Path’s Rachel Hinman had webinar for mobile web design during our conference + webinar, and Mobile Design UK had their monthly meeting.

So you get a tour of recent mobile design articles:

From Point & Do, 5 Questions To Ask When Planning Multitouch Interfaces is good for those working on sophisticated iPhone apps and future multi-touch displays.

John Keith of Cloud Four gives us Mobile Device Detection Results comparing four cheap or free device detection mechanisms. Good reading to improve your mobile users’ experience.

Roger, Wilco responded in a comment about my Mobile SEO post (better yet, see the wiki SEO page) with a link to Mobile Search and SEO Considerations for Mobile; he’s updated the wiki page as well.

You can vote on entries in the MEX Mobile User Experience conference mobile design contest. Perhaps more interestingly, conference organizer Marek Pawlowski asked 20 mobile entrepreneurs what the startup community could do to improve the mobile user experience. I think it’s really worthwhile to see what business folks want to do here.

And of course the UI-as-business article from Fierce Wireless caught my eye, Eye on the UI: The need to differentiate. In particular, this paragraph caught my eye:

In general, Wugofski said that the user experience needs to align with the device that it’s on and around how that device operates. “Users use lots of different applications,” he said. “For your app to be successful on that phone, it generally has to follow the same paradigms [of the phone].”

I’ve been thinking quite a lot about this over the years, and this year I’m making it one of my speaking themes. You can check out the first of the presentations in the series at SlideShare: A Foolish Consistency.

Object-oriented design is something we’ve practiced for years, even before it was “invented” in 2005. It’s also explicitly discussed in Steven’s recent book, Designing by Drawing. It’s still useful to understand and discuss, even more so now with the numerous screen size & device capability variations found in mobile, and more and more different internet-enabled devices.

In a more design-theory vein, check out A Framework for Gesture Generation and Interpretation which is a fascinating analysis of gesture recognition.

Michael Mace of Rubicon Consulting brings us Smartphones as appliances: Different phones for different usages, with the great takeaway that users of different devices value different things from their devices. Blackberry users value email more; iPhone users value web more. It suggests design directions for several services.

And last but not least, fellow mobile design firm Punchcut posted an animation for Design Considerations for Touch UI, following up on a previous blog entry on the same topic.