All Posts

How I use Roam Research

I stared at screens a lot this year. Roam Research made that time mostly worth it.

Roam is what you make of it. It’s ostensibly a note-taking app with an obtuse UI, but its product mechanics – bi-directional linking, easy page creation, embedding – allow for “networked thought” in a way that isn’t easy in other apps. Folks who use it religiously often describe it as a ‘second brain’. It’s extremely flexible: almost any writing process is possible in Roam, and increasingly Roam itself can be modified (e.g. support for custom CSS and JS).

Before using Roam I used note-taking apps sparingly and didn’t do any long-form writing or reflection outside of work. I journaled on and off but never developed a habit; I generally didn’t think of writing as a tool in my tool belt. Roam changed that. I started using it for journaling, but the use cases grew and grew, and eventually encompassed almost everything I type, save for messaging. Blog posts, grocery lists, recipe notes, book quotes, and more are all in Roam.

Continue Reading

Social/UGC products are uniquely difficult marketplaces

Social/user-generated content (UGC) products like Instagram, Twitter, or TikTok are a type of marketplace: creators are suppliers of content for consumers. In most marketplaces, suppliers are trying to maximize revenue, but in social/UGC suppliers have many different motivations: some want to maximize audience, while others simply want to share with their family or friends. Different motivations require different incentives, some of which compete or conflict with each other. This makes social/UGC a uniquely hard type of marketplace to build.

Marketplaces work by aggregating suppliers and consumers into the same space. Suppliers have incentive to use the marketplace because the consumers are there and vice versa. Marketplaces typically grow by incentivizing suppliers or consumers to use the marketplace more. Increased usage from one side of the market often leads to increased usage from the other side as well. Incentive design is thus a major activity taken on by organizations that run marketplaces; it’s one of the most effective ways to grow.

Continue Reading

The surprising impact of reducing batch size

“Ship fast” is among the oldest and most common pieces of software wisdom, getting repackaged over the years into Agile, the Lean Startup Method, or move fast and break things. It’s advice so trite that doesn’t even seem worth discussing, but I’ve been continually surprised at just how impactful it can be, specifically when you focus on reducing batch size.

A batch of work is a unit of work that gets shipped to customers. It could be a single copy tweak or a whole new feature; what matters is the end-to-end time from idea to production. Reducing it just means including fewer changes in that batch, not cutting out key parts of the product development process like UI polish, code quality, or QA.

At first blush, large batches might not seem like a problem. If you’re going the process is the same, what’s the difference between shipping feature X and Y together versus just feature X? I felt that way when I started working at Quora and was confused when I saw so much emphasis put into reducing batch size. But I was mistaken: there are a shocking number of benefits to reducing batch size, and I now think it’s one of the most important principles for shipping high-quality software quickly.

What makes small batches so impactful? The best explanation I’ve found comes from The Principles of Product Development Flow, a dense but great read on effective product development practices:

Continue Reading

Complexity can’t be removed, only moved around

A frequent goal in product design is to try and “make it simple”, which often manifests as removing product complexity for the end-user (e.g. removing steps from a flow). This may seem like it’s removing complexity, but in practice it’s usually moving the complexity to a different place – either onto the system, the organization that runs that system, other users, etc. Moving that complexity can still be the right decision, but it’s important to recognize that it’s not being removed altogether: it’s just somewhere else, with different tradeoffs that might be better or worse depending on the context.

Continue Reading

Users will satisfice

Satisficing is a decision-making strategy where you choose the first option that meets your criteria, rather than reviewing all the options available to you, e.g. ordering from the first restaurant that looks good versus checking out everything that’s open. In software, satisficing is common: tapping on the first link, tab, or action that seems like it’ll accomplish your goal rather than taking the time to learn all the things a product can do. In fact, satisficing is how most people use software. Most people aren’t going to spend the time to learn everything an app or website can do; they’ll spend the shortest amount of time possible to figure out if the product can help them accomplish their goal, and then move on. Despite how common satisficing is, designers often have trouble thinking in this mindset. Designers necessarily need to learn the ins-and-outs of the systems they are designing: how each feature works, how it interacts with other features, in what cases it does X instead of Y. But this introduces a curse of knowledge – once you learn a system it’s very difficult to put that knowledge aside and think in a satisficing mindset.

Continue Reading

Interfaces that help machine learning

