My web browser’s view of me

April 7th, 2013 Comments off

What does your web browser think you like?

Many modern browsers, including Google Chrome, have a nifty predictive-text feature in the address bar.  You start typing, and it predicts what you’re trying to say. This works even after a single letter. The results are shaped to each individual based on one’s browsing and search histories.

So, I got to thinking: which web sites does Chrome predict for me for each letter of the alphabet?

Here’s what I found: (I recently got an Amazon Prime subscription, and it’s pretty awesome) (I like the classic interface much better than the “normal” one) (A bit of a surprise, as I haven’t bought or sold anything on eBay in a while) (Best travel search site at the moment) (I sell some stock photos here. I also seem not to visit many other “i” sites) (I must not visit many “j” sites either) (Still searching for love!) (About 30% of Blurity purchases are via PayPal) (Very surprised by this one — I think I’ve been here once in the past year, and the site isn’t even all that useful) (Google is better for searching patents, and is better for viewing them, but only here can I view the PAIR data) (Per my records, the last time I bought something from Zappos was August 2007)


Based on this data, what picture can we draw of me?  Maybe that I’m a tech-savvy engineer who likes to travel, laugh, keep up with friends, and buy and sell things on the internet?

The problem with this data is that it is not directly correlated to the frequency of visits. For that, it’s more useful to look at Chrome’s “Most Visited” sites, visible when a new empty tab is created.

Thumbnails of the thumbnails of my frequently visited sites

For me, the sites are:


Curiously, two of the entries on this list (CNN and Craigslist) were absent on the predictive list. This gets at a second problem with predictive input: it doesn’t work as well when there are multiple sites that start with the same letter or sequence of letters.

I wonder how self-reinforcing these sets of sites are. That is, am I more likely to continue to visit them because the effort required to change is higher than to not change?  It’s possible.

CNN in particular might be an example of that. Most of what they publish comes from the wires, so I could just as easily make something like the Denver Post or Reuters my hard-news mainstay. In fact, I’ve done exactly that on my phone. Still, the motivation to switch on my desktop computers is lacking.

It should be interesting to see how this changes over time. I expect that Hacker News, Wells Fargo, and Blurity will stay on the list for the foreseeable future. OkCupid may drop out if I manage to find that special guy. And Facebook? It’s an unknown. Will I still care about it in four years? Not sure. The next shiny thing might have come to the fore by then.

Through the past 16 years

January 28th, 2013 Comments off

In light of the recent NPR piece on one’s perception of one’s own change over time, I thought I’d pull together a gallery of my identification cards from the past 16 years.

Let’s start off by showing how nerdy I looked as a teenager. Perhaps you thought you looked nerdy, but I think I won this battle.

My 15-year-old self. What a nerd! Also, my adorably outdated signature; apparently, I still signed my name in a somewhat legible manner when I was 15.

It turns out that there was another option for the lede photo: my first high school ID. If anything, I look even dorkier there.

Time for high school.

You might expect that my first year of high school would have knocked some style or self-awareness into my head. Nope. Near the end of my sophomore year I got my driver’s license, and I was looking as nerdy as ever.

First driver’s license. If you look closely, you can tell that this is a different photo than was on my learner’s permit.


Or perhaps not. The first signs of a stylistic thaw emerged at the beginning of my junior year. I seem to have learned that the top button of a shirt should remain unbuttoned.

Slightly less nerdy? That said, I was wearing a polo shirt from Philmont, which wasn’t exactly the epitome of high-school cool.

Then it came time for senior year. My eyes were still squinty, but it seems that I was making an effort. No glasses (at least for the photo), a t-shirt under my polo shirt, and a chin-up pose that seemed to scream optimism.

My first ID without glasses, even though I was still wearing glasses at the time.

When I went off to college, 600 miles from home, I recognized it as an opportunity for reinvention. Nobody knew me at Rose-Hulman; I could be whomever I wanted to be. I resolved to be more outgoing, to challenge myself more, and to leave college with no regrets.

For the first time in any of my ID photos, the whites of my eyes are visible.

