June 12 2009

Anything you think is either unoriginal, wrong or both

by Hang

I first discovered this obviously wrong truth when I was doing my honors thesis. Time and again, I would come up with a novel idea or a neat algorithmic trick. Some of them, I would discover had already been invented 3, 5, sometimes 10 years before I came up with it. But the ones I was absolutely sure nobody had published before because I had scoured the literature and covered every approach. Well, all of those original ideas turned out to have some hidden, unforeseen flaw that rendered them either trivial or actively stupid. This lead me to formulate the belief that “anything you think is either unoriginal, wrong or both“. Like all obviously wrong truths, it has the paradoxical property of being obviously wrong and also true.

The premise for the statement comes from the simple observation that good ideas survive and bad ideas die. This means there exists an entire class of awful ideas that people come up with time and again only to eventually discover their wrongness and then abandon them. Every person who discovers them believes themselves to be wholly original since nothing of the sort exists in the world and each of them is met with disappointment, sometimes after many years of sweat and toil. But because failures are almost invisible, they leave no warning signs to future generations that this is an awful idea that should be avoided*.

Anything you think is either unoriginal, wrong or both” is an acknowledgment of your own stupidity. Your first instinct, when you come up with a new idea, should be to try and find out if anyone else has done it before. Your second instinct should be to try and find out if anyone’s done it before. Your third, forth and fifth instincts are to ask how come everyone else figured out this was a dumb idea and I haven’t? If you’ve gotten this far and you still haven’t discovered anything useful, you should start feeling a little bit uneasy, it probably means you weren’t smart enough to discover how wrong you are.

If you have discovered the prior art or the fatal flaw, then breathe a small sigh of relief. Unoriginal ideas are GOOD, wrong ideas are GOOD. An unoriginal but right idea is still valuable to all the other people who’ve never heard of it and chances are, if you’ve never heard of it, there will be a significant fraction of the population to which bringing this idea contributes value. Wrong ideas do more to teach you more about the world than right ideas because they teach you about some discrepancy between your expectations and the world, The corrective force of wrong ideas is what allows you to deftly cut to the core of any issue and tease out just where assumptions are weak and likely to fail.

But if you’re lucky, over the course of your life, you’re going to stumble across many ideas which are both original and right, in which case it’s still better to treat them as unoriginal and wrong. Believing an idea is unoriginal and wrong makes that idea do more work. You attack it more fiercely and from more angles. You keep on asking people if the idea sounds familiar and you’re eager to seek feedback because you’re so damn curious to discover why it could be so wrong yet elude you for so long. In doing so, you disassociate the idea from your ego so that you can take criticism about it calmly and dispassionately. Eventually, that drive of curiosity will force you to action, just to finally prove how this idea is flawed. Treating an idea as unoriginal and wrong means that the only standard you’re willing to accept is success. This brings a clarity or purpose that cuts through the confusion when executing upon that idea. Other people may be willing to make excuses or caveats that salve their ego but, as far as you’re concerned, if an idea is not successful, it’s not right**.

Anything you think is either unoriginal, wrong or both” is an idea that also applies to itself. I’ve been slowly chewing over this idea for almost four years now and it’s been frustrating to me that so far, I haven’t been able to find someone else that’s expressed it as a similar sentiment which by de facto, makes it wrong. I’m putting this out there to invite the embarrassment of someone pointing out the obvious source or the obvious flaw that I’ve managed to miss for so long. Please, tell me how I’m stupid, it would be a welcome relief.

*Some people, when first discovering this problem, come up with elaborate schemes of recording all of these common awful ideas so that future generations can avoid them. This, unfortunately, is a common awful idea.

** not right and wrong are different concepts in the same way that not being a millionaire is different from being homeless.

1 people like this post.

Like 

The killer app for iPhone 3GS

by Hang

You heard it here first folks, the killer app for the iPhone 3GS will be augmented reality. Two features in the new release makes the iPhone 3GS the perfect augmented reality platform. First, the inclusion of an onboard compass and second, the opening up of the API to full camera controls.

Almost everyone except developers were unaware of this but the iPhone 3G SDK painfully crippled the camera by forcing you to use the provided Apple API to take pictures (this meant no real time computer vision could run on it except when Apple conveniently didn’t notice you bypassing their allowed APIs). Now that the APIs are open, expect to see a bunch of innovative computer vision apps (face detection, object detection, tracking).