Software ate the world, and now machine learning is eating software. More and more products are using ML to provide suggestions, rank content, or filter junk, thus making ML increasingly central to the user experience. When ML is good, it can create a delightful and frictionless user experience, like on TikTok. But making that happen requires ML and product design to work together – ML isn’t a magic black box that produces great experiences on its own. Under the hood, ML systems are just making predictions off of past data, and design decisions have a massive impact on the quantity and quality of that data (commonly referred to as signal). Thus, designers can have a massive impact on ML systems through their decisions. To unpack this, let’s look at some design patterns found in popular products and see how those patterns impact the ML in those products.

Continue Reading

The algorithm isn't everything: TikTok's virtuous cycle

TikTok’s algorithm must have the best PR in all of tech: a prevalent view is that it’s the singular magic behind TikTok’s success:

With the news that the TikTok/Oracle won’t include the algorithm and the possibility that Oracle will have to replace it, some have concluded that TikTok’s popularity will flatline, that it’s only a matter of time before Facebook eats their lunch via Instagram Reels. But despite Facebook’s previous success at cloning the competition, TikTok is a much more formidable challenge: they’ve built strong network effects on top of a unique graph that Facebook doesn’t have – one built on niche interests and esoterica rather than people you know or recognize. Historically, social products have been extremely durable to competition because of network effects, even more so when the graph is unique – Facebook being a prime example. Take the algorithm out of TikTok and it’ll certainly be hampered, but pure algorithmic advantages aren’t that strong of a moat: best practices dissipate through industry quickly, and most of what makes ML good in the first place is the underlying training data generated by user activity.

If network effects are what keeps TikTok on top today, is the algorithm responsible for getting TikTok here in the first place? The answer is a lot more complex than that.

Continue Reading

Japan travel recs

Itinerary

  • Most folks I know who travel to Japan go for at least a week. I think Japan is most interesting at the extremes, so I recommend spending most of your time in a big city and a few days in the country.
  • Start in Tokyo. It’s so big that I would actually recommend staying in two different places within Tokyo if you are there for more than a week, just to experience more of it. Shibuya is a great place to stay your first-time – it’s probably what you picture when you think of Tokyo – but it can also be pretty touristy and commercial. Ebisu/Nakameguro and Rapponigi would be my other first-time recs; Shimo-kitazawa, Asakusa, and Ayoyama/Omotesando are also excellent but a little less accessible by train. I would avoid Shinjuku.
  • Naoshima is the most amazing art experience I’ve ever had. It’s a small island in southern Japan that has a bunch of museums and insallations. Tadao Ando designed many of the spaces on the island, Yayoi Kusama’s Yellow Pumpkin is there, and James Turrell and Walter de Maria both created multiple pieces specifically for Naoshima. It can mostly be seen in a day or two, so despite being 6 hours from Tokyo by train it’s worthy of a 2 day trip (you can stay on the island). Teshima is a neighborhoring island that’s a bit more under-the-radar, which might be good as I’ve heard Naoshima prper is bordering on too-crowded post-COVID (I went in 2018).
  • On the western coast, I loved Kanazawa, Shirakawa-go, and Takayama. It was a beautiful place to experience fall; Kanazawa is home to one of Japan’s most famous gardens and Shirakawa-go and Takayama are both in the mountains so the colors were just incredible. Shirakawa-go is a traditional village filled with old farmhouses that you can stay in, highly recommended.
  • In the south, Onomichi and Miyajima are both excellent. Onomichi is a cute little port town just north of Hiroshima; most notably it’s the starting point for the incredible Shiminami Kaido bike ride, a 70km route across 6 islands with top-notch bike infrastructure. Biking across these semi-tropical islands – stopping for onogiri and ice cream along the way – was an all-time ride. Despite being extremely touristy, Miyajima (famous the floating shrine, Itsukushima) is a total blast, especially if you stay on the island overnight (most folks just do a day-trip from Hiroshima). Sunrise over Itsukushima was somethign else.
  • Kyoto is good if you’re really into old stuff (temples, museums, etc). I found it kind of boring and spread out in comparison to Tokyo.

