Dial tone moments

Googlers love to discuss and debate things within the company. As a rule of thumb, the internal discussion is civil and respectful, but can be passionate. I may take a few of my favorite internal posts that I wrote, tweak them a bit, and publish them here just so I can refer to them more easily down the road.

Here’s something I wrote in 2012:

Recently Google has been shooting for more “magical” moments, and that’s a noble goal. But I think our first priority has to be “dial tone” moments. On a basic level, that can be as simple as uptime and reliability–if Google Voice or Google Music or some other product is too flaky, people won’t use it.

But we should also strive for dial tone moments in terms of consistency or utility or latency. Here’s a simple example. Saturday night in Mountain View I wanted to check how hot it would get on Sunday. I got three different answers from Google. Google Now claimed the high would be 88 degrees. Doing a mobile search for [weather mountain view] predicted a high of 82 degrees. And the News & Weather widget predicted a high of 81. I got those results all within a minute of each other.

If we can’t tell the user whether it’s going to be closer to 80 or closer to 90 tomorrow, how can we expect users to trust us for magic moments?

I think a lot of Google’s reputation or “brand” comes from being a useful, functional tool. Magical moments are fine (great even), but overall the most important thing Google needs is to nail “dial tone” moments, where people just assume that Google will always be up, always be fast, and always get them exactly what they need. If we can do better, great, but we have to nail those dial tone moments.

At Charlie’s, the main cafe at Google’s Mountain View headquarters, there’s a door that uses an electric eye to automatically open as you walk up. When the automatic door is working, it’s a smoother experience than walking 10-15 extra feet and pulling open the regular doors yourself.

Unfortunately, the automatic door seems to be broken about 5-10% of the time. Either someone forgets to unlock it when the cafe opens up, or it’s broken, or it takes too long to open. Then you’re left standing and feeling silly waiting for a door that might or might not open. I noticed that over time, lots of people stopped using that door and went straight to the regular doors. It took 3-4 extra seconds to walk over to the regular doors, but they always consistently worked. The automatic door was optimizing for magical moments when it needed to optimize for dial tone moments. The automatic door had to walk before it could run.

What does this mean for you or your company? Look for dial tone moments or rough edges where you could improve. I had one colleague at Google who I swear could walk from his car to his office and find six different things that needed to be improved. There’s stuff all around you that could be much better if you just lower your annoyance threshold enough to notice it.

Just as an example, I’ll pick on tivo.com because I love TiVo. One annoyance: when you tell tivo.com to keep you signed in for 45 days, and then come back a week later, you have to sign in again. Another annoyance: you can only search for shows happening within the next two weeks or so.

I would consider the first annoyance to be a dial tone issue: it shouldn’t be hard to stay signed in to a website. That’s a very fixable issue. In fact, when I come to tivo.com, the message at the top knows my name even while another part of the page is telling me that I have to sign in:

Tivo sign in required

The second annoyance–only searching two weeks out–might easily be a multi-month project or even impossible, depending on how and where TiVo gets their data from. But you’d get almost as much goodwill from fixing the easy, dial tone issue as you would from fixing the really hard problem.

If you’re not using (“dogfooding”) your product every day and looking daily for annoyances, snags, or rough spots, you’re missing out. If you run a website, pay attention to the uptime and speed of your site. Monitor your vital metrics and trigger an alert if something goes seriously out of whack. Your product should probably be reliable before you shoot for flashiness.

Choosing an ecosystem for your data

You have many choices about where to put your data (email, docs, calendar, contacts): Apple, Microsoft, Google, Amazon, Facebook, Twitter, open source/self-hosting, etc. One big consideration for me is how hard it is to export my data. In essence, I’m looking for the exits before I even sit down in any company’s virtual room.

For example, my wife bought an iPhone soon after it came out in 2007. Within minutes of playing with hers, I knew I’d soon be upgrading my flip phone to an iPhone as well. But I had to decide where to put my contacts, my calendar, and so forth.