But the second breakthrough is that the compass finally provides a braindead 6 Degree of Freedom (DOF) estimation. Any rigid object in space can be defined by 6 parameters. 3 spatial ones and 3 rotational ones. The iPhone 3G could estimate 5 of those 6 parameters acceptable well with GPS providing rough spatial data, the acceleromter providing fine spatial data as well as the direction of gravity. The compass provides the final, missing degree of freedom that allows for complete pose estimation.

Augmented Reality needs to know two things: Where is the sensor and where is everything else. Once you know that, you can do all sorts of really cool shit. I have no idea what will eventually come out, that’s one of the exciting things about bringing this technology to a mainstream audience, but I can point to some interesting research directions that seem plausible:

  • Instant 3D modelling of everything: Wave your iPhone around an object and it’ll figure out how to create a crude 3D model of it in memory.
  • Interactive furniture arranging: Go to the store, scan a bunch of furniture you want to buy, go home, drag and drop virtual pieces of furniture in your living room to figure out which piece should go where.
  • Interactive tour guide: You’re walking through New York, you see a cool building, take a photo of it and all of a sudden you know it’s the flatiron building and you’re reading a wikipedia article about it.
  • Photosynth the entire damn world: nuff said.
  • AR Quake: nuff said.
  • History view: Point to a space and if there’s a security camera pointed at it, be able to review what happened at that spot at any point in time.
  • Invisible Ink: Leave messages on walls which only your friends can see. Send them on an easter egg hunt.
  • Virtual Ping Pong on the phone: Use the phone screen to see a virtual ping pong table and then swing the phone to make a hit
  • Physical, virtual avatar conferencing: Replicate the real world cocktail party acoustics in a virtual physical space. Cocktail parties are great because they allow the spontaneous formation of ad-hoc small conversation clusters within a larger conversation. Online tools do a poor job of replicating that dynamic but if we could bring physicality back into it, we might be able to bring some of this dynamism back into online conversation.
  • A million goddamn screens: This was a project I personally worked on that unfortunately, never got to far but has a dear place in my heart. Conventional computing is predicated on screens being expensive but if you stick a tracking marker onto a piece of paper, you can turn it into a screen. What would computing be like if you could produce screens out of some cardboard and a laser printer that could be any form factor and would cost 10 cents a pop? How would this help with information overload? Imagine you have a screen in the corner that represents the pile of unread emails. If you want to read an email, drag it onto a new screen. Important emails that you need to reply to each get their own seperate screen which you keep neat and tidy by arranging them in a pile. If you want to send a file to your coworker sitting next to you, you can drag it onto a screen and then physically hand him the screen. You can have a screen for each individual participant in an IM/voice/video conferencing and pulling the screen closer means you want to be alerted but pushing it away means you want to ignore them. What could you do if you had access to a million goddamn screens over the course of your lifetime?

Are some of these examples wildly unrealistic and totally unable to work in real life? Of course, they come from research inspirations. But they demonstrate the enormous power of augmented reality which is about to be unlocked within these next few years as developers grapple with just what’s possible with Augemented Reality.

Like 

June 10 2009

social inviting

by Hang

Social networks rely on invite mechanisms to generate a bunch of their traffic but social proof says that the likelyhood of a person participating in an activity scales non-linearly to the number of their peers doing it. One person inviting you may lead to a 3% chance of action but two people may lead to 15% and 3 people might be 30%. Would a group invite mechanism help social adoption? The way I’m envisioning it, there would be a pointman who’s really, really passionate about someone else getting onto the tool. But what they could do is send out an invite for other people to be part of the invite. So what the user would see in the end is:

“John, Paul & Mary all want you to join facebook”.

Of course, once you join, you would automatically become friends with all of them and thus, be well on your way to a compelling user experience.

Similarly, on that vein, filling out voluminous profiles is a major disincentive for someone to join something. Why not let other people collaboratively pre-fill out parts of your profile so all you have to do is essentially add in your password and you have a fully functioning social presence.

Like 

May 12 2009

Missing the point of interviews

by Hang

I don’t know if two makes trend but I’m too impatient to wait for a 3rd example so I’m going to rail against the geek trend of being cleverly literal when attempting to answer interview questions. This practice strikes me as about as original and amusing as pointing out that silenced guns in movies don’t sound like they do in real life and there’s no sound in space. Like film, interviews have their own set of conventions and rituals and exposing the inherently unreality of the form doesn’t mark you out as clever, just ignorant.

