Selected writings by Ryan Chan on life and tech

What is the P-value of decency?

Spyros Papaspyropoulos, 2013 While evaluating new tech startups’ products, I keep my feedback on a piece of paper with two columns, creatively labeled “helpful” and “unhelpful”. It’s useful not just for organizing my thoughts, but as a reminder not to be a hypercritical ass, which can be easy for an analytical person like myself.

But recently, I’ve had to start adding in a new column: “Creepy”. Creepy tends to be:

  • Helpful… but unsettling in a way that’s difficult to quantify
  • Done with good intent
  • Rarely used by the founders/developers
  • Driven by data

Let’s look at an example of creepy:

Exhibit A: LinkedIn’s Who Else Might You Know

Are these people you might know? We creepily think you do.

LinkedIn has a marvelously efficient on-boarding process - every little step is focused on getting you set up and connected with people as quickly as possible. It makes sense for a social network: I’m sure the analytics says that once someone makes 7 or 10 or whatever connections, they’re 50% more likely to stick around, so everything is funneling you towards making new connections.

Take for example the “Who else you might know” feature. This helps you quickly get a few connections by suggestions people you might be connected to; on a recent experience, it helpfully suggested that I connect with several of my housemates. Awesome, right?

The only problem was that I was using a randomly generated test account: no personal information, a clean email account, and generic login details.

Indignation flooded my thoughts as alarm bells rang loudly in my head: how did they know who I was? Are they tracking my web activity? How the hell are you getting this information?

I’m sure there are perfectly reasonable explanations. They probably cross-referenced that IP I logged in from with other members in the database. They probably couldn’t care less about my extensive web history of procrastination. They’re probably doing things that are just par for the course for any highly data-driven company. But the immediate impact I felt was that of disgust, indignation, and violation. Certainly not the things you’d like a new user to feel.

Data Driven, not Data Only
As the “Big Data” meme continues, I fear that this trend will grow. Being able to pinpoint those fractional improvements in conversion or betting on the statistical correlation between mouse position and LTV will only make this worse.

Even in my own small-scale tests, I found it hard to argue against treating your users like idiots because the data clearly shows that it makes them convert better. How could anyone at Groupon argue against sending even more daily-deal emails with millions of data points definitively linking more emails to more dollars? How could anyone at Zynga argue that they were pissing off new users with relentless game-spam when they were signing up new users like gang-busters?

How can you possibly argue against something that works but feels wrong? What is the P-value of decency?

It is social aptitude, not intellectual brilliance or parental social class, that leads to successful aging… That the only thing that really matters in life are your relationships to other people.

What Makes Us Happy? - Joshua Wolf Shenk - The Atlantic

The New York Times is redesigning its Web site — starting with the article experience

There’s been some really mind-blowing UX development going on at the NYT. Their snowfall project was a first glimpse at what articles could be in the future!


Gray Lady’s getting a facelift.

Read through and you can see some of the front-end changes they’re making. The majority of it is cleaning up the clutter and bringing more contemporary UI and navigational schemes to the site.

They’re also relocating comments to the side of article articles “so you can read them in context” and bringing the swipe to tablets as a way to go from article to article.

1 year ago - 81

Sorting Arrays by multiple criteria in Ruby with sort_by!

This just saved me so, so much time debugging an insane sort chain. Instead of chaining #sort! methods together, you can create an array to sort by using #sort_by! Using #sort_by! on an array will compare each item in the array sequentially, using an ascending sort on the block that you pass in.

The wonderful Marc Andre-Lafortune explains this best:

By your original criteria, you would have: a < b < c < a. So, which one is the smallest??

You also want to do the sort at once. For your <=> implementation, use #nonzero?:

def <=>(other)
  return nil unless other.is_a?(Post)
  (self.category <=> other.category).nonzero? ||
  (( || AGES_AGO) <=> ( || AGES_AGO)).nonzero? ||
  (self.position <=> other.position).nonzero? ||

If you use your comparison criteria just once, or if that criteria is not universal and thus don’t want to define <=>, you could use sort with a block:

post_ary.sort{|a, b| (a.category <=> ...).non_zero? || ... }

Better still, there is sort_by which you can use to build an array for what to compare in which priority:

post_ary.sort_by{|a| [a.category, || AGES_AGO, a.position] }

Besides being shorter, using sort_by has the advantage that you can only obtain a well ordered criteria.


  • sort_by! was introduced in Ruby 1.9.2. You can require “backports” to use it now though.
  • I’m assuming that Post is not a subclass of ActiveRecord (in which case you’d want the sort to be done by the db server).

When you’re stuck, make a list of what WOULDN’T happen next. Lots of times the material to get you unstuck will show up.

Give your characters opinions. Passive/malleable might seem likable to you as you write, but it’s poison to the audience.

You gotta identify with your situation/characters, can’t just write ‘cool’. What would make YOU act that way?

My highlights from Pixar’s 22 Rules of Storytelling

Ben Kamens: Breaking down Amazon's mega dropdown

Ben Kamens discovered a tiny quirk to the Amazon menu which I’ve always noticed but never even thought about implementing. Thisis fantastic UX thinking.

The hover effects on Amazon’s big ‘ole “Shop by Department” mega dropdown are super fast. Look’it how quick each submenu fills in as your mouse moves down the list:


It’s instant. I got nerd sniped by this.

1 year ago - 239

The Science Behind Successful Networking

I just wrote a new post for Musubi on the science of networking and making friends. My favorite bit when doing research for this was learning how important face-to-face interactions are; it’s not just better because you can instantly respond to the person. Our brains are actually hard-wired to look for subtle inputs like body language, shared touches, and even little micro-smiles when meeting new people. It’s a rapid feedback cycle that confirms the “I like you” signal in our subconscious.

Robin Dunbar, the sociologist famed for postulating the maximum number of meaningful relationships a person can have, has done extensive research into how our relationships are formed. One of his most striking findings is that how you interact with a friend is closely linked to the strength of your friendship: in Dunbar’s research, the average friendship cannot maintain “closeness” beyond 6-12 months without a face-to-face meeting!

For more on the science of networking and how we make friends, check out the post here.

1 year ago - 1
Sometimes I forget that the whole world doesn&#8217;t share tech startups&#8217; obsession with design and UX.

Then tax season hits.

What a reminder. Why does this checkbox even exist?!

Sometimes I forget that the whole world doesn’t share tech startups’ obsession with design and UX.

Then tax season hits.

What a reminder. Why does this checkbox even exist?!

That’s a six-year span — six years! — filled with dashed hopes and disappointments. Put yourself in his shoes. Imagine starting something now, this year, that you felt you were pretty good at, having won some student awards, devoting yourself to it full time…and then getting rejected over and over until 2019. That’s the middle of the term of the next President of the United States. Can you imagine working that long, not knowing if anything would come of it?

Ang Lee and the uncertainty of success |

Negotiating Your Startup Job Offer - Robby Grossman

Almost everything you should think about when talking compensation for a startup.

1 year ago