Simple Trumps Complete

In: Advice|Education By: Brian Armstrong

22 Dec 2010

Three articles I’ve read in the past month.  All with the same lesson about what makes a web application “catch on”.

1. Wayne Ting, a guy who started a Facebook-like app at Columbia University around the same time as Facebook explains how they lost to Facebook: they had too many features.

“A good website should have functionalities that 70 or 80% of users want to use. We had functions that only 10% wanted”

2. Marc Hedlund, a guy who started Wesabe (a competitor which lost to Mint.com) thinks they lost because they gave users too much work.

Mint focused on making the user do almost no work at all, by automatically editing and categorizing their data, reducing the number of fields in their signup form, and giving them immediate gratification as soon as they possibly could

3. Netflix’s Chief Product Officer summed up the entirety of his years of testing various designs in just 3 words.

If I had to summarize our learnings in three words: “simple trumps complete.”

I think we’re seeing a pattern here.

Tonight I went to go see Peter Thiel speak at Stanford University.  He co-founded Paypal, was an early investor in a bunch of companies (Facebook, LinkedIn, etc), and is a billionaire.

I jotted down some notes from the talk which I thought were interesting.

  • Intensive vs. Extensive
    He spent a bunch of time comparing these two types of innovation.  Intensive is building something new and truly innovative.  An example would be the Macintosh or Paypal – both blazed a trail to create something that had never been created before.  It’s carries a higher risk of failure but also greater rewards.  Extensive is building on ideas which are already in place.  It can be  a safer way to build a company, but not as lucrative.  An example would be putting accounting software online.  Or doing another social network.
  • China
    He compared China and the U.S. saying that China’s next 20 years of growth are clearly extensive.  They can simply copy the model which is the U.S. and grow rapidly (build this many airports, this many steel mills, etc).  The U.S. can’t afford to do that and has the much harder job of pursuing intensive growth.  We can’t just make more doctors, lawyers, bankers, and houses.  To grow we need to build stuff the world has never seen (technology). Read the rest of this entry »

Classical Music

In: Psychology By: Brian Armstrong

23 Nov 2010

I’ve seen the story below repeated in a few places now: amazing violinist plays in a subway station – nobody notices.

People draw all sorts of inspiring conclusions from it (and apparently it has brought some people to tears).

I think they are missing the point.  To me it just shows:

  1. Most people don’t care about classical music
  2. Many who do like the idea of it (dressing up, feeling sophisticated, saying smart things to their friends) perhaps more than the music itself

There are a lot of similarities to classical music and expensive wine.  Many people probably can’t tell the difference between a $100 and $20 bottle of wine, but they still like the idea of drinking a $100 bottle of wine – the main benefit of consuming it is not the wine itself.

Or in psychology terms, we overly rely on price as an indicator of quality.

Related note: A Snickers bar tastes better than 99% of See’s candy, is 1/10th the cost, and doesn’t require you to play Russian Roulette with your taste buds.

Something About Wednesdays

In: Business Ideas|UniversityTutor.com By: Brian Armstrong

20 Nov 2010

I thought I was imagining things.

It seemed like on Wednesdays more tutors became paying customers on UniversityTutor.

So I ran a quick query and it turns out it’s true.

So….tutors are more than twice as likely to start paying on a Wednesday vs a Saturday?

Seems like such a big difference I hardly believe it.  But there it is.

Any idea why this might be? Would love to hear your theory in the comments below :)

Btw, here is the Ruby code I used to get the data.  The graph is created in Keynote.

I started getting complaints recently from some tutors on UniversityTutor.com that they were receiving scam emails.

I looked into it and the scam is the same one you commonly see on Craigslist and numerous other sites.  It usually goes like this:

  • Someone contacts you pretending to be interested in your services (tutoring in this case)
  • They offer to pre-pay a large amount up front and send you a money order
  • Next, they say they’ve changed their mind and would like a refund (minus some small fee for your trouble)
  • You refund them with real money before realizing the money order is fake

These scams all have some common themes which make them fairly easy to spot, but they can still catch you unaware if you haven’t seen it before.  There are some red flags.  For example, the “buyer”…

  • Usually resides in a foreign country
  • Doesn’t write/speak English very well
  • Wants to be refunded via Western Union
  • Is reluctant or unwilling to meet in person or talk on the phone

Western Union seems to be used in most of these scams because the person can pick up the money in any country with just a confirmation code.  And since they’re in a foreign country you have ZERO legal recourse to go after them.  The U.S. isn’t going to be extraditing anybody for for less than probably $100,000 and most of these scams are for $1,000 or less.