In primary school, you were probably given a series of largely banal word puzzles in your math class because some educational bureaucrat decided that stories were more “relatable” than numbers. Now, if you had an absolutely stellar textbook author, they would have taken to the medium with a gusto and crafted an entirely different pedagogy centered around stories as an expressive medium. But chances are, you didn’t. Chances are, the author took the bog standard approach of first coming up with number questions and then pasting on a thin veneer of wording to get the job done.

“3 + 5, Jane had 3 apples, Chris had 5 apples, how many apples do they have together?”

> 8 apples

“Correct, 18 – 2, Reginald has 18 cookies but he eats two, how many cookies does Reginald have left?”

> 16 cookies

“Correct, 10 + 10, Heathcliff has 10 gallons of water, Shaniqua has 10 gallons of ethanol, how many gallons would they have if they combined it?”

> 19.2 gallons

“Corr… Wait, what?”

> Mixing equal volumes of ethanol and water results in only 1.92 volumes of mixture.

Congratulations, you discovered a leaky abstraction but you also kind of missed the point.

The purpose of a programming question in an interview is not to simulate a real life job decision, it’s simply a very basic skill test with a thin veneer of story pasted over the top of it to make it seem relatable. If you persist on treating it that way, don’t blame me when I give you full marks for cleverness and then zero marks for getting the point.

Like 

April 28 2009

Lean software development really isn’t lean

by Hang

For anyone manufacturing physical products on a large scale, Lean Manufacturing has been the hot new thing for quite some time. The Lean Software Development movement packages up a set of generally useful guidelines but it’s connection to lean manufacturing is tenuous at best and fundamentally misunderstands the software process.

It’s been a persistant mistake of management to treat the production of software as a manufacturing task and apply the same manufacturing methodologies that work well for physical products. But as Jack Reeves points out in his classic essay “What is Software Design”:

There is one consequence of considering code as software design that completely overwhelms all others. It is so important and so obvious that it is a total blind spot for most software organizations. This is the fact that software is cheap to build. It does not qualify as inexpensive; it is so cheap it is almost free. If source code is a software design, then actually building software is done by compilers and linkers.

The actual manufacture of software is done purely by the compiler and, as such, software development can be considered the first discipline to have completely solved the manufacturing problem. Lean manufacturing says that we should aspire to six sigma of defect quality, well, software developers can do better than that. Every time we hit the compile button, we are confident that not a bit will be out of place.

Software development is closer to the research & development phase of manufacturing and the few attempts to bring a lean process into those domains have ended in abject failure.

It’s not that lean software development is a bad methodology, it’s not. For the most part, it sounds like a sensible set of guidelines. But to pretend that it has much of anything to do with lean manufacturing is a mistake.

Like 

Mechanical Turk changes how we understand labor

by Hang

Being on the bleeding edge of progress means you see new technologies come out all the freaking time. Some of them are truly worthless and can be safely ignored. Most of them will be intriguing but ultimately what you would expect. A very few of them have the potential to surprise the hell out of you and those are the ones worth keeping an eye on.

About 20 years ago, the surprising thing of the day was using commodity hardware to build supercomputers. Before that point, the way to make supercomputers better was to utilize every hertz of processing power through custom hardware and clever software. The revolution of commodity hardware was not in the engineering, it was in the shift in thinking. The new way to solve hard problems was to just design simple, less efficient algorithms and throw more hardware at the problem. That shift changed not only the types of applications that could be built but also the way we think about building apps. The reason Mechanical Turk is worth keeping an eye on is because its about to do something similar for labor.

When Amazon released its iPhone app my entire understanding of what was possible changed. You load up the app, snap a picture of an object, Amazon will use Mechanical Turk to find the closest Amazon equivalent and, within about 5 minutes, you can buy it for one click. The application itself was a beautiful usage of Mechanical Turk but more interesting is how a shift in thinking had to occur before it could even be imagined. That Amazon is releasing this app for free but paying for human labor means  their business model relies on human labor being cheap enough to hide in the margins. At the same time, the user experience is only compelling because the search results come back before you’ve left the store so Amazon needs to assumes the pool of available labor as essentially infinite to deliver that experience.