You can’t see it in this photo, because again I took my glasses off before sitting, but by the start of undergrad I had switched to less dorky frames.

Between the time I got my Rose-Hulman student ID and the time I got my next driver’s license, I gained about 15 lbs and then lost about 20 lbs.

A proper photo for my 21st birthday! No glasses anymore, just contact lenses. The signature on my ID is amusingly inaccurate, possibly because of a poor digitization.

My first passport was issued in the era where one could smile in one’s photos.  That was fine. The bigger problem with my first passport photo is that I took it myself by holding a digital camera at arm’s length. The resulting foreshortening distorted my face, giving me a big nose.

…and then we take a step backwards for my first passport.

As with my passport, I supplied my own photo for my Stanford student ID. A few things are notable. First, I was aware of foreshortening by that time, so I didn’t repeat the big-nose mistake. Second, I had been working on losing weight, so I weighed only 175 pounds at the time (March 2007). Finally, I kept taking photos until I ended up with one that I thought looked good rather than one that was a typical representation of myself.

Stanford allowed students to supply their own photos, so I did.

It’s easy to get carried away when taking one’s own photos. I had an internal perception of myself, and when my prospective Stanford ID photo didn’t reflect that, I decided that the photo needed fixing, not me. A few spots of acne? Easily cloned out. Spent too much time inside? Fiddle with the curves to grant a nice tan. Eyes too dark? Dodge them, and maybe make the whites whiter at the same time.

Although the person in the photo is recognizably me, I know from observing others who have resorted to similar trickery that the end result rings false to the outside world.  Self-perception is as we wish we were, not as we are.

I carried my Stanford ID until long after I should have done away with it. When faced with a profound life transition, we tend to hang on to the familiar past, even when we know we should be moving forward. I’ve watched myself do it numerous times, and I expect I will do the same in the future. I wonder if such transitions are more difficult for the younger generations, what with the rise of social networks, texting, and the like?

I had reason to be smiling in my next Minnesota driver’s license: I was about to leave for grad school in sunny California.

Sharp-eyed readers will notice that my claimed height dropped an inch for this license. I don’t think I ever really was 6’1″ — that was merely wishful thinking. I am, however, a full 6’0″ tall. I decided to own up to the deception in my new license.

Definitely getting a bit older for my 25th.

And then, there’s a long gap in new photos. I was a Minnesota resident for a while, and Minnesota takes new driver’s license photos only every five years. That meant that my photo from 2007 was automatically applied to the face of my renewed license in 2011.

Was that the end? No. I moved to Colorado in 2012, so there was another ID to get! Specifically, a rather fake-looking Colorado driver’s license.

Not a huge fan of this photo. C’est la vie.

I also had to replace my passport. Aware of the deficiencies in my Stanford ID photo, I settled on a journalistic aesthetic for my likeness on my new passport.

I stood in front of a wall and asked Tyler to snap a photo. The only light was supplied naturally through a large window.  Did I fix my cheeks, reddened from skiing? Did I enhance the blue in my eyes? Did I pull my hairline down my forehead a bit? No. Post-production consisted solely of snapping the background to white.

Photo for my new passport. Note my red wind-chapped cheeks from skiing.

Looking back through the photos, it’s clear that I’ve aged. What the photos don’t show is my evolution as a person. I went from not knowing how to skate to playing hockey all over the continent. I found my political ideals shifting towards the center, a transition hastened — strangely enough — by my time at Stanford. I learned that I, too, was mortal, after watching my cousin Nick, two years my junior, die in the line of duty.  And, of course, I’ve become comfortable enough with myself and the cultural climate to admit to the world that I’m gay.

Evolution as a person keeps one interesting to others. There is a balance to be maintained — become too different, and friends from the past might drift away — but stagnation serves nobody well.

It will be interesting to see how I continue to evolve in the next decade and a half. What interests will I develop? Who will I meet? Where will I live? What heartaches will I endure? There is certainty only insofar as there is uncertainty. I’m excited to see how the journey unfolds, into the unknown.


How we got a Y Combinator interview but blew it

October 24th, 2012 10 comments