I would be curious to know what percent of Western Union’s business is from people caught up in these scams (and people laundering money).  It wouldn’t surprise me at all if it’s 25% or 50%.  Their fee seems to be high enough that you’re unlikely to use it unless anonymity was essential to you.  If that is true, then Western Union is a prime target for a class action lawsuit – and I hope somebody does take them down.  They’re enabling a worldwide network of criminals, and profiting from it, which makes them very uncool in my book.

Anyway, I checked out my Google Analytics stats and 1,759 people from Nigeria visited the site last month, which is a little strange given that I have no tutors listed there.

There could be scammers residing elsewhere too, but this jumped out at me as new and probably one source of the problem.

How To Get Scammers Off Your Site

So here are some steps I’ve taken (or looked into) for blocking these guys – and how scammers can get around them.  You’re never going to make it completely impossible for them – the goal is just to make it difficult enough so they’ll spend their time elsewhere.  They are listed roughly in order of difficulty to implement.

1. Captchas

These are everywhere online now and a great first start.  They don’t prevent humans from messing with your site, but they do block computers (bots or automated scripts that people write).  And this is important because bots can spam hundreds of thousands of users in a few hours on your site before you catch it, whereas a human can only spam a few dozen people in an hour.  Captchas are your first line of defense.

How they can beat it: hire dumb people to fill out captchas all day.  I think the going rate for this is maybe $0.05 to fill out a captcha, which isn’t much – but at least it’s costing them something now and they can’t just automate the whole thing.  This one step alone will reduce probably 90% of the spam on your site.

2. Rate Limiting

The next step is to setup some checks to limit the number of messages any given user can send in a day.  Right now if a client tries to contact more than 15 tutors in a day, they’ll get a message saying they are sending too many messages and need to slow down.

How they can beat it: they can create new accounts.  If a new email address is needed for this (which it should be), then this takes them another few minutes to setup a new email address at Gmail or Hotmail (who use their own captchas).  Not a huge deal, but remember – the goal is just to waste enough of their time so they eventually give up and go somewhere else.

3. Tell All Your Users What To Watch Out For

Low tech, but effective.  Every time a student contacts a tutor through the site, I’ve included a note in the email warning them about these scams and linking them to this information page if they want to read more.

If you use Craigslist, you’ve probably seen similar warnings all over their site.  An educated user base is a great defense.  The only downside is that it uglies up your website and your users still have to read the stupid emails, so it wastes their time even if they don’t actually fall for the scam.

How they can beat it: they can’t really prevent you from educating your user base – it just means they now have to contact 10x as many people to find one who will fall for it.

4. Geocode Their IP Addresses

You can map an IP address to a country, and block entire countries from using your site.  This worked well in my case because I could block Nigeria (I have no real tutors listed there so no loss).  However, this doesn’t work as well if your scammers are mixed in the same countries with your real users.  IP address geocoding isn’t exact, so you could accidentally block your real users along with the scammers.  It’s important to remember that an IP address does not correspond to one person or one computer (in fact thousands of people can share the same IP address behind a university or corporate firewall) so it’s not an all encompassing solution.

How they can beat it: if they find out you’re doing it, they can proxy their IP address through another country or spoof it (which again, takes a little more time and possibly money).

This brings me to an important point: if you are going to block them, don’t TELL them you are blocking them.  Try to make it totally transparent to the user.  For example, if they come to your site and see a warning message saying “UniversityTutor is not available in your country” or “you are sending messages too fast”, then they know they’ve been caught and will start trying the above mentioned solutions.  Once they see the error message go away, they know their solution has worked and they’ll continue spamming.  Don’t give them any information to test solutions!

So if I detect the user is spamming, I still show the exact same success message back to them (your message has been sent!).  I just don’t actually send the message in the background.  This way they happily go on their way, wasting their time filling out forms on my site all day long (which do nothing).

For some reason I really like this idea that spammers are like mice on a treadmill, working away on my site all day without realizing they are going nowhere.  I even thought about starting a dashboard showing how many spammers I’ve tricked into filling out completely useless forms on my site, but I haven’t yet.

5. Hidden Cookies

In addition to the rate limiting mentioned above, you can also set another random cookie which survives the user’s session on your site.  This way if they logout and log back in with a new account they’ve created (creating lots of new accounts to get around your rate limiting) you can still track how many messages they are sending overall and not send more messages.  As mentioned above, don’t tell them when their message isn’t sent.

How they can beat it: they can simply clear their browser cookies.  The key here is that if they don’t know something is wrong, they may not think to do it.  Even if they do, it adds one more step to they process.

6. Evercookie

