Xiang 'Anthony' Chen

Making an Impact in Your Life
Xiang 'Anthony' Chen has written 257 posts for A Designer with Dirty Hands

Response to [Whack gestures: inexact and inattentive …] by Hudson et al.

One Sentence

The paper presents whack gestures – a class of mobile input techniques whose actions demand little exactness and attention from the user.

More Sentences

The paper gives examples of such gestures where whacking the phone signals the beginning/ending of a gesture and another whacking/wiggling/no_actions frames the gesture. The implementation used the accelerometer and, as proved in an experiment, yields little false positives.

Key Points & Take-Away

  • Whack Gestures, an inexact and inattentive interaction technique… without the use of fine motor skills or detailed visual attention.
  • “While this clearly does not cover all of the ways such devices are carried, it does provide an initial feasibility test for the approach.” -> very nice way to say “hey, this is limited; but it’s still reasonable as first steps”.
  • What I don’t get in the experiment is the participants’ 2-hour of walking out with the device before told to perform the gesture (and only 3 times). Why need to collect ‘baseline data’ given that the system is already implemented and in place? Why separate the ‘walking out’ and the performing of the gestures – these gestures should have been performed during walking out in ‘normal routine’, right?
  • “reduce the false positive rate by three orders of magnitude” – a more convincing way of saying how much your work improves the previous.

Response to [Toward more sensitive …] by Hinckley & Horvitz

One Sentence

This paper describes how to design a sensor-enhanced mobile phone to interpret and sensitively react to the user’s actions, in particular, in the scenario of receiving and (not) answering a phone call.


1. The well thought-through design of the particular scenario

A simple scenario of receiving and (not) answering a phone call is so well thought-through in the paper. Different situations are identified and handled elegantly, such as initially holding or not holding the phone, acknowledging or ignoring the call, and answering or rejecting the call, using ringtone or vibration as notification.

This suggests that, when developing certain input techniques, start with a simple enough scenario, but do explore and develop its richness.

2. The presentation

The paper is well written. In particular, learn how the intro is written to make a strong case that motivates the work, and how each technique is described smoothly, accurately and engagingly.

[HCI Stats] Graphics (in R)