Once you’re able to get over that hump of believing that human labor can only be an expensive, limited resource, an entire vista of compelling applications open up. Here’s one I came up with today in a conversation with a collegue: Calorie tracking sucks because of the data entry problem. You need to manually enter in every single thing you ate and that requires far more organization than most people have. Why not just snap a photo with your iPhone and let a Mechanical Turker figure out what you ate? How do you solve the reliability problem? Have every picture looked at by at least three Turkers and only accept it if at least two agree. When labor becomes that cheap, its smarter to be dumb and throw more human hardware at the problem.

Does that mean Mechanical Turk will do to human labor what the commodity hardware & cloud computing did to server farms? Of course not, the analogy is instructive, not a direct mapping. What it does mean is that we as a society are going to experience several “everything we knew was wrong” type moments and that the labor market of 2039 will look as different from today as supercomputers did in 1979 and those who are the first to recognise this change will be the ones who have the best chance of exploiting it.

Like 

The luxury of thinking deeply

by Hang

One reflection of my time at CHI this year is the luxury that academics have on thinking deeply about a particular domain. In the startup/Web 2.0/corporate world, there’s a certain hummingbird like intensity in which people flit from topic to topic and apply only the lightest and most shallow analysis on everything they touch. There’s always more work to be done and new things that need to be grokked and so many of the people I meet are jack of all trades but master of none. Academics, by contrast, are expected to know one domain of knowledge well and, while it can lead them to becoming comically out of touch with how technology is being deployed and used in the real world, also gives them a perspective and history which is interesting to engage with.

The cause of this is understandable, thinking deeply is a luxury and often somewhat of a guilty pleasure. There’s always something pressing to be done or yet another domain that needs to be mastered. Yes, there’s a lot of criticism that academia becomes an ivory tower but I think there’s value in deliberately cultivating an environment in which you’re forced to think deeply.

However, one persistant criticism I have about academia is it’s failure to engage with the larger discourse that’s happening on the web. My first example of this was actually after my first CHI in 2006 in Montreal. At CHI, a young graduate student called Anand Agrawala presented a neat little system called BumpTop (it launched as a commercial product almost exactly 3 years later while I was at CHI 2009). After the conference, Anand put the BumpTop video online and it quickly became the #1 viewed video on youtube. Working in the field of tabletops at that time, I had some understanding of that space but, being a first year graduate student, I didn’t feel like I could adequately comment on it. But after looking at reams of commentary about the system from a variety of different sources, what I continually failed to see was the insightful and grounded critique I was used to seeing in Academia. Everyone commenting on it approached it from a complete vacuum, ignoring the important work that had gone before it and the hard won lessons of the field.

From that point, I’ve seen, time after time, interesting HCI systems make a larger splash within the general public but no voices of informed critique there to educate and contextualise the news. Part of the reason I made a commitment to blog about CHI this year was to help provide people access to this world of deep thinking that exists within the academic community and to make industry people aware of this immense, untapped resource. I don’t know what the solution to this bridge is or even if there is a solution. I’m certainly not the first or the last to bemoan the gulf between these two worlds. But I think, because this gulf exists, anyone willing to take advantage of it can often profit hugely.

Like 

April 14 2009

Gmail sent mail spam

by Hang

I just noticed an interesting new spam tactic. Spammers are now injecting spam into my Gmail sent mail folder. I view all my mail through thunderbird and my sent mail folder currently has 26 unread messages. Inside the folder, I see several messages sent from me to me with typical spam contents (Hollywood stars threw up! is a sample subject). I’m not familiar enough with the intricacies of SMTP or IMAP to figure out exactly what’s going on here but I’d be interested to hear how this was done.

Like 

April 10 2009

CHI 2009: Day 4 & Lab Tours

by Hang

Day 1

Day 2

Day 3

Well, CHI is finally over and it’s a bittersweet feeling. It’s been an overwhelming and overstimlating experience. The final day of CHI held a number of really cool talks:

Social software in the office

The area of enterprise social software is always one I’m always interested in so I was very excited about this session. The first talk was describing a study on blog reading and writing at HP labs. They did a series of semi-structured interviews with HP employees all around the company with a focus on the diversity of input. Everything for new employees to people who had been there for 30 years and across all different continents. The results highlight some of the benifits but also problems of blogging. I related to this paper a lot, finding out that other people had the same issues with blogging that I do. In particular, the lack of feedback was a huge disincentive to blog. When people did get feedback, it was from side channels, via email or in person. This seems to me an indication that something might be fundamentally broken with blog commenting and I’m going to have to do some more pondering on this.