This is a neat little hack that a programmer put together.  It uses about 7 different methods to store cookie data all over the user’s browser and computer.  Some of them are very clever and hard to detect.  If one or more of the storage mechanisms gets deleted, Evercookie recreates all of them the next time it runs.  The result is a persistent browser cookie that is VERY difficult to get rid of (you can’t just clear your cookies).  As with many tools, this one could potentially be abused – but here is a case where it ends up working for good (blocking scammers).

How they can beat it: they’d have to spend quite a bit of time figuring out how to prevent it.  I’ve heard some reports that Google Chrome’s incognito mode is safe from it, but I’ve never tested it.  I suppose they could just boot up a new virtualized operating system every time, but in general, this is probably beyond what most scammers would be willing to do.

7. Panopticlick

Panopticlick attempts to identify an individual user of a website based on a hash of all their public user data.  Surprisingly, it claims to work about 85% of the time.  This could accidentally block a few of your legitimate users (false positives) in the worst case, but it could be worth it depending on how bad your spam problem is.

How they can beat it: they’d have to adjust something in their browser settings before each message to keep trying to get a unique identifier.  They could run out of settings after a while.  If anyone knows of this being used in production anywhere, please let me know in the comments.

8. Bayesian Filters

Currently the nuclear weapon in the fight against spam (the most technically sophisticated, but also the most powerful) – this applies equally well to blocking scam messages.  This is what Gmail uses for their spam filter, and it works quite well.

You’ll need a decent sample size of data (scam messages and real messages separated) and it will improve/learn over time.  You don’t even need to write the whole thing from scratch.  There are some nice open source libraries that you can drop right in, depending on what language you are using.

How they can beat it: they’d have to start changing the messages they send to not get caught in the filter.  This might include learning to speak English correctly, not using the word “money order” etc – which are non-trivial.  The algorithm would learn over time so they’d have to continually change it up.  Their weak point is their message: they are always going to have to say something slightly different than legitimate users.

Conclusion

The war against scammers is an ongoing game of cat and mouse that is never going to be completely over.  They might be annoying, but luckily they are just that – annoying – and rarely actually trick people out of money now days.  As people become more internet savvy (and start to recognize the words “Western Union” as a red flag), scammers will become less and less important.

Did I miss any other techniques?  Please let me know in the comments!

Brian Armstrong

Shutting Down FeedmailPro.com

In: Advice|FeedmailPro.com By: Brian Armstrong

24 Oct 2010

Had a bit of a sad moment today as I finally shut down FeedmailPro (or at least began the transition process to do so).

I’d been contemplating this move for a while, and finally bit the bullet.  Why?  Well the short answer is that I don’t have enough time to work on it, and it never took off the way I’d hoped.  Actually, Email Service Providers have gotten a lot better since I created FeedmailPro (the narcissist in me would like to think I had something to do with that – pushing the competition in the right direction – but it’s probably totally unrelated).

Since I created it, 800 blogs have come to depend on it (albeit only 20 were paying customers) so clearly, communicating this news to the users of FeedmailPro is no small task.  I fully expect to upset some people in doing this, but there is definitely a right and wrong way to go about doing it.  Probably the biggest thing I was able to do was setup an excellent transition process for all the users to move over to MailChimp.  So hopefully this will be a step in the right direciton.  Below I’ve included some excerpts from the page I created on FeedmailPro to explain the transition to all the users.

I also made an effort give as much transparency as possible on the page.  I spoke in the first person and used the words “I’m sorry” (as opposed to “we apologize for any inconvenience” or hedging language like that).

Read the rest of this entry »

Buying a new car still sucks.

In person negotiations at car dealerships feel out of date and are unpleasant for many consumers.  And websites aren’t much better: while there are a plenty of good car research websites, you can’t actually complete the transaction online.

In fact, the state of the art in online car buying hasn’t changed in 10 years: the ubiquitous “request a quote” form that asks you to enter a make, model, and zip code.

Many consumers don’t realize that by filling out a “request a quote” form your contact information has been sold to about 5 different car dealers for $20 each, and you’re about to start getting lots of spam emails (auto-generated offers at uncompetitive prices) and unwanted phone calls.  Those dealers are trained to try and get you in the dealership and won’t give you their best offers online.

  • Where is the competition in this market?
  • Why can’t you see how other consumers have rated a dealer before walking into a dealership?
  • Why can’t you compare all your offers side-by-side in the same format?
  • Why is the final price you’ll pay to get the car off the lot still so unclear?

The new start-up I recently joined in California is solving this problem.  The company is CarWoo.com and we’re making a better car buying process where dealers compete for your business.

Here is the new homepage (be sure to check out the video for some more details):

We just officially launched this morning after more than a year in private beta.

And we just completed an A-round raising $4.5M from some outstanding investors.