Six months ago, I got a scratchy cell phone call from Tyler while he was hiking at Arches National Park:

“We’re going to Mountain View!” he exclaimed.

“What?” I asked, scared I had misheard him.

“Y Combinator said ‘yes’ for our interview!” Tyler clarified.


A week later, we were in Mountain View.  We interviewed in the afternoon, and in the evening we were rejected.  Here’s how we got to that point.

Note that I have not titled this “How to get a Y Combinator interview” — that’s a different problem.  This post is simply about what we did.  If you want a proper guide, I suggest Jason Shen’s Unofficial Y Combinator Guidebook.

Y Combinator Funding Application Summer 2012

Company name:


It started one evening in early February 2012, when Tyler pitched an idea to me: “Backup for photographers.”

Since we both dabbled in photography, that seemed like a real problem, and after some cursory research, we felt we could solve it.

The gist was that photographers generate so much data that it’s impractical to do backups over consumer internet connections. We polled some of our photographer friends: Did they currently have an off-site backup solution? Would they pay to have that problem solved? Encouraged by the responses, we pushed forward with our solution: Snaposit.

What is your company going to make?

Offsite backup service for photographers

We decided that our first deadline for Snaposit would be the Techstars Boulder application. Both Tyler and I lived in Denver, so it was an obvious choice. The early application due date was  February 26th, so we filled out the TS application form, spent too long over-producing an application video (which was viewed precisely zero times by Techstars), and sent it in. Fairly quickly, we got a question back from Nicole Glaros of Techstars: when would a prototype be ready?

It was a good question, because it prompted us to actually build the prototype. In a mad dash, we put something together in just a few days. The result was horribly ugly and barely functional, but with the clock ticking, we sent it along anyway. Unfortunately, it was Windows-only, and Nicole seemed to have a Mac. Oops.

For each founder, please list [various biographical info]:

tghw; Tyler G. Hicks-Wright; 2007, Stanford University, MS, Computer Science (Artificial Intelligence); 2005, Rose-Hulman Institute of Technology, BS, Computer Science & Economics (Double Major); Homepage: [portions redacted]

teuobk; Jeff Keacher; 2009, Stanford University, MS, Management Science & Engineering; 2004, Rose-Hulman Institute of Technology, BS, Electrical Engineering; Homepage: [portions redacted]

Needless to say, we got rejected by Techstars. We laughed it off, called it nothing more than a practice run, and buckled down so that we’d have a really good prototype to show to Y Combinator.

Why did you pick this idea to work on? Do you have domain expertise in this area? How do you know people need what you’re making?

We are both avid, published photographers, with huge photo libraries that we have not been able to reliably back up off-site. We are friends with and have worked with other professional photographers who have expressed that they have the same problem.

As the summer Y Combinator application deadline loomed, we filled out that application and made another video.

Oh, the video. We spent a lot of time on the video, which we justified by thinking that a crummy video made by people claiming to know photography probably wouldn’t be very credible.  I’m not sure that it mattered in the end, but nobody could argue that our production values weren’t high.

Please tell us about an interesting project, preferably outside of class or work, that two or more of you created together. Include urls if possible.

How about an adventure we had together instead? Like when the two of us were backpacking in Denali National Park, Alaska, where we were nearly killed by hidden waterfalls and again the next day by grizzly bears. But both times we overcame!

In the software realm, we’ve successfully created the Snaposit beta together in under a month, with each of us developing a major component.

We set up good lighting (two 500-watt halogen lamps into two silver umbrellas, one on each side of the camera, plus a large white disc reflector on the table in front of us for fill). We shot with a good camera (Canon 7D in 720i mode). We used a dedicated microphone (Zoom H4n’s built-in mics, just out of frame above us).

We did take after take. We drank whiskey. We debated what to cover and what to leave out.

Finally, after a couple hours of takes, we did the final one: the one that would become the submitted video.  Although parts of the video might seem a bit scripted, it was all improvised. Honestly, we probably would have done more takes had the camera’s battery not died about 10 seconds after the final take concluded.

Was the video kind of cheesy?  Yes.  Were dark shirts a bad idea? Sure. Did it work? Apparently.