The second talk was on how photo sharing is used on the IBM internal social network and I felt that the relentlessly cheery tone detracted from the insight in this presentation. The talk focused so much on how photo sharing had all these positive effects that it seemed like more of a sales pitch and I found myself wondering how valid the observations actually were. Sure, you can claim through interviews that viewing collegue’s photos increased connectedness but maybe it’s just a more socially acceptable way of wasting time now.

Next was a note on location and privacy by Microsoft Research. It happened to be scheduled at the same time as another location and privacy talk in another track and I was torn between which one I wanted to go to. In the end, I wish I had gone to the other one. The results of the study were basically that location information was not a factor in privacy. Was this because people genuinely don’t care about location or because the study design just didn’t elicit the right information?

The next talk was a great one on how different university groups maintain shared document repository spaces. The speaker made the analogy between shared document spaces and communal fridges where people are unwilling to throw out other people’s food. Unlike fridges though, documents don’t eventually rot and so any document space ends up overwhelmed with crud. It’s an interesting problem space to explore. I tried thinking about it for a while and it has me stumped. I wouldn’t have much of a clue as to how to fix such a problem.

Reflecting on Design, Textual Displays & CoCollage

I told a collegue last night “This may be ironic but I only recently realised I’m a very reflective person”. What I meant was that I didn’t realise how the level of reflection I found natural was so rare in other people. This session on reflective design was very interesting to me. The first talk I attended was on meta-principles of interaction design and I think the general feeling in the room was that there was something significant to unpack there but it was something that would take a much more careful reading of the paper and critical thought. Thus, I don’t think there’s much I can comment on about this talk.

The next talk was on using texture as an input modality for devices and I thought it was an interesting exploration. The authors showed why texture was an interesting input mechanism for different devices: It’s unobtrusive, static, easy to access and you can use it on the go. Examples of texture displays might be using the back of the phone to display whether there was a missed call/text message, augmenting doorknobs with weather information or keyboard rests which change texture 10 minutes before an appointment. While the technology is not there yet, the speaker went through a survey of several promising materials and, overall, I think he made a compelling case. It’ll be interesting to see how real designers end up using it.

Finally, I went to a talk by a local Seattle startup, Strands Inc on using public displays to enhance the community feeling of a coffeeshop in Seattle. They talked about how you could use technology as a tool to enhance connection and community feeling. I thought the tool and the talk were great but one persistant frustration I’ve had with academia is the hesitancy to talk frankly about sex. I asked a question about it and the presenter claimed that they didn’t see that as the primary motivation and I was welcome to look at their data but I have a hard time believing you could build a tool like this and not have it be used primarily for helping people get laid. Still, we’ll see…

Computer Mediated Communication, Industrial HCI & Aesthetics

In the final session of the conference, I jumped between a bunch of sessions.

By far my favourite talk of the day was on using computer mediated communication to enhance the “empty moments” between long distance intimate couples. The presenters did a lot of smart insight on just what is it drives the connection between long distance couples and how to design a tool to support rather than hurt that process. This talk was interesting to me because I had previously done some thinking on how intimate friends share vs ordinary friends and what we want to share only with our inner circle of 5 – 6 people. While we wanted to share excitement with our friends, with people we are intimate with, what adds to that emotional depth is the sharing of “empty moments” or moments in which nothing really exciting is going on. I would highly reccomend going back to the original paper for this one as it conveys the full context and nuance of what they found.

The next talk I went to was on making the analogy between our understanding of fire, temperature and heat and how it relates to our evolution now in HCI. Having embedded my HCI thinking in a historic context, I didn’t find anything too profound from this but I thought it was a valuable paper.

The final talk was on aesthetics vs usability and the results were so obvious I would have rather preferred he handed them out on 3×5 cards and let us get to something else.

Ending Keynote

It felt profound in a generic way. I was too tired to remember most of it.

Lab tours

