JAMES: Welcome to Happy Paths, where we unpack the human stories behind some of the most used, most influential, and most famous software from the internet era. I'm James Evans. I'm the CEO of CommandBar and the host of Happy Paths. Email has been around for decades, and many people now spend hours reading, writing, and replying to emails every day. Since being founded in 2014, Superhuman has become the most revered email client in existence for people who write a lot of email. There are so many useful chapters from the Superhuman story. A lot has been written about the Superhuman algorithm for finding product-market fit. There's their unique approach to onboarding new customers. And, of course, there are specific design quirks and features of Superhuman that have had great influence, not least a feature called Superhuman Command, a command palette that turns Superhuman into quite literally a keyboard-driven command center. This episode is near and dear to my heart because Superhuman was extremely influential for CommandBar. Our first product was a command palette as a service that lets any app add a command palette to their user interface. Superhuman Command was the first example of a widely used command palette outside of a dev tool. My co-founders and I all used Superhuman and experienced how magical it was to hit Cmd+K and then be able to type to do anything in the product. It felt so fast and natural. And a big part of why we started CommandBar was to bring that magic and all the benefits that come with it to all of software. I sat down with Gaurav Vohra, who has led product and growth as part of Superhuman's founding team, to chat about these war stories. On our last episode with Paul Buchheit, we talked about Gmail and how it was a step change improvement in user experience when compared to the previous generation of email platforms like Hotmail and Yahoo Mail. Fast forward to 2010, Gmail has been out for a while, but people like Gaurav, who was working in consulting at the time, are still experiencing how painfully slow email can feel. GAURAV: Like most big-city companies in professional services, we were a Microsoft Outlook shop, and this was in the days before Office 365. So it wasn't even a webmail app; it was the desktop Outlook client connected to probably some huge Outlook server that was installed someplace that was part of a big deploy, as was the case with most email systems for big companies back in those days. You know, that was around the time when more and more companies were starting to adopt Google Suite and Gmail as their sort of default driver for business mail, but we were still using Microsoft. So I was a huge Microsoft Outlook user myself and knew all of the power tools, the keyboard shortcuts, rules, filters, you know, all the ways to make that experience way better than what it is out of the box. And I think the usage of shortcuts more stems from the training that you get in consulting, the sort of apocryphal story that when you join a company like that, whether it's consulting or investment banking, they rip your mouse out and throw it out the window and say, "Hey, you need to learn all the keyboard shortcuts. If you're not using the keyboard shortcuts, you're not doing it right." Of course, this is mostly in the context of Excel. But I quickly figured out that, basically, any Microsoft piece of software has just about the same design pattern around their keyboard shortcuts. So you can go really far with those same keyboard shortcuts, or at least the same concepts in PowerPoint and Microsoft Outlook. And it does involve you learning some pretty weird and gnarly sequences. Like, you hit the Alt key, and then you hit four other keys to reach the function that you want. But if you memorize all those, you can go pretty fast. But it's interesting because that very much is the precursor to the CommandBar, where instead of learning keyboard shortcuts that you sort of tap out like a pianist, it does a much more direct route. JAMES: While Gaurav was an Outlook power user, Rahul Vohra, Gaurav's brother and the eventual founder and CEO of Superhuman, was working on a Gmail plugin called Rapportive. GAURAV: Rapportive was a plugin that showed you social context inside of Gmail about the person with whom you're emailing. So, instead of seeing james@commandbar.com and just that piece of information, Rapportive would also pull in your face, your job title. It might pull in recent tweets from Twitter, or it might pull in a link to your LinkedIn. And, as a result, I would get, as the person emailing you, tons of really useful and rich context about who you were. And what it did was it would allow me to be brilliant with you. I could easily and seamlessly remember who you were that one time we met and maybe drop a reference to something that you've recently been tweeting about, perhaps connect with you on LinkedIn at the same time as emailing. And it was like this superpower had been introduced to email, the space that had not seen a tremendous amount of innovation since the launch of Gmail itself in the mid-2000s. And it really lit up the tech world. The tech world was extremely enamored with this product. Everyone from reporters to people working in tech themselves, to VCs, all really liked this because it really helped them do their jobs better where their jobs involve a lot of email. JAMES: So this sets the scene for Superhuman. Email was ubiquitous but clearly not a solved problem. Lots of people spent time clunking around Outlook. And Rahul was building power user tools on top of Gmail. [Playing Audio Clip] [inaudible 05:15] by LinkedIn. It's a tremendous tool. I don't know how it flew underneath my radar for so long. But I've discovered it now, and I really like it. Everybody I show it to same reaction, "Wow, what a great tool." Let me show you why. GAURAV: That product was, in fact, the product that kick-started an entire ecosystem of Gmail and, in some cases, Outlook plugins, more plugins than realistically anyone would want to have all together. But just to name a few, the examples that cropped up over the next five to six years were things like Yesware, Mixmax, Boomerang; there was another called Xobni. And there were plenty, plenty more that, again, plugged into Gmail and Outlook. And they enhanced the capabilities or they improved upon the existing functionality in some way, shape, or form. And while this was great because it was bringing power features to customers who really wanted those power features, the experience was deeply, deeply lacking. In fact, it was a problem with Rapportive as well, which is that you're kind of a product hemmed into another larger product. And that larger product keeps changing, so you keep having to keep pace and adapt to the small canvas that you've been given or that you're working inside of. So the idea kind of grew out of this realization that, okay, there's clearly a need here. There's clearly a lot of love and passion for these kinds of features, these features that help you be brilliant with people. What if we could expand from just being brilliant with people to being brilliant at what you do? And if email is what you do, how do we go way broader than just narrowly targeting the social context part of the problem? What about the entire email problem end to end? There was always that desire with Rapportive to ask the question of what else could we do so much better? There is a strong through line from the thesis of Rapportive to the thesis of Superhuman. JAMES: So, through Rapportive, Rahul and the early Superhuman team realized there was room to build a whole new email client from the ground up. And by doing that, they could have total control over the user experience and access to a much larger audience. GAURAV: We recognized that many of those plugins were actually massively kind of competing with one another for a very small percentage of the email market. They were all going after salespeople who had integrations with CRMs and pipelines to manage. And so, you know, there's a long litany of features that salespeople need when it comes to things, you know, workflows inside of their email, things like sequences, automatic follow-up, read receipt notifications, all that kind of stuff. And we decided, well, look, there's this huge underserved market that's a really high-expectation customer that doesn't need any of that. All they need is a really fast experience. They need to be brilliant with people. And they need the power tools and features to get through their email even faster. But it's not salespeople. It's leaders of organizations; it's VCs, it's founders. It's the people for whom their email is work, and their work is email. But they're not salespeople, and they don't have these long and deep needs. So we started with that highest-expectation customer and really kind of positioned ourselves as going after them. And, of course, that did go hand in hand with the idea of being at the top end from a product and experience point of view. JAMES: So I know the story...the famous Superhuman method to finding product-market fit that so many companies, including CommandBar, have used. Do you want to tell the story of how Superhuman decided y'all had found product-market fit? GAURAV: The challenge that we were facing is, how do we actually measure product-market fit? How do we actually know if we have found it? Is there a quantitative way of measuring that in addition to the qualitative and more intuitive ways of recognizing the moment? And we also recognized that we had a massive surface area of product to build, not just, like, a few months, and then we're ready to start shipping it to customers. But we're talking literally in the order of years to get to a product that is almost scratching the surface of being as good as Gmail for the basic user needs. And why is that? That's because email is just a massive surface area. There are a lot of things that need to be in place before a high-expectation customer will seriously give it a shot. And then there's a lot of things from a robustness and reliability standpoint that needs to be completely watertight for that very same customer to come back on day two and to keep using it thereafter. Okay, so we were on a long build path, but we still wanted to measure product-market fit. So we were selectively and very judiciously onboarding customers. We didn't go for a big bang launch. We didn't want to get a ton of customers and churn through them. And, you know, we were doing this every week for many, many, many months. And, as the growth person on the team, you know, I already said that we were focused on product-market fit and not growing. So, as the growth person on the team, you might wonder, well, did I even have a role or a job? [laughs] What I was thinking about was we need feedback. We need to have the tightest loops possible to understand what our customers like and don't like. And we need to use that feedback every single day in order to speed up our ability to get to product-market fit. So, one morning, I was sitting there, putting my growth hat on, thinking about data, which is a thing I like to do. And [laughs] I put together a pretty basic typeform that I wanted to send to all customers who had achieved a certain product threshold around day seven of their experience. And it would ask them a bunch of questions, things like net promoter score: How likely are you to recommend this to a friend? But also a couple of other questions. And I shared that survey and the proposal with Rahul. And he was like, "Yeah, this sounds great. Okay, whatever, ship it." [laughs] And I was like, all right, I guess I'll ship it then. [laughs] And that was pretty early on in the process of acquiring customers and sort of iterating with them. JAMES: There was one question, in particular, on that Typeform that really stood out. It would go on to become the basis that a whole generation of startups would use to quantify product-market fit. GAURAV: Now, one of the questions that was included in that survey is the now famous, very disappointed question, which is: How disappointed would you be if this product were to disappear tomorrow? And there were three options: very disappointed, somewhat disappointed, not disappointed. And the quantitative way of measuring if you have reached product-market fit is to look at the percentage of respondents who say, "Very disappointed," and if that percentage is 40% or more, then you can somewhat reliably conclude you have reached product-market fit. It's not the only indicator, of course. I think the biggest qualitative indicator that goes arm in arm with that is to say or just to ask the question of, are customers ripping the products out of your hand faster than you can build it? If you're feeling that qualitative pull and you're seeing that 40% or greater, very disappointed, then you can reliably say you've achieved product-market fit. JAMES: When I was first getting into startups, the canonical advice you'd hear about product-market fit was, basically, you'll know it when you see it, or you'll feel it. It makes it sound almost like a religious experience, and I think this does actually work retrospectively. The difference between pushing a product at a market does subjectively feel very different than users pulling it from you. But the problem with PMF as a religious experience is that it doesn't give you a way to get there. The beauty of Superhuman's approach is that it creates a way for founders to goal-seek. You can say this week, I got closer to PMF, or I seem to have PMF within this cross-section of my user base. That's why I think it became so popular. And, at this point, I think most YC startups use some variation of the Superhuman algorithm to describe their level of product-market fit. Next, we dive deeper into Superhuman's UI and explore one of its core features and my personal favorite — Superhuman Command. GAURAV: Superhuman Command is a one-stop shop inside of the product for getting anything you want to do done. You can invoke Superhuman Command from any part of the product. It shows up as a little nodal in the middle of the screen, and you can type anything into it. You can type any natural language that you want, and it will rapidly filter down to the commands that make sense based on where you are in the app and based on what you've typed. And then, you just need to hit the Enter key, and it will do the thing. So some examples of this are you can hit Cmd+K or Ctrl+K on Windows, and it will open up Superhuman Command. And you can type something like search. It'll take you to the search box. Okay, that's a pretty simple example. But what if you want to do something a bit more nuanced, like switch account? You can literally type switch, and then switch account will be there highlighted, ready and waiting for you. So you don't need to know what the shortcut is for switch account. You don't even need to learn where the button is to click to switch account. All you need to remember is Cmd+K, and then you just type words in to do what you want to do. Cmd+K is an idea that came from developer tools where that kind of functionality had been prevalent and had been around for a really long time in tools like Sublime, where you type a similar shortcut, Cmd+Shift+P, to open the package manager. And there are other modals and screens to help you rapidly traverse across a huge codebase. And we thought, well, why doesn't something like that exist for software? It would be so nice if you didn't have to have all these buttons cluttering up the place. Because we wanted a product that had very little in the way of clutter and UI and buttons that you might only use 1% of the time, we thought, well, what a perfect way to encapsulate all of that functionality. You just put it all behind a command palette and then make the emphasis of using the command palette really, really front and center in the onboarding as a thing that people come to know and then eventually trust and then eventually love. JAMES: The command palette is a very visual feature that has so much power behind an unassuming interface. Personal anecdote here. I started using Superhuman back in 2018. After my onboarding session, I remember I was trying to toggle some setting. And I kept trying to figure out how to do it in the user interface, searching for the right button or menu. But I just couldn't find an entry point. So, I asked my future co-founder, Richard, how to do it. And then he smiled and just said, "Cmd+K." That's probably the first time I realized how powerful this pattern could be. I felt like I could use language as keys to the entire product. This was my command palette as a religious experience moment. But Superhuman Command is more than a feeling. It also does a couple of very specific jobs for Superhuman and their users. GAURAV: There's two functions to Superhuman Command, one is the short-term function, and one is the long-term function. The short-term function is to teach you what the keyboard shortcuts are. If you're new to the app in Superhuman, there are approximately 30, maybe 40 different single-letter keyboard shortcuts, single letter or single number, that do things to the email you might be looking at or to the state that you're in. For example, forward slash opens up search. Tapping C opens a new email that you're composing, and more and more. But it's impossible for a new user to learn all of these particularly quickly. It takes hours, if not days, to learn just a handful of these. And then, over the course of weeks and months, you start to learn more and more of the keyboard shortcuts. Now, what are the ways to get people to learn those keyboard shortcuts? One way is to have buttons in the app that, when you mouse over those buttons, a tooltip shows up and says, "Hey, use the letter C instead of clicking this button." And then you can even have something where when you click that button, a hint pops up at the bottom of the screen and says, "Next time, try tapping C instead of clicking the button." So we actually have both of those things in Superhuman. But we realized that even better than that, and, again, this actually borrows from Sublime in terms of the UI and the design pattern; you can include those keyboard shortcuts next to the command inside of Superhuman Command. So you can say, okay, the only keyboard shortcut you actually have to remember is Cmd+K. That opens up Superhuman Command. Next, type in the word compose, or draft, or write, or really any synonym for starting a new email. It will all get you to the same place. And then, right next to that command, you see the letter C. That's your clue for what the keyboard shortcut is. That's how you would remember next time; okay, maybe I don't need to remember Superhuman Command for this one. I can just tap C. So that's the short-term function of Superhuman Command. It's teaching you the keyboard shortcuts to be able to do the thing faster next time. But if you forget the shortcuts, you always have Superhuman Command to get back to. The second function of Superhuman Command is to give you access to really deep and arcane parts of the product that just don't have a keyboard shortcut, for example, like you mentioned earlier, toggling a setting. We're not going to build a keyboard shortcut for that. So, instead, we'll have a command for it to make it really accessible. And where the keyboard shortcut might show up on the screen, you just have nothing instead. Like, you just have the command with no keyboard shortcut. And that's totally fine because it basically gives you infinite depth into the product to give users access to all these parts of the product. Now, when we put this changelog out in August 2016, we didn't actually have the core products for the second use case. There were no settings back then. [laughs] We'd barely built, you know, even the basic features that have settings today. [laughs] So, when it came to product marketing, the command palette, we thought, well, okay, let's focus in on the first [laughs] use case because we sure have the commands for compose and search. You know, we may have started with something like 15 or 20 commands. And I think that's the reason [laughs] why the changelog is what it is. If we were to rewrite that changelog today, it might go into a little bit more detail. JAMES: You can check out the show notes for a link to that changelog entry. Now onto a very important question. Why use Cmd+K for the shortcut to trigger Superhuman Command? GAURAV: One, it feels good, right? Like, your left hand is on the Command key unless you're one of those nutters who uses the right Command key. There are a few. [laughs] And your right hand, you know, it's kind of, like, a middle or an index finger tap on K. It's just, like, if your hand is in the typing position, it's very much accessible to you right there and then. We also borrowed a little bit from Slack. Slack had Cmd+K, and I think has had Cmd+K as the keyboard shortcut for the channel switcher for a really long time. And we figured that Cmd+K was probably muscle memory for a lot of our users to switch channels in Slack. Of course, we went beyond just switching channels or the idea of just switching location in an app and went to a larger degree to giving you access to all parts of the app. JAMES: We settled on Cmd+K as the default shortcut for CommandBar's command palette for similar reasons and because we felt, and still feel, like there's a value in having a standard. We want any user in any product to be able to hit Cmd+K and expect a little magic box to pop up, where they can just describe in words what they're trying to do. No need to scavenger hunt around the interface or use special magic incantations; just search. One of the more opinionated decisions that Superhuman made about their command palette, and one they've stuck to, is to separate searching commands, which happens in the command palette, from searching emails, which is a separate interface. GAURAV: Stepping back, I think broadly speaking, there are actually three things you can put into a command palette. I think Slack is an example of where kind of getting about the app is one of those things, or indeed, like, just navigation, so to speak, is one of the key things. Sublime actually has that too. I mentioned Cmd+P really just gets you about the app, and then Cmd+Shift+P is where all of the power features live. So that's thing number two, you can deploy all of your power features into a command palette. And then thing number three, as you mentioned, is searching: searching email history, searching across your wiki, searching across the codebase. And sometimes, there is a different UI or experience for searching entirely. It could be Cmd+F or Cmd+Shift+F to really have a bespoke search experience. I think the question for Superhuman was, is searching in email something that we can include in the command palette, or is it such a core part of the email experience that it needs its own bespoke experience and surface area? And we concluded the latter, of course. When you search in your email, it is a core activity you're doing probably several times per day. And we decided you want maximum screen real estate to both type your search string and also to evaluate your results. And, in the context of a command palette, which is very center of screen and focused, there's not enough space to type an adequate search term, to have all of the magic of autocomplete and autocorrect of search parameters to do all the things like highlighting and kind of gentle nudges if you might have used the wrong syntax in your search. You just don't have space for that, even in the search query portion. And then, as far as results go, a key tenet of Superhuman is we want to give users maximum horizon, enough space in the app to see potentially up to 30 or even 50 email threads. And again, there is not enough space inside of the command palette to show more than five or six items. So we thought, well, okay, we need a full-screen experience. Now, we could have built some kind of an entry point from the command palette into the search experience, but it felt a little bit too blurry from a user's experience standpoint. We know that we want to have many, many words in the command palette for the many, many deep features and settings, and so on that, we know we're going to build. And so we didn't want to overly blur the line between commands that you're issuing through the command palette and random strings you might be searching for as you comb through your email history. JAMES: At CommandBar, we let our customers decide whether they want a command palette with just commands or along with data search too. I do think we'll start to see the two combined more frequently as we move into an era where command palettes can interpret natural language to execute more complex operations like manipulating data. I can't wait till the day I can just write, "Archive all my emails from vinay@commandbar.com," into Superhuman Command and have it just work. Superhuman officially launched in 2016, and at that time, they had a waitlist of over 180,000 users excited to use the product. I was very curious to hear how some of those users reacted to Superhuman Command back then when command palettes were less ubiquitous. GAURAV: A huge stress alleviator because, previously, I was concerned that the UI was so sparse to what I'm used to compared to Gmail. I don't know where any of the functionality or buttons are; everything is rearranged. But now you're telling me that everything is contained here. Okay, let me trust it. And then, in terms of the concierge onboarding experience, yes, I personally did hundreds of onboardings, something like 300 or so, kind of running around San Francisco, and then eventually transitioning to virtual where I would spend between 30 and 60 minutes with our earliest customers getting them onboarded as Rahul, our CEO, was also doing the same. And this was before we hired any go-to-market folks on the team to continue onboarding. And we saw that it was so critical to help customers understand that Cmd+K is the way for them to do things inside of this product, and without it, they were a bit stressed. They were reaching for Gmail. But, with it, we could really just say¬—and I literally I'm not exaggerating here–we could say 5 to 10 times in an onboarding session, "Okay, that thing you want to do? Cmd+K." And then, eventually, we would start saying, "That thing you want to do?" and we would pause, and then the user would say, "Cmd+K." [laughs] And they would start to kind of get it themselves. And we could leave the onboarding there, and if we only taught them that one shortcut, it was still okay. And what was really cool was when we did build out an onboarding team that would do concierge onboardings. And, by the way, that team, you know, did tens of thousands and continues to lead concierge onboarding calls with customers. We're seeing all of the many ways that the team would come up with mnemonics and monikers to help customers remember Cmd+K. They'd say things like, "The Superhuman way, it's Cmd+K." And there was just all sorts of these rhymes and [laughs] kind of limerick-type statements. And then the funny thing is that's come full circle. We've actually built that into the first-time user experience now, you know, in software form to really encourage every single customer, whether getting a concierge onboarding or not, to use Cmd+K as part of their initial user experience. JAMES: As we wrapped up, I asked Gaurav if he could think of any products that should not feature a command palette interface. Do you think the command palette pattern should exist everywhere? GAURAV: That's a really great question. I think it should exist everywhere. I like to think a lot about human-computer interaction and the surface area that we all have with each of our devices. And one of the key arguments for using the keyboard over the mouse is that you have way more surface area. You've got all 10 of your fingers on the keyboard, as opposed to just your mouse pointer as the surface area between you and the computer. Of course, it's a completely different story on apps and mobile, just thinking about a desktop or a laptop device. I think that you increase the surface area between humans and computers by giving them access to something like a command palette. And, yeah, there's no reason that when I'm on expedia.com, or in Wikipedia, or some kind of other web experience, there's no reason that I shouldn't be able to use Cmd+K. If we all just had that singular keyboard shortcut and piece of software, people, humanity, in general, would be able to use software better across apps, across websites because it would just work the way that they expect it to. JAMES: Thank you for listening to Happy Paths. For more information about the show, visit us at commandbar.com/happypaths, or you could send us a Tweet @CommandBar. This podcast is executive produced by Maurice Cherry, with engineering and editing from Mandy Moore. Special thanks to Gaurav Vohra and, of course, the entire team at CommandBar. I'm James Evans, and this is Happy Paths. See you next time.