And the press is starting to roll in.  This is going to be an exciting day!   The whole team is camped out in a big house in Las Vegas where we are attending the Digital Dealer conference.  It’s been really exciting to see this process from the ground up!

Until next time, keep breaking free!
Brian Armstrong

Greater levels of abstraction

In: Technology By: Brian Armstrong

30 Sep 2010

At the risk of oversimplifying, the entire history of computer programming could be summarized as a series of higher and higher levels of abstraction.

Early computers just had individual bits you could flip on and off.

Then came assembly languages that allowed you to manipulate numbers.

C made strings, arrays, and all sorts of things possible.

Further evolutions came with C++, Java, Ruby, etc.

With each iteration the languages produced less efficient code at the bit level, but programmers could write better stuff because it was easier to think at higher levels.  Processors kept getting faster so this made up for the slower code.

It’s sort of funny because debates still occur constantly in the tech community about the merits of various languages.  Usually one nerd will say “real programmers use X technology – it’s just so much more efficient.  Sure Y is newer but it’s just a toy, it doesn’t scale in the real world” while another nerd will say “not true – so and so is using Y now, it’s web scale and the way of the future!”

It’s important to keep history in perspective.  With Moore’s law continuing for the foreseeable future, it’s hard to imagine programming NOT continuing to move toward higher and higher levels of abstraction.

As with all trends you have to time it right, so not every technology is right today.  But if you had to pick one to win over time I’d pick higher abstraction over speed of code every time.

When C came out there was probably some hardcore assembly programmer who said “bah – C is a nice idea but will never be fast enough on real machines”.

And in 10 years, there will probably be some kid who says “you still use Ruby?  that’s so low level!”

Reflections on world travel

In: Living Abroad By: Brian Armstrong

29 Sep 2010

Since I spent a year in Buenos Aires, Argentina people sometimes ask me what my experience was and if I’d recommend it.

For example, here is a recent reader question and my response:

Hey Brian,

Did you like being in Argentina? Is it as good as its cracked up to be and as cost-effective? How much does it cost (US dollars) to live really well down there?
R.D.

My response:

Hi R.D.,

I don’t want to oversell it as I think some people have online. Outside the city there is some serious poverty. But inside there are some nice areas and certainly a different cool sort of European culture you can find with very nice people and good food. I’d say you can live comfortably there on anywhere from $1000-$2000 a month, but of course this varies a lot based on your taste. Things are not drastically cheaper there (some more, some less) but I’d say on average prices are about 25-50% cheaper than the U.S. (of course you may not be earning as many U.S. dollars while you are down there).

Overall I’m very glad I did it, and I think it’s one of those life experiences that has helped me grow as a person. But don’t buy into the tales of travel as some mystical experience. It is a city just like anywhere else, with good people and bad people. Take it for what it’s worth and enjoy it as a fun experience either with a partner or as a process of self discovery on your own.

Compared to other places I’ve traveled in the world, BA is definitely up there in the top 3.

Thank you,
Brian Armstrong

====================================

Further Thoughts

One surprising result after traveling abroad is that I definitely developed a much bigger appreciation of the U.S.

People tend to romanticize foreign countries by saying the people there appreciate the important things in life, or are happier with what they have, or generally lead simpler lives that aren’t based on rushing around, checking your email 20 times a day, and being so career oriented.

It can be nice to experience this as a temporary reprieve from a busy life, but for locals who actually live abroad this romanticized idea quickly evaporates.  Greater corruption exists (I witnessed both bribing of police and city inspectors while in Buenos Aires), taxes are higher (creating a large grey market), and there is plenty of counterfeit money and petty theft.  For people with fewer opportunities in life, crime is an attractive option.

The U.S. has many flaws, but strictly in terms of economic opportunity I haven’t seen a better place to live yet.  For me at least this is a trump card, although clearly everyone has difference priorities.

Until next time, keep breaking free!
Brian Armstrong

UniversityTutor.com hit a little milestone this past week: 200 paying tutors!

At $10/month each this might not sound like a lot (and it really isn’t) but for me it was pretty cool because this was my original goal for myself way back when I first started the site, more than 2 years ago.

In fact, (this is really silly but) during that entire time I’ve had this little stickie note on my computer desktop with that goal written down:

When I started I thought it would take maybe 6 months tops to reach this.  Now it’s finally done – it only took about two years longer to accomplish than I thought it would! :)  (With some nice setbacks along the way.)

My daily stats dashboard:

I took the occasion to implement a change I’ve been thinking about for a while on the site: making the free account unlimited.

Read the rest of this entry »

About this blog

Breaking Free is a collection of articles on tech entrepreneurship, business, and life written by Brian Armstrong. You can read more here »