All posts by Tiffany

Yosemite, Mono Lake, and Devils Postpile (6/6-6/8)

Brace yourself for some belated trip recaps — too many trips, not enough time to write recap posts!

My dad and I took our annual Yosemite trip again this year, just the two of us. I took that Friday afternoon off work so we could fit in two days of hiking and photography. All in all, we had a little too much driving in this year’s trip, but we did see some new sights and trails!

Continue reading Yosemite, Mono Lake, and Devils Postpile (6/6-6/8)

The Importance of Targeting

I’m super behind on more “Lessons in Product” posts, but this one begged to be written when I got yet another badly-targeted email from Weebly, a site building tool I used for my portfolio domain (

I created an account with Weebly on May 11 and built my entire site that day. Weebly makes it very easy, and I haven’t had to touch my site since.

In the 19 days since I signed up, I’ve received 11 emails from them. The first three were confirmation-type emails (transactional emails) sent on May 11:

  1. Welcome to Weebly (signup confirmation)
  2. Congrats on your Weebly Starter Site (upgrade purchase confirmation)
  3. Tiffany, your website was born at… (site publication confirmation)

Totally normal, totally standard, totally acceptable. Then it went downhill.

  1. May 11 – Here’s $150 from Weebly to try Google AdWords
    This one represents the peak. It was good at pushing a product feature that I wasn’t aware of. The promotional aspect didn’t bother me as much because I’d just purchased an upgrade and it was pushing something that seemed to be bundled. Bonus points: it called out my recent purchase by package name. (1 of 1 features useful)
  2. May 12 – Getting the most out of your new Weebly Starter Plan!
    Good intentions, but a day late. This email pushed four features of the Starter Plan, two of which I’d already used the day before. (2 of 4 tips useful)
  3. May 12 – First Steps to Creating Your Website
    The first truly useless email. First steps? Aren’t I done? Didn’t you send me a confirmation that I’d published my site and it was live in the world? This one actually had the gall to say, “The race is on! Is your website going to cross the finish line?” (0 of 1 calls to action useful)
  4. May 14 – You’re ahead of the pack!
    This one at least referenced the fact that I’d published a first version, but then it proceeded to suggest three things I’d already done. (0 of 3 tips useful)
  5. May 18 – Congrats! Your website traffic is skyrocketing
    Aha! A useful email with embedded, real stats on how many page views I’d gotten so far. It also suggested five features to optimize performance — including the suggestion to register a domain with Weebly… which I did when I set everything up on May 11, and they’d already suggested in email #7. (4 of 5 features useful)
  6. May 22 – Tiffany, check out your mobile website!
    “Did you know your website is mobile friendly?” Why yes, I did. I toggled between the mobile and desktop views in the build mode back on May 11th, remember? And what’s the point of this email anyway? The email just says, in essence, that Weebly did it for me already. “Hopefully you’ll rest a little easier at night knowing that!” No, I’m actually just thinking about unsubscribing from your email list, but I’m so fascinated by how bad you are at targeting useful content at me that I’m still hanging around. (0 of 1 calls to action useful — but was there even a call to action here? 0 of 0?)
  7. May 26 – Photo Galleries | Contact Forms | Audio & Video | Maps
    “You may want to consider adding some or all of these to your site!” I have considered! In fact, I have a photo gallery on my site, and I plopped in a contact form before deciding to take it out. (2-3 of 4 features useful)
  8. May 29 – 5 Tips for Choosing a Great Domain Name
    Oh man you’re right, I should really choose a great domain name. How about [firstname][lastname].com?? That’s pretty good, right? Oh wait, I registered that with you guys already. (0 of 1 calls to action useful, 0 of 5 tips useful)

So what’s the lesson to be learned here? Send your users relevant content. We live in an age where behavioral tracking on websites is normal — and even if people are going to get all upset about privacy, most of the useless tips revolved around aspects of the service I’d used and would assume Weebly would know already. 15 of 25 things Weebly tried to tell me were completely useless to me; that’s 60% useless content being sent to me. If I weren’t a newly minted PM with an interest in content personalization, I would’ve unsubscribed around email #7.

How could Weebly have been less shitty at sending me emails? Targeting. All that really means is asking a question (or, for the coders out there, writing an if statement) before sending the email — has this user done anything that means the content is irrelevant?

Here are some questions Weebly should have asked:

  • Has Tiffany already uploaded a favicon?
  • Has Tiffany already used a custom footer?
  • Has Tiffany published her site (or, have we already sent Tiffany an email congratulating her for publishing her site)?
  • Did Tiffany already enter stuff in the “organize your site” on-boarding exercise on our site?
  • Has Tiffany used a custom theme?
  • Has Tiffany linked a registered .com domain to her account already?
  • Has Tiffany already put a photo gallery on her published site?

Targeted content is rapidly becoming the standard behavior for websites. I expect that Google knows where I am and will only return business search results in my area (take note, Apple Maps — I was not looking for the Whole Foods in Boston when I’m physically in San Francisco). I expect that Buzzfeed is going to recommend articles that align with my interests based on what else I’ve read lately. I expect that Amazon will tell me what baby toy I should buy based on what other people buy after viewing the stuff I keep looking at. All in all, targeting creates a better user experience, and it surfaces your site’s content to the people who will actually benefit from it.

So why don’t sites do targeting? Well, targeting means you walk a fine line between personalized and creepy (for more on this, you might want to listen to Vienna Teng’s The Hymn of Acxiom). Yet basic targeting based on transactions I’ve made on a site — like Weebly should have done — isn’t creepy. It’s just lame when you don’t do it. So the real reason is laziness.

Targeting requires knowing what your users want and how they behave. As targeting complexity increases, you start needing to store information about your user’s behavior that you don’t already. For example, a tip about uploading a favicon should be targeted to me if I haven’t uploaded a favicon. Pretty simple: you check the records for a user and see if you’re storing a favicon for that user — if not, by all means send me an email. So let’s up the complexity of what we’re remembering about a user: what if I went to the favicon page and didn’t end up uploading a new one? I probably didn’t because I didn’t want to, or I didn’t have a file ready, or I was in the wrong place and meant to go to favorited pages or something. In order to de-target this tip that I don’t need, you would have to implement something that either (1) remembers that I shouldn’t get the favicon tip, or (2) remembers that I visited the favicon page and left without uploading. Option 1 is sufficient to de-target the tip, but option 2 leaves open the option to send a more personalized message that says, “Yo, you didn’t upload a favicon when you were on that page. Did you forget? Here’s how you get there! Did you need help? Here are some FAQs!” Option 2 also has the potential to differentiate that came-and-left behavior from uploaded-and-removed behavior, for which you’d probably send a different personalized message. But as you store more and more behavioral data, that’s when the stalker database factor starts creeping up.

So we know that targeting is tricky as you store more and more information about a user’s behavior and analyze what that means about what they want to do on your site. The other consideration here is implementing the content presentation. How much do you want to personalize an experience by sprinkling little if-else statements all over your code? How big of a content chunk is getting wrapped in this if statement — a bullet point in an email? a whole email? a whole feature on the website? You have to ensure that you aren’t completely de-targeting a useful feature from someone who might want to use it because you’ve misestimated what type of user behavior maps to this content.

Sure, it’s tricky. Sure, you might have to do some user testing, some experimentation, and some deep thinking about user behavior. But do something. And if you’re a website website like Weebly, you might want to invest some time and resources in targeting before you completely embarrass yourself.

Tomales Bay Boat-in Camping! (5/24-5/26)

Sometimes even three-day weekends aren’t long enough. Nevertheless, cramming in an outdoor adventure is always a good idea! I spent Memorial Day weekend near Point Reyes (north of San Francisco) at Tomales Bay. A group of six of us rented kayaks, boated in to campsites on the beach, and generally spent our weekend enjoying the beach and wilderness.

Read on for a recap (and cost breakdown, for anyone who wants to take the same trip). All photos are courtesy of Melissa and her GoPro!

Continue reading Tomales Bay Boat-in Camping! (5/24-5/26)

Dogsitting Jedi! (5/9-5/18)

My favorite office dog is definitely Jedi, the English Shepherd that belongs to one of the engineers in my office. For reasons unknown, his owner lets me dog sit and brainwash Jed into loving me. Now when Jedi hasn’t seen me for a few hours, he gets super excited and jumps on me to say hello.

I was dogsitting all of last week, so here’s the photo roundup from my stint with this ridiculously photogenic dog.

In Which I Pretend to Read a Lot

But actually just reread my favorite fantasy series as a kid, in the name of genre research?

Here’s the roundup since last time.

Insurgent and Allegiant by Veronica Roth (? Dec 2013)
I mentioned the first book in this series in my last reading report. I really liked Divergent, but the series deteriorated in books two and three. I’m not sure if this was one of those cases where the next two books were rushed through writing and editing because of book deals — in any case, they could have used some more story reworking for a stronger finish. Insurgent itself wasn’t too bad in the plot department (character development was shakier), but once the perspectives started switching between Tris and Four in Allegiant, I lost all interest in how it ended and just wanted it to be over. I haven’t watched the Divergent movie yet, but I’d bet that the next two movies will be better than reading these books.

Everything Ravaged, Everything Burned by Wells Tower (? Jan 2014)
I think I liked this short story collection. I think. It was a set of stories that made me uncomfortable in its way of bringing attention to people I’d otherwise avoid, but I couldn’t help but be fascinated by the journey.

The UnAmericans by Molly Antopol (8 Mar 2014)
I loved this short story collection. I may be biased by the fact that Molly is the best creative writing instructor I’ve had, but it stands to reason that her awesomeness as a teacher comes from her strengths as a writer. Incredibly rich and painfully human characters drive the stories in this collection, and not a single one disappoints. As I tweeted right after finishing, each and every story leaves me emotionally wrecked in the best of ways.

(Reread) The Golden CompassThe Subtle Knife, and The Amber Spyglass by Philip Pullman (6 May 2014)
This was my first time rereading this series since I first read the series in early high school. It’s the fantasy series with a deeper message that I’ve held up as my standard for what YA fantasy can be — I figured I ought to reread these books and see how well they held up. It’s interesting how I relate to Lyra and Will differently now, and how different parts of the story stand out to me now… maybe because I’m looking for them, maybe simply because I’m a different person reading now than I was then. I still wholeheartedly recommend this full series to anyone who hasn’t read it; I’ve also got some food for thought as I consider writing a fantasy story of my own.

Next up: Don’t Make Me Think by Steve Krug (pushed upon me by a coworker, but proving endlessly useful for PM-ing)

Exercise and my hatred of running in circles

More on things going on lately.

A little over a year ago, I decided it was time to get in shape. The extent of exercise then was maybe modern dance class every once in a while, maybe pilates on Thursdays in the office, maybe rock climbing once or twice a month. Running felt awkward. Walking places was hard. So, with my coworker Caroline’s constant badgering (and calendar invites), and the new “Elements” Crossfit basics class starting at the office, I resigned myself to working out.

When it comes to exercising, my main issues are I’m lazy (so I don’t start) and I get bored really fast (so I stop). I hate running with a burning passion — one that I’ll illustrate in a bit. I grew up dancing and playing soccer, which are forms of activity that constantly change from moment to moment, whereas running and lap swimming give me nothing but the overwhelming awareness of how tired I am.

The remedy then has been to find convenient, distracting forms of exercise. Here’s what’s been working for me:

  • Crossfit is full of fast, short intervals that look deceptively easy written on the board. After mastering the basic exercises, we got thrown into MetCons (Metabolic Conditioning) that only lasted 8-15 minutes but completely destroyed my ability to stand. The benchmark workouts (usually named after women, like “Fran” or “Nancy”) make it easy for me to compete with myself and see my own improvement. A year ago I didn’t think I’d know what an impressive 1 rep max front squat was, much less what a snatch balance or clean & jerk even is — now I do, plus my own accomplishments for each. There’s undoubtedly some peer pressure and masochism that goes into Crossfit, but I stand by the wide variety of exercises that keep me on my toes. That, and beating Cordell’s times, even when he’s using women’s prescribed weights.
  • Bouldering is something I’d been doing sporadically in college and got more diligent about in the past year or so. I mostly boulder, which means climbing to about 12-14 feet above the ground without ropes. Climbing is very much a strength exercise (though occasionally power-driven on dynamic moves), and I don’t think I ever would have been able to do a strict pull-up in Crossfit if it weren’t for climbing. I usually stick with bouldering because (1) I am too lazy to bring my harness and get belay-certified, (2) I’m usually alone and like my own mental space when I’m climbing, and (3) I like working out bouldering problems, which tend to be trickier puzzles, more than top-rope routes.
  • Biking to work is more of a “stay active” thing than exercise, though it occasionally turns into a workout. My commute to work takes about the same amount of time on train+bike as it does by car. Add in that biking is environmentally friendly, and I really don’t have much of an excuse for NOT biking to work. The distance from the train station to work is just enough to wake me up in the morning. When I bike the full way (7.4 miles total), it’s a good workout that has an end goal (no running in circles!) and shitty drivers to avoid.
  • Company soccer team (aka the “Unzipped Genes” — get it???) started our first ever season in late January. We played a 10 game (8 games if you don’t count byes) season in a weeknight co-ed league in the South Bay. Comprised mostly of people like me who hadn’t played soccer since middle school, our team rallied from five straight losses to win our last three games — even beating 4-1 the Palantir team that destroyed us earlier in the season. Of course team sports are more fun, and despite losing a lot of games early on, we kept improving as we all remembered how to play. I re-learned how to run for about 90 minutes straight, and the whole chasing a ball thing meant I could keep it up for far longer than I’d ever just run. Many of our players got stolen for the company tennis team (I did not join — I am a danger to myself and others when playing tennis), so we probably won’t play the summer season. Hopefully we’ll be back for the fall!
Action shot: fighting for the ball!
Action shot: fighting for the ball!

The result of all this activity? I’m certainly more active than I used to be, and I don’t feel as gross and lethargic all the time. I get physically tired, and I get antsy when I don’t exercise for more than a day. Working out in the afternoon at the office helps me relieve stress and refocus. I don’t think I’ve lost weight (though my sister-in-law says my chin is pointier?), but I think I eat better after a workout. My fitness goals are less abstract and pit me against my past self. It’s pretty awesome.

Of course, this post that mentions Crossfit wouldn’t be complete without a demonstration of the cultish, pain-inflicting stuff I do. So here’s the workout we did to wish my coworker Mark farewell when he left the company.

The Make Mark Puke Workout
And yet Mark (despite his wishes) did not puke.

  • 25 cal AirDyne (aka the hyperventilation bike)
    *** 1 burpee penalty for every second past 30 sec men / 45 sec women (penalty repaid later)
  • 2 min. rest
  • 500m row
    *** 1 burpee penalty for every second past 1:30 men / 1:45 women (penalty repaid later)
  • 2 min. rest
  • 15 inverted burpees (not timed, but try to do them without rest)
  • 2 min. rest
  • Mini-Fran: rounds of 15/12/9 reps each of DB thrusters (50lb / 30lb) and pull-ups
    *** This penalty is only for Mark: 1 burpee penalty for every second past 3:15 (penalty repaid later)
  • 2 min. rest
  • Replay burpee penalty for time
  • If the penalty takes:
    • <60 seconds, then you’re done
    • 60-90 seconds, then immediately run 1/2 mile
    • 90-120 seconds, then immediately run 1 mile as fast as possible
    • >120 seconds, then immediately run 1 mile at 80-90% speed, rest 1 minute, then run another mile with a negative split. If not a negative split, run another mile.

Granted, I scaled down the mini-Fran because I did this after a soccer practice (BAD IDEA) and didn’t feel like puking. Despite that, I had an 18 burpee penalty and repaid them in under 60 seconds to avoid running at all costs (even half a mile). That’s how much I hate running in circles — I’d push myself to breaking doing burpees before I’d run.

So don’t mind me if I can’t move some days.

Test Kitchen: Baking Pizza at Home

Spurred on by the realization that I haven’t cooked for a while, I’m making the effort to feed myself (and maybe my roommates) like an adult. Melissa’s #2 food is pizza, and I’m always down to make pizza.

I’ve stuck to a recipe my friend Grace gave me for pizza (Mark Bittman’s pizza dough) for almost five years now, but when I saw this pizza dough recipe in the New York Times, I had to try it out.

In the past, I’ve always used a hot oven and a sturdy baking sheet to make crisp pizza crusts, but I’ve been intrigued by the idea of a pizza stone or baking stone. It’s a slab of stone or ceramic that’s used in a regular oven to simulate a brick oven’s heat. You put it in a cold oven and preheat at your oven’s highest setting for about an hour, then surf the retained heat to make crisp pizza crusts and artisan breads for hours. The stone pulls moisture out of the dough, which crisps the crust to perfection.

My brother has a baking stone, and though it cracked pretty early on, he continued using it by pushing the cracked pieces together. Before I dropped $25-50 on my own that might just crack after a couple uses, I thought I’d see what the internet had to say on the matter.

There are webpages out there that have documented their own baking stone adventures. They offered the cheap alternative of finding unglazed quarry tiles from a hardware store. They come in 6″ and 12″ squares, usually at about $0.50-1.50 apiece, which is far less than you’d spend on a baking stone on Amazon.

So off I went to the hardware store. Lowes only had 8″ squares on special order, which would have meant buying about 100x more tiles than I could ever need, cracks or no. They were the same as I’d seen in a blog post, so I knew I was on the right track. I fared better at Home Depot, where they had Saltillo paver tiles — 12″ squares that looked like terra cotta — for $1.19 each. They’re a little over half an inch thick (14mm to be exact), which is about right for sticking in the oven. One of the posts I’d read had mentioned this brand, so it was with slightly more confidence that I bought two and didn’t think I’d poison people.

My Saltillo paver tiles in the oven
My Saltillo paver tiles in the oven

Supposedly it’s important to rinse and thoroughly dry the stones before using, though honestly I have no idea if that would’ve gotten rid of anything toxic on the surface. In my opinion, it’s more important not to use soap to clean them, as the porous surface will absorb the soap and your pizza will taste like soap.

I prepped the pizza dough last night — pretty simple recipe with minimal effort. The dough goes into the refrigerator for up to 24 hours. Today when I got home, I took the dough out of the fridge to warm up while I took a shower. Heat up the oven and the pizza stones, stretch out into pizza crust, and add sauce and toppings. I opted for nice and simple margherita pizzas using Roberta’s recipe in the NYT recipe.

Pizza into the oven, onto the baking stone
Pizza into the oven, onto the baking stone

The baking stone worked really well. The oven was HOT for a hot day like today (86 degrees — so Northern California hot, I guess), though the stones probably could have used another twenty minutes of preheating before I shut the heat off entirely. The pizza crust was nice and crisp on the edges, but the centers weren’t quite up to snuff (possibly because the stones weren’t hot enough in the centers either). All in all, the pizza was still delicious. I also haven’t died yet, so the tiles are a success!

Finished pizza
Finished pizza


I spent some time working in our garden this weekend. David Agus says gardening is good for your health — so into the yard I go.

I’ve been growing herbs and succulents since I moved out of my parents’ house, but my current place has a yard (and therefore expanded opportunities to grow things). This weekend, I planted three heirloom tomato plants in our little raised bed.

Heirloom tomatoes!
Heirloom tomatoes!

Hopefully they won’t get dug up and eaten like our ill-fated zucchini plants. That might have also been my fault or Melissa’s — neither of us really watered them. The zucchinis were planted with some little freesias (that also suffered from the under-watering) and an apricot tree (which seems to have survived the under-watering all right).

Poor little freesias...
Poor little freesias…

The original herbs are still doing decently. The mint, as predicted, has grown like crazy, so I’ve dedicated an entire planter box to its mojito-fueling, weedy madness. I’ve had to get a new basil plant every year, which I think is normal (it’s an annual, right?)… either that or I’m just a cruel gardener that lets my basil plant freeze to death every winter.

Foot for scale. There's also one little weed, but I thought the leaves were pretty and let it stay.
Foot for scale. There’s also one little weed, but I thought the leaves were pretty and let it stay.

As for the succulents… I have a succulent problem. My coworker Soquel suggested that I blog about it, but that’ll have to be its own post. For now, here’s a succulent that I bought this weekend because it was so weird looking. It’s hanging out in a pot with some of my other succulents that I’ve replanted.

Guess which one I bought out of pity.
Guess which one I bought out of pity.

That’s all from the garden this weekend. Fingers crossed I don’t forget about the tomatoes!

Lessons in Product (Week 1)

I’ve been emailing myself about once a week, reflecting on my new position in Product. I officially moved over on March 31, finally getting my own desk in the Product/Engineering area instead of stealing desks while people were in meetings or working from home. At least one engineer thought I’d just conned the previous person who had that spot into getting a standing desk and monitor — took him about two days to ask me if my conning included a title change. 😀

So some notes from week 1 in Product (with the caveat that I’m learning everything on the job, and Product here might be nothing like Product elsewhere).

Continue reading Lessons in Product (Week 1)