This post is based on Yatani’s wiki on HCI Stats.

  1. What is a bar plot? When would you use it?
    A bar plot shows a bar whose length (or height) is proportional to the value of the data entry.
    A bar plot can be used to show, for example, the data (in particular, the means, errors) observed from different groups.
  2. What is a box plot? When would you use it?
    A box plot visualizes “Here’s where X% of the data points go to”. For example, the median value is rendered as a bold line, then two other quantiles (forming the top and the bottom of the box) marks values under which there is 75% and 25% of the data points, respectively.
    (Another way to see it is a box plot gives a five-number summaries:
    – the smallest observation;
    – lower quantile (Q1);
    – median (Q2);
    – upper quantile (Q3);
    – the largest observation.
    A box plot can be used to show “what your data looks like” (“what range of value the data goes to”). It provides more information than a bar plot.
  3. What is a multiple dot/line plot? When would you use it?
    A multiple dot/line plot shows individual data points and/or connects them if they belong to the same group.
    It is useful to show the evolution of observation over period  (e.g., through sessions in an experiment).
  4. Create a bar plot; create a bar plot with error bars.
  5. Create a box plot. Point out the ‘five-number’ lines.
  6. Create a multiple dot/line/dot+line plot.

Thoughts from Project Glass and the discussions: thinking hard through telling a good story

Story matters. That’s one of the most important lessons I have learnt from Saul and our group.

Earlier this year I built a ‘visionary’ mobile browser that concentrates the essences from my thesis. The basic idea is: in that browser, tabs, bookmarks and menu items are conceptually placed on and around a person’s body. For example, imagine all the opened tabs (look up at your browser) are instead placed on a circular plane around your waist.

I know. It’s difficult to get the idea. What is more difficult is to convince people it’s a good one.

What is the story that would make this idea looks good? I had no clues until I had some *funny* experience that inspired me to base that story on my own:

That actually happened to me! I was sitting in the train painfully using my phone to search for Kendo equipment stores when I realized, hey, this might be the scenario that can ‘sell’ my wacky browser prototype. The pressing demand of using a browser on-the-go, and the hopeless suckiness of current mobile browser all together make room for an alternate idea, albeit, as the cliché goes, still needs formal user study to ensure its usability.

Story matters. Both to the storyteller and the audience.

I brought up this topic primarily because of the recent on-and-off discussion of Google’s Project Glass, especially a (what I think is) tirade from Cooper. Let’s just focus on the storytelling part. Cooper’s article thinks the Google video didn’t get the story right: while the coolness is pervasive in the video, the story behind it doesn’t fully make sense. The article enumerates a wealth of such examples which are almost given at a ‘frame-by-frame’ basis.

I feel bad for Google. Yes, we are being too harsh.

To summarize my take, I quote Steve Jobs: people don’t know what they want until you show it to them. I think this characterizes the essence of telling a story in a visionary video. Of course, there is always a dilemma – as seen from Project Glass: when we can do X, some people would kinda miss the time when we can’t; and they start to criticize X. For example, when we can straightly know the way to the ‘Music’ section from our glasses, some people would miss the time when we have to ask a salesperson; and they start to criticize this feature as ‘anti-social’.

I didn’t mean they are wrong. To me this is pretty normal. As one of our beloved researchers likes to repeat: everything is best for something and worst for something else. Of course so is your video. To me, what really matters is, as researchers (storytellers), by having to tell a compelling story in the video, we are forced to think really hard whether our idea is a good idea, and if not how we can make it a good and better one. When producing the story and the video, I always find all kinds of doubts, problems, weaknesses, flaws, misunderstandings… all which would never come to me if I simply keep my idea away from approaching how it would be perceived and used by real people in their real lives. Having used stories to elicit this useful information, I then re-shape my idea accordingly. As a result, the story and the idea improve mutually. Originally stimulated by the idea, the story now becomes a medium that bridges the idea to its audience.

In short, the pursuit of a good story makes us think hard, and in so doing it drives the quality of our idea and our research.

[HCI Stats] Basic operations with R

This post is based on Yatani’s wiki on HCI Stats.

Make up some data and demonstrate the following R operations:

  1. Install a package (say, “car”);
  2. Include the package you just installed;
  3. What is the current working directory?
  4. Change the current working directory to “C:/R/” (what’s the format for “/”?);
  5. Import and show a csv file (first create one!);
  6. Show what a dataframe is;
  7. How to show a specific column/row?
  8. How to add/remove a column/row?
  9. How to change the names of the columns/rows?
  10. Show what a summary() is;
  11. Show what a by() is;
  12. Show what an apply() is (how to use it for the columns/rows?);

Notes of [Why don’t Americans walk more?] by Vanderbilt

  • If we were to find ourselves out hiking on a forest trail and spied someone approaching at a distance, he wanted to know, would we think to ourselves: “Here comes a pedestrian”?
  • … the idea that we, this species that first hoisted itself into the world of bipedalism nearly 4 million years ago – for reasons that are still debated – should now need “walking tips,” have to make “walking plans” or use a “mobile app” to “discover” walking trails near us or build our “walking histories,” strikes me as a world-historical tragedy.
  • Why do we walk so comparatively little? The first answer is one that applies virtually everywhere in the modern world: as with many forms of physical activity, walking has been engineered out of existence.
  • Walking in America is a bit like sex: Everybody’s doing it, but nobody knows how much.
  • In her book Wanderlust: A History of Walking, Rebecca Solnit writes, “walking still covers the ground between cars and buildings and the short distances within the latter, but walking as a cultural activity, as a pleasure, as travel, as a way of getting around, is fading, and with it goes an ancient and profound relationship between body, world, and imagination.”

[HCI Stats] Notes of NHST (Null hypothesis significance test)

This post is based on Yatani’s wiki on HCI Stats.

1. What is NHST?

The basic idea of NHST is to draw a result by proving its opposite is false. For example, in comparing two text entry input methods we have a null hypothesis that there is no relationship between the response time and the choice of the methods. Meanwhile, the alternate hypothesis is that there is a particular relationship between these two variables.

2. What are some NHST methods?

T test, ANOVA

3. What is the meaning of p in NHST?

The p in NHST shows, given the null hypothesis, the likelihood that your experiment would yield the results you have obtained. Simply put, if p = 0.01, there is a 1% likelihood that the participants’ response time would look like the results you have now.

4. How do we decide the ‘threshold’ of p?

There is no stringent thresholds (the commonly-used 0.05 and 0.10 are rather arbitrary). Nor is there a rigid mapping between the difference of p values and the difference of the underlying significances they represent.

5. What is the relationship between sample size and the NHST result?

Yatani’s example shows that NHST is restricted to sample size: the small difference becomes more significant as the sample size increases.

6. How is ‘significance’ measured in NHST?

Not by the value of p. As the definition tells, NHST only tells an either-or result. We cannot, for example, relate a smaller p to a ‘more significant’ assertion.

7. Is ‘significance’ the only important metric?

No. Yatani shows an example: a small difference might carry a great significance – but it’s still a small difference; meanwhile, a great difference might not show sufficient significance – should we still accept it as a contribution?

8. Overall, how do we use NHST?

Yatani lists four ‘should’s for you to really make good use of NHST:

  • One’s research question should be answered by ‘yes’ or ‘no’;
  • One should have an appropriate null hypothesis;
  • One should interpret p correctly;
  • One should use the term ‘significant’ properly.

9. What is effect size?

Effect size reflects the magnitude of the effect caused by a factor. It’s not dependent on sample size. Yatani thinks one should also report effect size together with the other results.

[HCI Stats] Types of data

Based on Yatani’s wiki, this post introduces the four types of data one will encounter in a statistical analysis.

Start with a story:

Your team has invented a new kind of interface that gives thermal feedback (i.e., cold, cool, warm, hot). You are conducting two studies to test this interface. In your first study, you want to explore, when changing the temperature, what is the minimum change (from room temperature to X temperature) that a user can tell, and how long it takes for one to ‘sense’ a changed temperature. In the second study, you want to compare this new interface with a conventional one. Besides asking users to do some tasks on both, you also want to do a questionnaire.

So what types of data you can get from these two studies? A lot. But we just want to find the shadows of four representatives.

  • Nominal. A nominal variable is similar to an identity, or a category. For example, in the second study, the ‘interface’ (independent) variable is a nominal that contains two levels: a thermal interface and a conventional interface;
  • Ordinal. An ordinal variable is similar to a rank – you know the position of a given value within the range of all values. In the second study, if the Likert scale is used in the questionnaire, the score is an ordinal variable, e.g., rating the satisfaction from 1 (very unsatisfied) to 7 (very satisfied).
  • Interval and Ratio. Both are continuous numeric values that can be any real numbers. The difference between an Interval variable and a Ratio variable is similar to the difference between ‘distance’ and ‘displacement’. For example, in the first study temperature is Interval and the ‘sensing time’ is Ratio. Because for temperature only the difference of values matters (whereas whether it is Celcius or Fahrenheit doesn’t); but time is different – 1s is shorter than 2s no matter what.

In Yatani’s wiki, he says:

  • It is better to design your experiment so that your dependent variable (what you measure) is ratio;
  • It is important to figure out which dependent variables and independent variable you use and what types of data they are before jumping into any kind of statistical tests.

[UI Basics] Accelerometer, gyroscope, and compass

In a smart phone, there are three sources of sensory information that seem all telling us something about orientation: accelerometer, gyroscope, and compass. But what’s the difference?

In terms of what information they give,

  • accelerometer: if you calculate the resultant force of the phone (using Newton’s second law F = ma), then minus the gravity (mg), and calculate an acceleration value ((F – mg) / m): that is the value obtained from the accelerometer (and usually it is divided by the three axes thus has three component values);
  • gyroscope: while in above we assume linear acceleration, angular acceleration can be also sensed by using a gyroscoope. The best way to think of this is: gyroscope tells how a device yaw, pitch and roll;
  • compass tells the phone’s orientation relative to that derived from the earth’s magnetic field.

In terms of how they work,

  • accelerometer: there are so many ways to make an accelerometer. For example, [4] introduces one using a crystal structure that is sensitive to acclerative forces, and as a result will causes a voltage to be generated. Basically, accelerometers are pretty much self-contained units that provide ‘primitive’ sensory information pertinent to a device;
  • gyroscope: the kind of gyroscope used in a device is usually the MEMS (MicroElectroMechanical System)
    gyroscope which uses the Coriolis effect to measure angular accelerations [2]. It is also a self-contained unit;
  • compass can be made of a magnetometer that determines the orientation influenced by the earth’s magnetic field [5]. Alternatively, one can also collaborate with the accelerometer to calculate the compass information such as the AK8973 chip used on the iPhones [3].

I believe knowing the difference between these three popular phone sensors can help us build better mobile applications.


[1] http://www.devx.com/wireless/Article/44799

[2] http://www.electroiq.com/articles/stm/2010/11/introduction-to-mems-gyroscopes.html

[3] http://mobiledeviceinsight.com/2011/12/sensors-in-smartphones/

[4] http://www.dimensionengineering.com/info/accelerometers

[5] http://spectrum.ieee.org/semiconductors/devices/a-compass-in-every-smartphone

[HCI Basics] Usability and user experience

It is important enough to know that usability != user experience.

But how are they different?

Jared Spool thinks usability is about achieving the goal while user experience is about whether the process is delightful.

McNamara and Kirakowski consider usability as an issue of the interaction between the user and the product, while user experience includes ‘the wider relationship between the product and the user’ and ‘the individual’s experience of using it’.

Others also wrote about the two terms’ difference here and there.

So, let’s try filling out a 2×2 matrix, see if it makes sense to you or other people. Comment if you disagree.

Twitter Updates