The day after CHI, the three local labs, Google, IBM & Microsoft had an open house. I missed the Google one and I want to devote a full blog post to IBM and it’s social software research. The Microsoft tour was interesting because the Cambridge, Massachusetts office is still relatively new (there is also a Cambridge, England office which complicates things significantly). Probably the most interesting thing I got from the MS tour was their new Startup Labs. I think it’s a bold move by Microsoft and it’s an open question whether it’s even possible to bottle the “special sauce” that drives great startups but I’m going to be watching this project with great interest.

Reflections

I’m still trying to decompress and unpack all the information I’ve absorbed from CHI and I hope I’ll have the chance to write a summary post some time in the next few days. We’ll see how that goes.

Like 

April 9 2009

CHI 2009: Day 3

by Hang

Day 1

Day 2

About CHI:

Computer Human Interaction (CHI) is the premier academic conference every year for academic Human Computer Interaction researchers and for professional usability experts, user experience people and interaction designers who are doing cutting edge stuff. Every year, something like 3000 or so people descend for 4 days of often overwhelming talks, panels, demonstrations, video presentations, networking and, ideally, plenty of drinking. It’s considered somewhat of a taste maker and arbiter within this community. No one person can give a completely impartial view of CHI, most of the time, there’s literally about 14 different things going on at once. The most you can do is go to as much of the stuff that interests you as possible and hook into interesting conversation in the crowd.

Still, CHI is somewhat remote from the workaday world of people who are building just another web application or mobile app. The stuff talked about at CHI is often highly abstract and, quite frankly useless to professional developers and designers. Despite that, I love it. It’s a bunch of overwhelming smart people with an astonishingly diverse array of interests all talking about the stuff they’re passionate about with a mix of brilliant insight and hilarious naivety.

Day 3

Day 3 was a pretty tiring day for me and I was exhausted from the grind and overstimulation of this thing. Most of the talks were uninsipiring and I found myself drifting off a lot but there was one shining bright spot in all of it which was that I went to what I think was the best talk, not only of this CHI, but of any CHI I’ve ever been. So for this post, I’m going to focus primarily on just one talk.

Resonance on the Web: Web Dynamics and Revisitation Patterns

I wasn’t even originally planning to go to this talk. Living in the Seattle area and knowing most of the University of Washington HCI people, my general rule is that I want to reserve CHI time for non-UW talks. However, I had come to that session for an earlier talk I wanted to see and nothing else inspired me so I decided to stay and I was glad I did.

Many of the other talks that I’ve enjoyed at CHI have involved tightly scoping a problem and then coming up with a neat experimental method that probes the question in an effective manner. Eytan Adar’s talk on revisitation and dynamic content was something completely different; it was an exploration into a messy, complex and nuanced data set and an analysis of that dataset which cut through the thicket of noise to produce clear and interesting insight.

“Resonance on the web” is a continuation of some work presented last year at CHI on revisitation patterns on the web. Using an instrumented Microsoft Live toolbar, Eytan collected the usage patterns of 600,000 web users and measured how often they returned to different types of webpages. Some webpages showed short revisitation patterns, most people who return, return 5 minutes or so after their last visit. Others showed that people returned every 6 months or so. By analysing how people revisit a webpage, it was possible to infer what broad class of site it was.

The work presented this year was an extension of this which looks at what people are interested on a page based on revisitation patterns. I’m not going to be able to go into the full subtlety of the talk and I recommend you read the paper for the full details but the basic gist of it is simple:

Most webpages these days are dynamic content. Different elements of the page change, ads change upon every refresh, content changes once in a while, site navigation elements barely ever change. By analysing the same page over time, it’s possible to find which DOM elements change at what rates and then, by matching it to revisitation patterns, you can infer what content people are interested in keeping track of. For news sites like the New York Times, people are constantly refreshing to find the newest content. For shopping sites like Costco, people are mainly coming back to search for things so the navigation bar is the most relevant information. For sites like woot.com, people are mainly interested in the content.

What can you do with this data? Eytan presented two possible applications. One was automatic generation of a mobile site. Since we can infer what content is relevant to most people, we can extract just those elements out for mobile presentation. The other was in generating web snippets for search. Knowing what people are looking for once they’re on the site means you can give them a preview of that information in the summary for search results.

The beauty of this presentation wasn’t just in the results though, it was the entire process that was used to arrive at this understanding and, if there’s one paper you read from CHI this year, I recommend this one.

Like 

Copyright ©2009 BumblebeeLabs — Theme designed by Michael Amini