The video (posted on Posterous) was our only real tool to gauge interest in our application after submission.  We watched the view counter slowly tick up as the days went buy.  As the views went up, so did our excitement.

Our dream came true; Tyler relayed the good news to me.  We booked flights to San Francisco, celebrated, and buckled down to really refine our demo for the YC partners.

The morning of the interview found us in the upper floor of Red Rock Coffee Shop in Mountain View.  We were banging away on the code, trying to deal with some major performance bugs that had emerged when we switched to a local demo web server.

If you’ve already started working on it, how long have you been working and how many lines of code (if applicable) have you written?

We have been working on the code for about a month. Currently, we have about 3,000 lines of Python in the cross-platform client and another 2,500 lines of Python, HTML, Javascript, and CSS in the website.

About half an hour before our scheduled interview time, we made the short drive from downtown Mountain View to the Y Combinator offices.

I’d never before been somewhere so orange.  Hundreds of young guys — they were almost exclusively male, and most seemed to be in their 20s — milled about the large common area.  Laptops bloomed from tables like daffodils in the spring.

We checked in and went through our demo a few more times.  Several other people tried to chat us up, but we politely declined.  We were focused on the interview, and everything else before then would just be noise.

Finally, the time came.  And went.  And we still were outside of the interview room.

Paul Graham came out and made himself a smoothie.  He needed a short break, he said. He was barefoot.

Please tell us something surprising or amusing that one of you has discovered. (The answer need not be related to your project.)

* USGS topographical maps in Alaska are not detailed enough to show hidden waterfalls. Discovering this fact was nearly catastrophic for us.
* The best cinnamon roll yet discovered is about 75 miles north of Fort Nelson, BC
* eBay generates almost 27% more revenue on Sundays than on any other day.

Since research has shown that judges are more lenient on full stomachs, Tyler and I thought it was great that Paul was eating something.

The interview began.  Paul, along with Trevor Blackwell and Robert Morris, grilled us on our business model over and over.  They seemed to accept our problem as genuine, but they seemed unconvinced that our solution was the right one.  Minutes went by.  I felt that I wasn’t paying enough attention to Robert, but I couldn’t seem to fix it.

More time went by. They kept wanting to compare Snaposit to Dropbox, and we kept trying to tell them that we were solving a different problem. Finally, the 10-minute timer beeped zero — and we hadn’t even shown them our demo.

We raced through the demo of our prototype, and the three YC partners seemed unimpressed.

We were ushered out of the room, and I knew that we had failed to make a good impression.  We should have been better prepared to defend our solution.  At the same time, we shouldn’t have appeared so set on our existing solution and expressed more willingness to adapt (should it prove necessary).

Our heads were swimming as we left the YC building. We decided liquor was in order.

We spent a couple hours at a bar in downtown Mountain View and then met some friends from undergrad at a nearby restaurant.  All the while, we were waiting anxiously for a phone call from YC.  It never came.

Halfway through dinner, we got the rejection email.

Start of the YC rejection email

Tyler and I resolved to continue working on Snaposit, and so we did. The private beta led to the public beta, which gave way to the general launch. However, the YC partners’ concerns proved prescient: we had identified the right problem but the wrong solution. Not enough people wanted Snaposit.

After evaluating the opportunities for pivoting and surveying our non-customers to find out what would make them happy, we decided that there were no realistic paths to salvaging Snaposit. We tried, we failed, and we were going to move on. Snaposit will be dead by the end of the year.

In the meantime, my other photography software tool has taken off. Blurity, a tool for unblurring blurry photos, is doing great.

Tyler is also doing well, with no shortage of projects to keep him busy.

Snaposit didn’t work out, but we had a great experience building it. Interviewing with YC was fantastic, and the partners were even sharper than we gave them credit for. Was it all worth it?  Without hesitation: yes.

(For an alternative treatment of this story, see Tyler’s write-up from May and his later discussion about why Snaposit failed)

How not to be first in line for the ski season opener

October 17th, 2012 Comments off

