Just bear with me here, I want to put you through a little exercise.
Imagine there are two web sites that show happy hours in your city. They provide the same data, but their user interface is a bit different. On the first site, you enter the city you’re in and tell the app what time you’re planning to go out, submit a form, and it shows a list of bars and restaurants that have Happy Hours. Fine.
In the second app, as soon as you open it, it shows you a list of bars and restaurants that have happy hours going on near you, right now. You can still enter a city and time if you’re looking for something else, but the default behavior is to present a list of what the app suspects you’re most interested in, based on its best guess at your location and the current time.
You following? Good.
One on side, we have a run-of-the-mill, boring-as-fuck, not-particulary-useful, user-hostile web app. Over here, we have a contextually-aware, thoughtful, we-live-in-the-future, happy hour machine. Which app would you prefer to use?
No, I’m serious. This is a serious exercise. It’s like an SAT question. Which app would you prefer to use? The boring-as-fuck web app, or the contextually-aware happy hour machine?
The happy hour machine, right?
Then why the fuck are some of the most enlightened minds in web design trying to tell us that context doesn’t matter?!

Love this question. It’s simple but at the same time brings a broader question to mind: Are you (the designer) putting actual effort into interaction design, or just putting arbitrary pieces together?
You are misrepresenting what other people are saying.
Yes, the contextually-aware site would be a better experience …for everyone. What people are railing against is the notion that only users of certain devices (such as small screen devices) get the better experience, while other users (who happen to be visiting with a larger screen but are still using a geolocation-aware browser) should be lumbered with the duller experience.
I’m all for contextually-aware apps …for everyone.
I’m quite solidly in the “happy hour machine” camp on this.
So far, there has been little expectation by users that time/place context even is possible for most “websites” or non-native apps. There just aren’t a lot of people designing those kind of experiences. I’m familiar with the “what restaurant is open now” work you did at the LJWorld. That was great and so ahead of its time.
It is unreasonable to underestimate or overhype different mobile contexts just yet — we have no good data on mass contextual-web usage via mobile.
I think we have to push context. We need to do a lot more before we can argue in a quantitative way. I believe AR is also in this position right now. It seems cool and sometimes useful, but it’s just not an expectation by the masses.
If, in fact, that’s what other people are railing against, then we completely agree, and I apologize. The contextually-aware experience is better for everyone, and should be available on any platform (admittedly, certain APIs and sensors currently make some of this stuff more possible on mobile than desktop, but it should be as available as it can be, everywhere).
I am not intentionally misrepresenting what other people are saying. it’s possible, though, that I’m misunderstanding it. If I am, then I suspect many others are, too.
And a big thumb’s up to Jeremy’s 002 comment.
I personally believe the first option should be used as a fall back if the geolocation mechanism doesn’t work. Rather than alienating those viewing the browsers without context capabilities, the functionality should be built to implement both depending on circumstance
Based on what Jeremy has said and the original exchange, it does seem like you’re applying your own (arguably incorrect) context to an a fairly interesting exchange. Why should my phone get a more contextually-aware app than my laptop if they’re both connected to the same wi-fi hotspot (for example)?
What about an ipad vs a cheap netbook? Both have similar screen sizes but one might get detected as a mobile device and the other as a standard computer.
Whilst phones and tablets may be pushing the “awareness” of devices forwards, other computers aren’t far behind. We should be thinking about how we can make our products contextually irrelevant for all users, not just the ones on tiny screens.
By the way, Jeremy: It was very intentional that this post never used the word “mobile.” :)
What Jeremy said about “context”.
Decisions are being made about apps and “context” that differentiates one device or user from another based on, most often, guesses made by devs and designers.
Case in point: Flickr. Why am I unable “in a mobile context” to do some of the things I am able to do in the “desktop context”? Things like: tagging or adding people to a photo. (I’m going off memory here, not actually checking what features are actually inaccessible on mobile, so don’t shoot me.)
The point is, as a user, why is it being determined FOR ME, what I would like to do? I understand the assumption that I am hurriedly wishing to just quickly upload a pic and I’ll deal with the rest later, but that’s all it is - an assumption. If I have the time, and I’m willing to endure the inherent “shortcomings” that currently exist for mobile (such as connection speed and bandwidth limitations) - shouldn’t that decision to engage in those activities be my prerogative?
That’s just a question that has plagued me since I got an iPad and have been redirected to many a “mobile site” without any way to access their full experience. Not that I want to see cluttered ad centric pages — but still…
“You keep using that word. I do not think it means what you think it means.” — Inigo Montoya
I clearly stated, right in the post, that the second app would still give you the option to enter a city and time.
Huh? This post has nothing to do with mobile. You’re the one applying that context, not me. I was talking only about web apps. I didn’t specify mobile or desktop, because I believe both should make as much use of context as possible.
I’m really fascinated how much of the commentary here has to do with “mobile” vs. “desktop.” I intentionally didn’t specify whether the app in question was “mobile” or “desktop”, because it doesn’t matter, and it completely irrelevant to the point.
The point is: contextually-aware is better. Doesn’t matter if it’s “mobile” or “desktop” or “TV” or whatever. It’s always better.
“This post has nothing to do with mobile.”
I have to disagree there. While your example may not have been “mobile specific” this whole topic of building web apps has to apply to mobile as well, or there is no point having the discussion at all.
The topic is about “context” and that INCLUDE mobile. Therefore, it does have something to do with it! :D
There are literally thousands of potential context variables an app could consider in determining what to display and how to display it. Whether or not a user is on a smaller-screened device is one of them. I intentionally picked two examples of context variables (time of day and location) that aren’t specific to so-called “mobile” devices. Every device has a clock, and every device can be geo-located to some degree of precision (via IP, Geolocation API, whatever).
I tried to leave mobile out of it. I’m not saying the discussion can’t, or shouldn’t include mobile. It’s just not the point I was trying to make. The point I was trying to make is that contextually-aware products are universally better than that that aren’t.
I was in effect agreeing with you without reading that line then :P. Let me a little clearer. Rather than seeing the first option as a fallback, as I said before, the non-context functionality should exist as base, with the context-aware side running when needed. I think the important point is the effort should be made to achieve this context-aware functionality, if the context data is available to you.
Super. Then we both agree on that point. Now, let’s include the marketing speak variety of “context” and let the conversation include many more variables.
For example… my Flickr example above is for m.flickr.com which the redirect for a mobile device. Presumably, that version of flickr was built so that people using smart phones wouldn’t be bogged down by the “full Flickr experience” due to limited bandwidth and connection speeds.
We both know that smartphones and other small screens are not the only devices with those same limitations. A desktop/laptop/other device can have the same problems but they won’t get redirected.
So, “context” is often an assumption based filter through which people/companies are building apps. Those assumptions need to change - or, better yet, just go away.
We all need to focus on building better apps. Universally. On this final point, I believe you and I agree.
/end soapbox diatribe
The problem with “context” is that it’s always a guess. Sure, your app might prove useful to those looking for happy hours right now….but what if it’s 10am on a Wednesday, and I want to know about happy hours at 5pm on Friday?
The device DOES matter as we have made many assumptions about context based on the fact that users are “mobile”—unfortunately, as smaller devices become more powerful we are realizing that many of our assumptions are simply WRONG. Users on a “mobile” device aren’t always on the run, or looking for directions. They might be sitting on their couch and just didn’t want to get up to use the computer.
If making your app contextually aware is a good thing for the app overall, then great. Design that into the app. But don’t make assumptions about context based on the device your users are using.
I clearly stated, right in the post, that the second app would still give you the option to enter a city and time.
Bridget-
The problem with Flickr’s app is that it doesn’t actually use the bandwidth context at all. It makes a terrible assumption that a smaller screen means less bandwidth. It’s using the screen size context, not the bandwidth context.
But what if it really used the bandwidth context? What if it determined your bandwidth and adjusted accordingly, much as YouTube videos do? How would you feel about it, then?
It’s all too common in our industry to throw the baby out with the bathwater. Contextually-aware apps are a great idea that have often been poorly implemented (in many ways, Flickr’s is poorly implemented). But we can’t decide being interested in context is a bad idea just because some of the early attempts at it weren’t implemented that well.
It seems to me that when the people in that exchange you linked to talk about context they’re referring to mobile vs. desktop context. In essence, they are saying exactly what you are saying: mobile/desktop doesn’t matter as much as other —much more relevant— contextual distinctions. I believe this is what Mr. Keith means when he says you’re “misrepresenting”, which you are, though I think you’re doing it out of a sincere “misunderstanding” of what they are trying to say. (Please understand that I don’t think you’re knowingly and maliciously misrepresenting what they are saying, but that your misunderstanding has led you to affirm that they are saying something they are not. Thus, an inadvertent misrepresentation takes place.)
I agree that context may not be the best word to use when talking about how mobile vs. desktop shouldn’t matter, because it can be misunderstood as no contextual data matters at all, which is just stupid and would certainly be reason for alarm if, in fact, these enlightened minds were saying just that. I just don’t think that is the case, especially considering the context of the conversation —?140 characters— and the fact that for a long time now we’ve referred to the mobile/desktop more than anything else as context.
I also think this is why so many people have understood your proposal as being one of mobile vs. desktop: That is what many of us have inferred from the conversation you’re linking to, and you’ve based the entire exercise on said conversation. I respectfully submit that your misunderstanding of the exchange on Twitter has caused you to believe that others are misunderstanding you.
I haven’t heard many people saying that context itself does not exist or matter, that would be ridiculous! The problem is when we make broad — often incorrect — assumptions about a user’s physical context just because they appear to be using a certain browser or device. In newer browsers, we do know plenty of things about the user’s context, and that’ll only improve as device APIs are opened up, but we should be careful about assuming too much about a user’s intent based on what little we do know.
I commonly run into this problem on mobile versions of websites that deliver a simplified version of the content I expected to find on that site, and that make it difficult or impossible to find that content without extra work.
I’d much prefer receive mostly the same content/services on any device, but that content should be delivered as a pleasant experience that is optimized for my device’s features and constraints: screen size, touch events, location data, accessibility APIs, etc.
Are you talking about the same comment I’ve seen?
Device constraints/capabilities. My device may be constrained so that it’s difficult to enter location, but it has the capability to give very good approximation quicker than I can type it.
This is still no “context” to write “apps” for - your users are happier if you can use your “app” when/wherever they happen to think of it. They are less happy if you have decided “context” is the pixel size and co-ordinates of a (random-vendor)phone user walking on the street.
It’s threatening.
If you learned your trade in a web of documents, where everything was immutably keyed off one single index (URLs), then you might have a certain reluctance to embrace a web of apps in which many possible inputs* dictate the output of the experience.
(*the source of many of which is not even particularly obvious at this point)
Remember when search engines were simple indexes of web pages keyed off search terms, and based on keyword frequency? Yeah, well they went away as soon as someone figured out how to use hundreds of signals to influence the results you saw - including both nuanced signals about the original content, and about the likely interests and, ahem, context of the searcher.
Sure: ‘One Web’ - immutable documents keyed off URLs alone - is hard to argue against, is safe to work with, and utterly predictable. It is more or less correct when used and applied to our sedentary, benign online lives.
But so is Newtonian physics.
Science got really exciting when Einstein, Bohr et al set out to find the boundaries at which those ‘laws’ start to no longer made sense, and the results ushered in a whole new century of scientific discovery and innovation.
So is the rise of the mobile web our Michelson-Morley experiment? The circumstances in which we discover that these rules might no longer quite apply outside our previous comfort zone?
I’m fascinated to explore how the web can evolve over the next 10 years. I believe that understanding context is at the heart of it - like the speed of light was to turn-of-the-century physicists - and that we should continue to explore the boundaries so as to change the expectations of both creators and users.
Or, like those same physicists 120 years ago, do we really think we’ve got it all figured out?
Yes I know, but the content you’ve provided to me up front is likely still a guess. As Scott said, you’re guessing intent based on context. Your guess might be completely wrong.
I don’t disagree with the reasoning behind showing that default content (as opposed to the form), and given your two examples I think it’s the better option. But in general, guessing intent based on context can lead to trouble.
Unless of course, you’ve done user research and what people always want from your app is to see happy hours near them right now…
Alfonso:
You are probably right. But the conversation I had with @lukew seemed to indicate that he, at least, believed that the happy hour example I presented should not make use of the contextually information, because it could possibly be inaccurate. Here’s some of that conversation:
Me, here: “The suggestion that device capabilities is all the context we have/need is shortsighted. Time? Location? Weather? All “context.”“
Luke, here and here: “let’s start with location. IP 99% accurate to country, GPS to 10M outdoors 2/10 min start time, WiFi beacons 50m, cell towers, what are you going to do with time? change the tone of articles? adjust the design? been down that road. useless.”
Me, here, here, and here: “Point is—there’s a LOT more to a user’s context than what device they’re using. Maybe it’s important in your product; maybe it’s not. Let’s say I have an app that shows the nearby happy hours. Maybe I want to show the ones going on RIGHT NOW front and center. In that case, the time is very useful, and city or neighborhood-level location is more than accurate enough.”
Luke, here: “points: you may not b accurate; you are guessing what it means; you are changing based on your guess. enjoy that.”
If I’ve misunderstood Luke’s point, then I apologize, but to me, it’s pretty clear that he’s saying I should not use a user’s location in such an app.
Always giving users what they want is a terrible design plan, as well. If Henry Ford had asked his users what they wanted, they’d have said a faster horse. Sometimes, you have to make a decision for the user. That’s what a designer does. Makes informed decision that solve problems for people. Sometimes there’s an edge case and someone wants something other than what you’re offering. Fine. They can use a different product. But simply always giving users exactly what they say they want is a recipe for disaster.
Yes, we “guess” at user intent based on context variables. Sometimes we do a poor job of it, and that sucks. Sometimes we get it right, and that’s awesome. You are basically saying that we should never guess at a user’s intent because we can’t be right 100.00% of the time. I disagree. The value we provide in getting it right most of the time is worth something—a lot, even.
Jeff, with all due respect, you purposefully didn’t mention “mobile” in your post, but your concluding question referred to a comment made by someone talking specifically about the mobile context.
If you read it again, you might see that as Jeremy points out, there are more people on the same page than is implied here.
I’ve acknowledged that I am perhaps misunderstanding some people’s views, and apologized for it. I believe Luke’s comments, though, are clear, and those are the ones that prompted me to write this piece.
Jeff,
I don’t think context based features are to be thrown out…just context based assumptions that determine the course of our app designs. I am very interested in context-aware features, and believe that is where design is headed at this stage. What I’m more interested in is options, not decisions based on assumptions. Does that clarify my point?
Innovation doesn’t need to be chucked aside in order to satisfy a group of goals that come out of user interviews or testing. I think we are capable of taking this new information to enhance experiences while still giving users options. And I’m not necessarily referring to fallbacks if we guessed a user’s intent incorrectly.
I would love to see more apps being designed that sought the user’s intent and adapted as such. I believe that real innovation will be reached when an app can be “customized” by the user according to their desires and goals — their personal context. I’m not talking about a one app fits all with every feature under the sun. It should still be something than strives to solve some “problem” but uses contextually aware information in the manner the user feels most appropriate rather than some arbitrary decision made by me, the designer.
I’m not sure I agree that context specific information is always good. Yes, with your simple example of happy hour, it is probably more useful than not, even when it occasionally gets it wrong, and someone has to manually enter their location and/or the day they actually want.
However, as a frequent traveller, I too often encounter context awareness done wrong. My favourite example (though least favourite experience) is Google1, who decides the domain, and therefore the language of the search engine based on where it thinks you are2. Except that I can’t read any language to any degree except English, and giving me a language which isn’t English is wrong3. Because my browser explicitly states, that English is the language that it wants, and the only language that it wants. There is no mention of French, German, or Japanese. Google says it does this because the domain specific search engines provide more relevant results. I don’t care, I think that it’s stupid that I, with my English only browser, in Geneva, a French speaking area, get a search engine in German (happened using many different ISPs over a year and half long period a couple of years back).
A contrived counter example where getting it wrong might matter, is the case of holidays. A person, such as myself, who doesn’t pay much attention might not know when a holiday is. (Currently in a country that doesn’t do Easter. I found out about Easter only two or three days before Good Friday.) The location aware app goes, “umm, you’re in X, therefore you don’t have to go to work today”. I might go “ooh, no work today” and go back to sleep, not noticing that the app said I was in X, when actually I’m in Y4. Bad news for me the next working day.
Context awareness is fine, so long as it doesn’t get it wrong in situations where it matters, it doesn’t get in the way, or whatever.
Footnotes:
Plenty of other websites do it too. I notice Gawker sites and Twitter also do it.
At least Google offer a link to an English site, in English. Twitter offer you languages as well. But rather than German being “Deutsch”, or English being “English”, they end up being in the language of the rest of the site. No good in Japan if you can’t read ???? (katakana).
If English is available, and the site is presenting something different to what I requested. Though, actually, it might not be wrong, I might well have requested the French version of an article, in which case, giving me the English version might be incorrect. It might also be fine, so long as I can get back to the French version easily if I want.
X and Y are most likely to be different states.
PS Dear Jeff, have you considered allowing some HTML, such as <sup> in your form?
Great discussion, but I’m ready for a drink. Where should we go?
Pulls out phone
Oh…right…
yes, 2nd one. in the end, this “context-programming” is what google is made of (think of the ads). also doubleclick is made of this stuff. behavior is everything.
This reminds me of the my current “You should be thanking…”
1 - The government. When big businesses saw no need to invest in what would be the internet (“our computers already talk to each other, why should they talk to all computers?”)…Uncle Sam stepped in. Without that, the internet may never have happened.
2 - Bill Gates. The man people love to hate. Microsoft brought made it “both” cheap and easy to go online. That included our parents and grandparents. Without this step…there would have been NO internet boom.
3 - Steve Jobs. The guy the other people love to hate. He came along and cut the tethers. “Desktop? We don’t need no stinking desktop!”
The discussion is right.
Can’t believe this post has started such an intense discussion — it really seems like a no-brainer to me.
I
m agree with the author "Always giving users what they want" thats right way !!!Thanks for the info and the comments!! Greenting from Germany!