At one point, my wife ran into a problem with her Apple calendar that gave a weird error. When I searched for more information on that error message, I only found five matching web pages. Eventually, I figured out that the data on Apple’s calendar server had gotten mucked up and I needed to re-push a clean version of the data from a client. That stuck in my mind because Apple can be a pretty closed ecosystem. If something stopped working, it would be harder to fix the issue not only because the ecosystem was closed, but because the ecosystem was smaller at that time.

I’m not a complete Google loyalist about my data. Most of my MP3s are from Amazon because they were among the first to offer a wide selection of music without DRM. I use CrashPlan to back up our family’s computers. I post public micro-updates on Twitter more often than on Google+. And I chose WordPress for my blog instead of Blogger in part to emphasize that this was my personal blog.

But in general, I like that Google’s ecosystem promises not to trap user data, and Eric Schmidt recently reaffirmed that principle (it’s about 29:30 into the video). In essence, if you don’t like how Google handles your email, docs, calendar, or contacts, it’s easy to take your data out and go somewhere else.

Because Google works to avoid data lock-in, it has to earn your loyalty. I like that a lot. The ability to export my data really matters to me. That’s why I’m comfortable using Twitter. And that’s one of the reasons that I deactivated my Facebook account 4.5 years ago–Facebook just didn’t feel as committed to letting me get my data back out of Facebook.

Recently my wife got the new iPhone 6. It was easy for her to pull in my Google Calendar info, but Apple doesn’t allow their calendar data to flow directly into Google Calendar. That means that Apple’s ecosystem isn’t a good match for me. Apple’s choices for their ecosystem still work well for hundreds of millions of people though.

No one ecosystem is right or wrong or best, only best for you. There’s a lot of reasons to choose a particular ecosystem, and everybody should decide what they care about for themselves. For some, it’s something that “just works.” For others, it’s the ability to tweak every single setting or directly control their own data, like with open-source. For others, it might be the size of the ecosystem. Or how much they trust the keeper of that ecosystem. Or the security of that ecosystem. For me, I usually prefer a reasonable user experience, a lot of security protection, and an escape hatch to take my data with me. That’s why I believe the Google ecosystem is the best fit for my data at this point.

Some running tips

Before 2011, I had never run farther than eight miles. Then I found a program called USA FIT which helps runners across the country train up and run a marathon. My goal was to run one marathon and then stop, but I found some friendly folks and so I just kept running. It’s been wonderful.

If you’re able-bodied and in moderately good shape, it’s very doable to train and run a marathon. I’m just a regular guy–if anything, I’m a slower runner than most people. I’ll never place in the top three on a competitive race; heck, sometimes I’m happy to finish before the cutoff time. Yet I’ve run at least six marathons, plus a 50 mile run and a half Ironman triathlon. If I can do it, a lot of other people can too. Perhaps you’d like to run a marathon or half-marathon someday too?

In putting my time in, I’ve collected a few tips for running that I wish I’d known when I started. Warning: running is basically just you and your body, so some of this stuff will be about bodily functions. With that disclaimer in advance, here’s some things I’ve learned:

– Chafing sucks. Any time I’m running more than 5-6 miles, the friction of running can cause chafing. I recommend Body Glide for your thighs and Chamois Butt’r for your butt. You can use Body Glide for anything else that might chafe from friction, from nipples to the waistband of your running shorts. For a full marathon, consider using band-aids to protect your nipples if you’re a guy.

– Blisters suck. In 2010, I learned a secret that many hikers use to avoid blisters: wearing two layers of socks. A thin sock liner between you and regular/wool socks can help prevent hotspots and blisters. A company called Wrightsock makes socks with two layers built in. Over hundreds of miles of running wearing Wrightsocks, I’ve never gotten a blister. Your mileage may vary, of course, so do what works for you, but I love my Wrightsocks.