Tokyo

  • Here’s my map of my favorite places in Tokyo.
  • Tokyo is my favorite place in the world to shop: Nakameguro, Harajuku/Omotesando, and Shimo-kitazawa are all excellent; I budget at least a day in each. Maidens Shop in Harajuku is IMO the best-curated menswear store on the planet.
  • Visit a listening bar like Bar Martha, Grandfather’s, or Lion. Owners play records from their existensive collections on hi-fi systems while you drink and smoke – just perfect. The concept exists elsewhere these days but there’s nowhere else like Toyo.
  • Drink in Golden Gai. It’s really fun although pretty touristy. I love The Albatross.
  • Go to the electronics stores and arcades in Akhibara. It’s wild to see the diversity in electronics; so many products that exist in Japan only. The arcade culture is really out of this world, particularly in the evening.
  • Have a Lost in Translation experience at the Park Hyatt. You can go to brunch at Girandole but I recommend going to the New York Bar at night. It is not cheap ($100 for cover + a round of drinks for two) but the view is incredible (plus you can smoke in there).
  • Take a day trip somewhere outside the city. Hannah and I had a really nice time staying at a ryoken + onsen (Japanese traditional inn) in Hakone (1.5hrs away). A lot of people have fun going to Kamakura (where the big buddha is).

Stray Impressions

  • This 20m documentary about KFC entering the Japanese market in the 80s is a great lens on ways Japan is different from the US/Europe.
  • One of my favorite things about Japan is that high-quality food is readily available in small-portions (not just at convienence stoies, restaurants too).
  • Try and plan each day such that you can enjoy the sunset wherever you are.
  • Nobody eats or drinks while walking around or waiting for a train, always at a place dedicated for eating.
  • This won’t affect you as a tourist but if you’re curious about Japanese working culture I really enjoyed this blog post.

Logistics

  • The ‘no trash cans’ thing is real, they are nowhere to be found. After three trips I still find it perplexing. Convenience stores often have trash cans that you can use.
  • Don’t tip anyone anywhere, they will find it very rude.
  • Most places accept credit cards, but cash is still pretty important (especially smaller restaurants). Convenience stores usually have ATMs. The 7-11 ATMs are particularly great because of the satisfying way it dispenses your cash (it feels like opening a loot box in a game).
  • Restaurant star ratings aren’t a very useful signal in Japan: the distribution of them is far more normal than in the US/Europe (e.g. you’ll eat at plenty of 3 star places) but also less predicive of a great experience. I’ve struggled to find a definitive answer; my leading theory is:
    • Tabelog is the Yelp equivalent in Japan, and was historically dominate with locals. The star rating norms were quite different: 3.5 is great, 3.75 is stellar, and almost nothing is above a 4 (including Michelin-starred restaurants).
    • Google Maps is more popular with tourists, where US/European rating norms flourish (e.g. everything is 4-5 stars).
    • As Google Maps has become more popular with locals, Tabelog rating norms have become more prevelant (you can see this in translated reviews, e.g. a raving review from a Japanese person gets 3 stars)
    • The resulting ratings are just scrambled between the two groups, e.g. a 4+ star place is often a tourist trap.
  • If you’re traveling to a bunch of places within Japan, it’s probably a good idea to get a JR rail pass, which allow for unlimited use of Japan Rail train lines for 7/14 days. You should buy them in advance of your trip (e.g. here), it’s cheaper than buying it once you’re there. If you’re mostly staying within Tokyo, it probably doesn’t make $$$ sense. Here’s a useful calculator if you’re on the fence.
  • Hauling luggage around Tokyo is a big pain, especially through the metro. Outside of storing luggage at hotels/train stations, there’s a few services (like Klook) that’ll pick-up your luggage from your hotel and take it to the airport for you. Super useful to make the most of your last day.

Snapchat and the myth of unintuitive design

This week, an idea that’s circulated in the design community for the last couple of years has come back into play: that non-intuitive, primarily gesture-based interfaces have been key to Snapchat’s success and moreover constitute good design. From Intuitive Design vs Shareable Design by Josh Elman:

I’m here to tell you that the obscurity of Snapchat’s design is not a bug, it’s a feature. Just like Tinder, it’s a design that’s made to engage people and encourage them to share their experiences with others. In fact, it is a key part of what has made Snapchat so successful. Snapchat is one of the greatest examples of what I call “shareable design.”

Snapchat is no doubt successful, but I’m skeptical that their gesture-based “shareable” interface is the reason behind that success – if anything, I bet it’s hindered them.

Continue Reading