Monday afternoon, Al gave the word: “[A-Basin] will be opening for the season on Wednesday.

In some parts of the country, that might not mean much, but here in Denver, Arapahoe Basin’s first day heralds the return of ski season.  It was to be the first American resort to open for 2012-13, helped in part by its position along the Continental Divide at around 11,000 ft.

The East Wall at A-Basin at sunrise

“Want to go to opening day?” I asked Tyler.

“Yes,” he replied. And so it was settled.

After I hastily acquired skis and boots — I did a season rental the previous season, but it was too early to do that again — Tyler and I laid plans for Wednesday morning.  We hadn’t seen any solid numbers for past opening days at A-Basin, so we weren’t sure when we would need to arrive to secure a decent spot in the lift line.  We figured that arriving around 5:30 a.m. would provide sufficient buffer against the 9:00 a.m. opening time, so we settled on leaving Denver at 4:00 a.m. on Wednesday.

The alarm clocks blared at 3:30 a.m., and we got out the door on schedule.  An hour later, we were crawling up Loveland Pass amid falling snow, the steep cliffs and occasional snow plow demanding unyielding concentration.  It had been 80 degrees in Denver the previous day, but in the depth of night, 7,000 vertical feet above Denver, the temperature was only 25.  The relentless wind made it feel that much colder.

Twenty minutes on the pass, and suddenly we rounded a dark hairpin curve to find the lights of A-Basin laid before us.

We pulled into the parking lot and found few vehicles.  Those that were present were emblazoned with the logos of major Denver-area news media, including at least two satellite trucks.  The journalists outnumbered the subjects.

Giddy, we quickly unloaded our skis from Tyler’s Subaru, donned our ski boots and jackets, and clomp-clomped our way towards the slopes.  It was dark save for the lights on the snow guns, the TV lights, and one lonely Sno-Cat prowling the mountain.  We could barely make out the lifthouse, yet we trudged faithfully toward it.

…only to find that we were not the first in line.

The darkness of the slopes was punctuated by the lights on the snowguns

Yes, there were others in front of us. It was 5:30 a.m., just as we had planned, and that was not early enough.

We chatted up the handful of guys by the dark lift.  How long had they been there, we asked?  The astonishing reply: since 9:00 a.m. the previous day.  Yes, the people waiting for the first chair were willing to take 24 hours out of their lives and spend it in the cold at the bottom of a chairlift.  That was more time than either Tyler or I were willing to invest in the endeavor.

Still, we were enjoying our time there.  Gradually, the darkness eased, and the first hints of daylight let themselves be known in the sky.  Fluffy clouds moved above the peaks, and dawn colored them so orange that the mountains seemed to be on fire.

Me, early in our wait on opening day at A-Basin

More people arrived, and the maze filled out.  Several companies handed out free donuts.  Print and TV journalists worked the crowd, looking for new angles and interesting personalities.  The clock ticked towards opening.  The WiFi was turned on.

By 8:30 a.m., we looked forward and found but a dozen people in front of us.  We were queued up for the fourth chair.  Behind us, a growing sea of people.  Hundreds.  The mood was electric.

At last, slightly before 9:00 a.m., the barriers were taken down, and the crowd pushed forward.  Though the first two chairs were highly orchestrated and went to their rightful owners, the commotion that followed threw our patient waiting to the wind.

The crowd surged forward, and we found ourselves somehow bumped to the fifth chair.  A guy who had arrived after 8:00 a.m. but had snuck up the singles line made it onto the chair behind us.  One of our chairmates had arrived after 7:00 a.m.

It was madness, and I should have been irked, but… I wasn’t.  I was too giddy with excitement. Who cares if we got up the mountain 20 seconds later than we otherwise would have?  It was still skiing!

At the top of the lift, Tyler and I disembarked and ski-skated over to the top of the run.  We were in a rush; smiles were on our faces.

That first run down the mountain took just a few minutes.  Were the three hours of driving and three and a half hours of waiting worth the reward? Indisputably!

Tyler on his first run of the 2012-13 season

We celebrated with a beer and headed back to Denver.

How to sell software