– It sucks to run well, then wait for a Porta Potty as you watch all the people passing you. Assuming you have a healthy gastrointestinal tract, consider taking an Imodium an hour before the race starts. Imodium is meant for diarrhea. It slows the muscles contracting the intestine, so it reduces bowel movement. Everybody is different, and you should do your own research into the issue. If you have any medical concerns at all, either talk to a doctor or don’t do it. Don’t hold me responsible if you try it. I’m just saying that it works well for lots of people.

– Friends rock. It’s so much easier to exercise if you find someone to do it with. That’s why I love USA FIT, but there’s plenty of other groups: Team in Training, or check with friends or your company. Getting up early on a Saturday morning is so much easier when you know that other friends are counting on you to join them.

– Music rocks. Running a race is a lot easier with music. I love these Sony headphones because they stay attached to your ears really well. By the way, it’s important not to start your race too fast. I normally listen to a podcast at the beginning of a race, then switch to high-energy music after the podcast is over.

– Don’t worry about your time. Regular people will never ask how fast you ran a marathon–only other runners will! Besides, even if you finish dead last in a marathon, you’re still doing better than folks who never trained for a race, and that’s the vast majority of people.

– As a slow runner, I like to start at the very back of the running pack. Then I get the thrill of passing people without as much dejection from when someone passes me. :)

– When I’m preparing for a race or a long run, I find it useful to make a checklist of things to bring with me. I use a Google Doc so I can scan my list quickly on my phone. For a long run, here’s my checklist: Body Glide, clothes (shoes, socks, shorts, shirt, hat), heart rate monitor, Fitbit, Garmin 620 watch, phone with tunes/podcasts, headphones, water bottle + gel or gummies for energy, Chamois Butt’r, and sunscreen. I’ll tweak that if I’m doing a run in cold weather or a really long run. I have a slightly longer list for races and triathlons. The point is that it’s easy to forget something unless you have a checklist.

– I really enjoy Fitbit and Strava as far as apps that encourage me to move more. Strava is also good for biking, not just running. Both apps include a social component where you can get your friends hooked as well.

Those are my running tips that might not be as obvious to someone who is just starting out. If you’re reading this and you’re a runner, are there good tips that you’d like to share? If so, please leave a comment!

Feedback for Active.com

Hey Active.com, I know that a lot of races rely on you for registration. And you do some things really well, like handling the spike of traffic when a race opens up for registration. But you do some stuff really badly. Here’s some feedback about things you could do better.

Negative Option Billing?

I always hated it when I go to buy something like movie tickets and the retailer tacks on an attempt to get to you pay for some extra “membership.” They often try to make it look like the membership is part of the normal purchase workflow. The membership will often renew automatically unless you do something to stop it (a so-called “negative option”). The claim is that the membership might save you money somehow, but in practice most people find stuff like this infuriating. So infuriating, in fact, that Congress passed a law against negative-option marketing.

This weekend I was trying to register for the Vineman Half Ironman triathlon. The registration fills up in less than five minutes, which is a recipe for people hurrying to pay for their running slot as quickly as they can. After going through the registration, here’s the final screen that I saw:

Active.com membership offer

For someone anxious to finish registering before a race fills up, this page looks very close to a “click to accept our EULA terms” page with an “I understand” checkbox in yellow and an “Accept” button in darker blue. Paying $64.95 annually to get rebates back in $5 and $10 chunks is a money loser for most people. The plan automatically renews each year, which is the “negative option” that so many people hate. And waiting 30 days to charge the $64.95 will surely make it harder for many people to figure out exactly where that $64.95 charge came from.

This program may be legal, but in my opinion it’s deceptive and poor form. It makes me not trust your company and actively look for alternatives. The running community deserves better than this sort of behavior.

Regular feedback

Okay, that’s the harsh thing I had to say. Now let’s walk through an example of bad usability. First, you need to have search that works well for most cases. Here’s what I saw when I tried to register for the Vineman race. I went to the website and searched for Vineman, then got an automatic suggestion for “vineman half ironman 2015”:

Vineman autosuggest

That looked great, so I clicked on that suggestion and got one result:

Vineman search results

So I clicked on that result and I got this:

Vineman training program

If you look in the lower left, you can see an alert that says “There are 393 people checking out this event.”

Can you spot the issue? Here’s the problem: the event that you’re showing for registration isn’t the actual Vineman triathlon–it’s a virtual training course where you pay $95 to get monthly emails with advice on training for the Vineman.

If I wanted to register for the Vineman and I accidentally got shunted to a virtual coach training course instead–while the actual race sold out in under five minutes–I’d be pretty frustrated. It looks like Active assumed I was in Milpitas, California (that’s not correct, but it seemed harmless enough that I didn’t change the city). Then Active assumed that I wanted races within 50 miles of Milpitas, and so it didn’t show the actual race, just the training course.

The part that makes this bad is where Active shows “393 people checking out this event.” That helps the training course look like the main race. I think there’s a bug in those people counts as well. When I eventually found the official race registration, check out how many people are reported to be checking out the Vineman:

Vineman bad counts

Active is claiming in the lower left that 28,959 people are checking out that page? Really? For perspective, less than 2,200 people completed the Vineman this year, and that’s after clearing out a waitlist. I would believe 29,000 pageviews for that race, but 29,000 unique users sounds really high. I saw the count increasing by a thousand or two people each minute before registration, which also lends credence to the idea that Active is counting pageviews or reloaded pages, not unique users.

This is what bonking is like

Moving from Halloween to running, I wanted to blog about what it’s like to “bonk” or hit the wall while running a marathon. I’m a slow runner. Hell, I’m a slow walker. I consider it a great marathon if I finish in just under five hours. This past weekend at the Morgan Hill marathon, I bit off more than I could chew.

The morning of the race, I saw a pacer who would be running the race in four hours and forty minutes. Pacers are cool: they actually carry little signs on wooden sticks that say “4:40” or whatever. I thought “Hey, why not try to do this race in 4:40 instead of 5 hours? If I get tired, I’ll just slow down and fall back.” That was my first mistake.

My second mistake was forgetting that Morgan Hill has 400 feet of hill climbing in the first half of the marathon. To finish a marathon in four hours and forty minutes, you would need to maintain a pace of about 10 minutes and 40 seconds per mile, or 10:40. Running a 10:40 mile while climbing uphill is very different from running a 10:40 mile on flat ground.

The running pacer did a great job of keeping our little group of 4-5 people on a solid 10:40 gait even up the hills. Heading toward the final hill, we were even ahead of our overall 4:40 goal by about a minute. But I’d been pushing faster than I preferred to go (at one point dropping below a ten minute mile), and I’d been running up hills for half a marathon.

Just as we started to head up the final hill after mile 14, I bonked. I tracked the race with my Garmin 620 watch, and you can see what it looked like on these graphs:

Garmin graphs

In the top graph, you can see that I kept a steady, consistent pace until about 14 miles in. The middle graph is the elevation–even as we climbed 400 feet, the pace stayed pretty constant. Then you can see my collapse. My pace dropped off sharply. In the bottom graph, you can see how my cadence alternated between walking and jogging. I was lucky enough to find a friend for the last three miles of the race, and you can see my walking cadence sped up as we walked, jogged, and visited for the tail end of the race.

I might still be able to do a flat race at 4:40. And I might be able to do a hilly race at my previous best of ~5 hours. But attempting to run a hilly race in 4:40? That was too much for me that day.

So I got to see what it felt like to hit the wall, and it wasn’t fun. Instead of gradually running slower, I felt like I needed to walk to catch my breath. When I started running again, no matter how slowly I ran, my heart rate quickly spiked back up and I soon had to take another walking break. It was pretty humbling. The Morgan Hill marathon isn’t as tough as Whiskey Row (now that looks like a tough race!), but it was hard enough for me.