October 4th, 2012 6 comments

In a milestone of sorts, my photo deblurring software Blurity received its first negative review today. This, after receiving numerous positive reviews on much larger sites over the past month.

While I could pick apart the author’s review, I’ll focus on two bigger ideas instead: that selling software is about managing expectations, and that selling software does not mean giving it away.

Selling software is about managing expectations.  No real software is perfect.  Real software crashes, has usability issues, and has limits in its capabilities.  Unfortunately, when users lack details about the software or don’t understand them, the expectations about the software can break free and ride well ahead of reality.  The challenge is how to keep users from being disappointed.

With Blurity, the comparison is inevitably made to the deblurring software that will “surely” be in “the next version” of Photoshop.  While Adobe did put together an impressive research demo of single-image deblurring in the autumn of 2011, they have since been mum about including the technology in commercial versions of Photoshop.  Why?  I suspect that they set expectations too high.

The most impressive images from that demo were synthetically blurred (a much easier problem than natural blur), and the deblurring results they displayed were the result of close user direction of the algorithm.  The real software, operating on real blurred images, in the hands of real users, probably can’t perform at the level of the technical demo.

The trade-off is always between perfection and shipping something at all.  Engineers and artists are notoriously reluctant to let go of anything that is not “perfect,” which is why so many products seem to die due to failure to ship.  In the case of Blurity, the decision was between shipping something that doesn’t quite meet the “Enhance!!!” Hollywood-style expectations of the populace, or shipping nothing at all.  I chose the former.

So how is a software developer supposed to keep expectations low while still running an effective sales campaign?  One way is to show numerous real-world examples on the web site, like I do with Blurity.  All of the examples are available for download in blurry and processed forms, so the user can do their own before-and-after comparison.  Going a step further, every image on the Features page also shows the exact settings used to produce the results.

Another way is to outline the limitations of the software.  This is done in the Blurity user manual.  It is also done with clear alerts display at runtime when the user attempts to do something that is not allowed.

Unfortunately, users don’t read.  I’ll admit it: I don’t always read the manuals myself.  So, I deal with this by providing great, personalized customer service.  Often times, the questions asked have already been answered in the user manual, but instead of giving a gruff “Read the manual!” reply, I simply give them the answer itself.  Quicker resolutions, happier customers.

Selling software does not mean giving it away.  If software is your business, it is there to make money. The most difficult and important change I made in the development of Blurity was to stop producing a free-trial version, and instead switch to a watermarked demo.

From April through the end of June, Blurity was distributed with a 30-day free trial. During those 30 days, it was completely unrestricted. Hundreds of people installed it, and almost nobody bought it.

I was crushed. I thought that the problem was that people simply didn’t like Blurity.

However, further investigation showed that wasn’t the case. Instead, many of the people installing Blurity had just a photo or two that they wanted to fix, and since the free trial fully met their needs, they had no reason to purchase a copy. What’s more, by the time the free trial expired, a month had elapsed, and Blurity had passed to the dark recesses of their minds — or out-of-mind completely.

My inner businessman silenced my inner engineer, and I got rid of the free trial period. Moreover, I made the demo watermark so obtrusive that there was no practical way to avoid it.

Example of Blurity watermarking

Switching from a free trial to a crippled demo was the best decision I’ve made in the history of Blurity. In the first month alone, sales increased by 2400%. Let me repeat that, just to drive the point: changing to a demo model, in which the only limitation of the unregistered program was to have a watermark on the output image, increased month-to-month sales by a factor of 24. If that was the wrong decision, then I don’t want to be right.

The heavy watermarking has been the most common complaint in reviews, and that’s fine with me.  Enough of the image is visible for the software to prove it works, and enough of the image is degraded by the watermark to ensure that there are no freebies.

The second most common review complaint? The price. Blurity used to be far less expensive than it is now, and raising the price substantially was the second-best Blurity decision I’ve made.  Blurity is priced on value, and there is nothing else on the market that can do what it can do.  While axing the free trial boosted sales volume, it was raising the price that made Blurity a viable business.

So how has that worked out for Blurity?

Up and to the right!