Oct 17, 2023
Hiranya Jayathilaka
8 min read
It was late on a Thursday afternoon in November, 2022. Our team was huddled in the basement of a large Victorian house in San Francisco. James Tamplin, our investor and advisor, had called us down here without explaining what he wanted to show us.
"I've been playing with AI", he said, before clicking the "summarize" button in a Chrome extension he'd just built that hooked GPT 3 up to the Shortwave app. I was blown away. While I had been casually following the developments in AI, I was not prepared for the well-written and correct email summary that was produced. Apparently, AI could now do more than just munge text. AI could think.
Our team immediately saw the potential. Each of our users' inboxes contained a vast trove of textual data: human correspondence, calendar invites, receipts, SaaS notifications, newsletters, and so on. We had always wanted Shortwave to help you turn your email history into an actionable knowledge base, but all of our attempts so far using traditional search infrastructure had been underwhelming. LLMs could change that.
Summarization was an easy and obvious use case (which we built and launched), but we wanted to aim higher. We believed the reasoning capabilities of LLMs were going to cause a tectonic shift in how users interact with apps, and we wanted to unlock the full potential of this new transformative technology. We wanted to build the next Uber, not the next Hertz mobile app.
After testing many concepts with alpha users, we settled on a simple mental model for our AI that we thought users would intuitively understand: "an AI executive assistant that lives in your inbox". Telling our users to think of our AI like a human sitting next to them, who had perfect knowledge of their email history, helped them reason about what it could do and how best to use it.
The bar had been set – but building it would be no easy task. Human assistants are extremely smart and incredibly versatile. We had our work cut out for us.
We needed an architecture that enabled our AI assistant, over time, to be capable of answering nearly any question. Central to our design, therefore, is the principle that all reasoning about how to answer a question should be handled by the LLM itself. Our job, was to find the right data and stuff it into the prompt.
While we saw other teams building assistants using long chains of LLM calls, with reasoning broken out into stages, we found this approach impractical. In our experience, long LLM call chains introduced data loss and errors at each stage leading to low quality responses. Instead, we settled on a design where the response is generated using a single LLM that includes all context needed to answer the question in one large prompt. This approach relied on an extremely capable large model and a large context window to work. Fortunately, GPT-4 met the mark. We also expected reasoning ability and context windows to improve rapidly over time, so this felt like the right bet to make.
With these principles and the end goal in mind, we worked backwards to figure out what we needed to include in the prompt for the final LLM call to generate a great answer. For example: to answer questions about the user's current email thread or draft, we should include those in the prompt, or to answer questions about a user's schedule we should include data from their calendar. If we had an LLM with an infinite context window and perfect reasoning, and if loading data from our backend was instantaneous, we could just include all info in every LLM call. In a real-world system, however, we have to be very smart about what data we include and what we do not.
To make our system modular and easier to reason about, we introduced an abstraction called a “Tool”. Each type of data (i.e. calendar, email history, draft, etc) would be sourced from a different tool, and the tool would be responsible internally for deciding what specific data to add to the final prompt.
At a high level, our AI Assistant responds to a question in four steps: tool selection, tool data retrieval, question answering, and post processing.
When you ask the Shortwave AI a question, it immediately passes that query to an LLM. The purpose of this LLM call, though, is not to answer the question, but to determine the types of data that we need to gather in order to answer the question. We call this step “tool selection”.
Tool selection requires both advanced reasoning capabilities (ie. to differentiate between a general knowledge question and something more personalized that requires email search) and a deep understanding of the context of the question. We use GPT-4 for this step, and we include a lot of detail about the state of the world in our prompt, such as current app state (ie. the current thread the user is viewing), what tools are available, conversation history, and more.
We allow the tool selection to return zero, one or multiple relevant tools. This table illustrates some example user queries, and the tools that the LLM might select for them:
Query | Tools |
---|---|
Summarize this | CurrentThread |
Reply like I've done in the past | CurrentThread, EmailHistory, Compose |
What's the longest river in the world? | None |
Include some free times next week | Calendar, Compose, CurrentDraft |
Tool selection gives us a simple and structured architecture to build and iterate on. Most importantly, it allows us to integrate with multiple, heterogeneous data sources in a modular and scalable way.
Once we know what tools we need, we have all of the tools retrieve their data in parallel. Each tool is different. Some are very simple (ie. the “summarize” tool is just custom instructions we include in the prompt) while others are backed by complex distributed systems. Our most powerful and complex tool is EmailHistory (or “AI Search” as we call it in the product). I discuss AI search in detail later in this post.
Most of the heavy lifting in the Shortwave AI Assistant (in fact, most of the AI tech) is actually done inside these modular tools. Tools can make LLM calls of their own, run vector DB queries, run models on our cloud GPU cluster, access our full text search infrastructure, and so on.
Here are some of the tools we provide:
One of our most popular features is our “Write in your voice” capability. This feature is enabled using our Compose tool. When our tool selection step determines that the user is trying to compose an email, we load the info needed to reproduce their voice and tone, including a pre-computed textual description of their style and relevant example emails for few-shot prompting.
At this stage, we have already collected all the information we need to answer the user's question. All we have to do is create a prompt containing the original user question and all the context information fetched using various tools, and pass it along to an LLM (GPT-4 in our case) to produce an answer. The prompt also contains a lot of specialized instructions, such as how to format the output and cite sources.
This step often requires us to make tradeoffs about how to allocate tokens between different tools. For example, the EmailHistory tool described above usually produces a lot more content than we can fit into a prompt. We use heuristics here to make those tradeoffs when needed.
We are almost done! Our post-processing step converts the LLM's output to rich text, adds source citations, and suggests actions to the user (ie. “Insert draft”), so they get a clean and easy-to-use UI to interact with.
Now that you understand our AI Assistant at a high level, let's dive into our most important – and most complex tool. AI search is what enables our assistant to have full knowledge of your email history. It is also what really sets Shortwave's AI Assistant apart from every other email AI assistant product.
The job of AI search is to find emails that are relevant to answering the user's question from across their entire email history, and to rank them by usefulness so that smart tradeoffs can be made during question answering.
AI Search throws a huge amount of CPU and GPU horsepower at every question you ask, and uses a combination of both non-AI and AI infrastructure: LLMs, embeddings, vector DBs, full text search, metadata-based search, cross encoding models, and rule-based heuristics. It is a beast of a system.
Let's break down how this system ticks by following what happens when a query is admitted into the AI search tool.
Before we can start looking for relevant emails, first we need to figure out what the user is really asking. For example, consider the following conversation:
The last user question here, “What about Jonny?”, makes no sense as a standalone question. In context though, it is clear that the user is asking “When does Jonny land in Phoenix?”.
Query reformulation solves this problem. It takes a query that lacks needed context, and rewrites it using an LLM so that it makes sense on its own. Query reformulation considers anything that is visible on the screen that the user might be referring to, including the chat history, the currently visible thread, and any current draft. So, for example, you can ask “find similar emails”, and query reformulation would turn that into “Find emails similar to this email about my flight to Phoenix”.
Often, the best way to find relevant emails is to use traditional full-text or metadata-based queries. If we can figure out what queries to run, we can simply use our traditional search infrastructure to find relevant emails.
Fortunately, LLMs can help us out here. We can take our reformulated query and extract a collection of features that describe attributes in the question that might yield useful queries. We look for date ranges, names of people, keywords, email addresses, labels and so on. We do this via a large number of parallel calls to a fast LLM, each optimized to extract a specific feature. Having these LLM calls be independent of each other enables a degree of modularity that makes it easier to test and evolve them. Each extracted feature is also assigned a confidence score, indicating how certain we are about the results.
For example, the query "What did Alex work on yesterday?", may result in a date range feature that covers yesterday, and a name feature that contains “Alex”. The feature extractors have access to relevant context, such as the current system time, so they can resolve ambiguous terms (like "yesterday" and "last week").
In many cases, keyword and metadata-based searches are not enough to find the emails we are looking for. Fortunately, we have a more powerful semantic-aware search technique that can help us in those cases: vector embedding search.
When we ingest an email into Shortwave, we use an open source embedding model (Instructor) to embed the email. We do this on our own servers with GPU acceleration for improved performance, security, and cost. Then, we store that embedding in our Vector database (Pinecone), namespaced per-user (the namespacing is one of the main reasons we chose Pinecone).
When the AI search tool is used, we embed the user's reformulated query and search our vector database for semantically similar emails. This technique can be extremely powerful, because it lets us find emails that are conceptually similar to the question, even if they share no keywords and match none of the features we managed to extract. However, when possible we use some of the features we extracted earlier (e.g. date range) to better scope our semantic search to a smaller subset of the user's email history.
Once we have identified all of the emails from our traditional and embedding search, and we have loaded their metadata, we end up with a big pile of emails to sort through. Often, this results in a thousand or more results – far too many to fit into a prompt. We need to whittle this down to just a few dozen results, and we need to do this fast.
This is where re-ranking comes in. It helps us cut through a lot of low quality potential results to find a handful of really useful emails for answering the user's question. We re-rank emails in two phases: the first phase uses fast heuristics to very quickly cut the list down from a large number to something more manageable for our next machine learning based re-ranking phase.
In the first phase we try to rank the retrieved emails according to their semantic similarity score. This score is readily available for all the emails retrieved from embedding search. For other emails, we directly fetch the relevant embedding vectors from Pinecone, and compute the cosine similarity distance locally.
However, the semantic similarity score is solely a representation of the knowledge contained within the email content. It does not capture other metadata-specific concerns such as labels, dates, and contacts, while the user question may mention some of them. Semantic similarity scores are also sensitive to the various inconsistencies that may be inherent within our embedding model. We overcome these limitations by applying a series of local heuristics based on the features extracted earlier:
Once our heuristics have determined the approximate ranking of emails, we start loading their full contents (not just their metadata). For faster performance, we load the emails in small batches, chunking emails into length-capped fragments as we go, and stream them into our second, more expensive re-ranking step.
Our most powerful technique for re-ranking is an open source cross encoding model purpose-built for this task. We use MS Marco MiniLM, running on our own GPUs. The model is smarter than our heuristics, but it is also slow. We therefore take only the top-ranked email thread fragments from the previous step, and process them through a cross-encoder model.
The cross-encoder takes our reformulated query and the pre-selected email fragments as input. It scores each fragment based on its relevance to the question. We then re-apply our local heuristics (the same ones used in the previous phase) to the scores produced by the cross-encoder. This helps boost or penalize fragments based on extracted features and addresses any inconsistencies in the scores. The result is a more robust ordering that considers both semantic relevance and metadata compatibility. We return this final ordered list of fragments to the AI assistant, which uses it to generate an answer to the user's question.
Despite the complexity of the system, we have optimized it to be able to answer almost all questions within 3-5 seconds. This end-to-end latency includes multiple LLM calls, vector DB lookups, ElasticSearch queries, calls to open source ML models, and more. The system makes heavy use of concurrency, streaming, and pipelining to pull this off. We also just throw a huge amount of compute at the problem: beefy servers and clusters of high end GPUs.
As you can see, building a real-world, production-ready AI assistant deeply integrated into real application data is a complex task. What you see here is our v1. Our team is continuing to iterate rapidly on our design, so expect our assistant to get smarter, faster, and more capable rapidly over time.
I hope you enjoyed this quick walkthrough of how our assistant works! If you want to see it in action, check out our launch video, or give it a try yourself: Shortwave is free to get started with.
Sep 20, 2023
Andrew Lee
5 min read
A great executive assistant can supercharge your email productivity by handling tedious tasks and augmenting your memory and reasoning. This is why big company executives rely on them to get through their busy inboxes every day. For most of us though, hiring an executive assistant has been sadly out of reach, leaving us to tackle our overflowing inboxes all alone – until now!
Today we’re introducing the Shortwave AI Assistant, a conversational agent designed to supercharge your email productivity by helping you think. It lives right in your inbox, and it combines cutting edge LLMs with our powerful AI search infrastructure to bring you the smartest AI email assistant on the planet. It’s incredibly capable: it can read threads, write drafts, search your entire email history, check your calendar, and more. Unlike a human EA however, it’s available 24/7, has infinite patience, will never judge you, and speaks every language.
Our AI Assistant is available immediately for all users. You can try it right now, for free.
In your email you have stored a tremendous wealth of knowledge: every message you’ve ever sent or received, as well as every attachment, receipt, calendar invite, newsletter, SaaS update, and so on. Our assistant’s powerful, AI-enhanced search turns this huge pile of data into an amazing knowledge base whose value you can unlock on-demand. Questions that might have taken you hours of searching and skimming before you can now answer in seconds, with just a few keystrokes.
Imagine you’re a product manager and you have a big meeting in 30 minutes for your new initiative, Project X. The only problem is, you forgot about the meeting and haven’t prepared a deck! You had been planning to present on the trends you’re seeing in customer feedback, but you have dozens of long email threads with customers left to review. “There’s no way I can re-read all of these emails and prepare a thoughtful presentation in time” you think.
Don’t panic – the Shortwave AI Assistant is here to help! It can find, read, analyze, and report on all of these emails in seconds, with one command: “Find customer emails about Project X from the past week and summarize the top trends with bullet points”. It will even link its email sources so you can dive further into any topics that grab your eye.
The AI Assistant is especially useful for finding information that’s not easily discoverable through traditional keyword search. For example, perhaps you remember a particular customer who shared a video of an interaction with Project X that felt clunky. You want to show this video in your meeting, but you can’t remember who the customer was, what they were complaining about exactly, or even which day you received it. Now you can ask the Assistant, “What’s the link to the video that customer shared last week about Project X feeling clunky”, and find it in seconds.
You can also use the AI Assistant to help research general knowledge questions without leaving your email. You can ask questions like “what are the screen size variants for the iPhone 13” or “who are Japan's top 3 trading partners” and get world-class answers. You don’t need to navigate to (or pay for) ChatGPT or do the research yourself on Google.
Deciding what you want to say in an important email reply is hard. Phrasing it nicely, getting the grammar right, and ensuring you’ve responded fully to the previous emails is even harder. The AI Assistant can help you write both replies and new emails. Just tell it what you want to say at a high level, and it will flesh out a full email for you that sounds great and gets the details right. It even has the ability to write emails that sound like you wrote them by extracting your tone and style from your past sent emails. Navigate to Settings → Compose in Shortwave on the web to configure this setting.
If you’ve already written an email rough draft, you can ask the AI Assistant for help making it great. It can offer suggestions on what to improve or even rewrite your draft entirely. Most commonly, this is used to improve grammar, spelling, and tone. It can also help you overcome writer’s block by brainstorming ideas, or help you write intelligent emails in domains where you’re not an expert. For example, when emailing with a lawyer about an important transaction, the AI Assistant can draw on its legal knowledge to suggest clarifying questions.
One of the most common things an executive assistant does to save you time is schedule meetings over email. This is a tedious job that involves checking your calendar, reading the previous emails for others’ availability, proposing times to the group, and then iterating to find a solution that actually works. Our AI Assistant can access your calendar to check your availability, read the current thread to see what others have said, and write these emails for you. Just type “reply and suggest a 30 min meeting tomorrow. Propose times I'm free.”
If you’re like me, you probably waste a tremendous amount of the time reading unimportant emails: long irrelevant group threads, overly verbose senders, boring newsletters, irrelevant background in forwards, and so on. Wouldn’t it be great if you knew in advance which emails were worth your time – and which weren’t?
Our existing summaries feature helped here already, but the AI Assistant takes things to another level by making it easy to ask any question about a thread. Try “what are the key dates in this email”, “what was the conclusion of this thread?”, “does this discuss Project X?”, and so on. You also gain the ability to ask follow-up questions, for the times when you need clarification or want to dive deeper.
The AI Assistant also understands a wide range of languages and can help you work with people effectively across the globe. It can translate the threads you’re reading and help you understand tone and nuance that may not be obvious to you in a non-native language.
The superpower of the AI Assistant’s conversational interface is that it lets you combine multiple features together easily, simply by asking a followup question. You can translate drafts you’ve written, write emails that include facts or analysis you’ve looked up with AI, check your availability for meeting times mentioned in a summary, and so on. Give it a shot – I think you’ll be impressed by what it can do.
Oh, and one more thing: if you want help getting the most out of Shortwave, just ask the Assistant – it knows a lot about itself.
Really.
The AI Assistant is available to all users, including free users, starting today. Some advanced features, such as AI search and the ability to write emails in your voice, require upgrading to our Standard plan. To get started, all you have to do is sign in and click on the “ai” icon in the upper right.
We’ve put a tremendous amount of work into this launch, and we hope you like it.
This is also just the beginning of our efforts to build an incredible executive
assistant for you, so expect to see rapid updates on our AI Assistant’s
capabilities and intelligence over the coming months. We’d love to hear
what you think about what we have today and what we should do next – please
share your feedback on Twitter X.
PS. We’re hiring software engineers.
Aug 3, 2023
Jacob Wenger
4 min read
Today we’re launching version 1.0 of our Android app. This release is the culmination of 18 months of effort from our Android beta launch until today. You can download our new app from Google Play here.
Our goal from day one has been to build a professional email app optimized for stress-free productivity. We think Google’s Inbox app was one of the best email productivity tools ever made, and we wanted to build a Google Inbox alternative, so we used its best features as a starting point for Shortwave. On top of those, we’ve added a comprehensive set of new productivity, automation, and AI features to give you a powerful, productive, and most importantly, stress-free emailing experience.
Up until today, we’ve had most of these features available on the web, desktop, iOS, and a beta version of Android. Today, we’re finally launching our official Android 1.0 app!
Our 1.0 launch brings the best features of Google’s Inbox app back to life on Android. Here are some popular features you may remember.
Bundles were the killer feature of Inbox. They automatically organized your email by type, keeping categories like Updates, Promotions, and Travel well-organized and separate from the rest of your email – without letting them get lost in a separate tab.
Our initial beta launch supported bundles, and we’ve been hard at work since doubling-down on their capabilities. With this release, our Android app now supports:
Delivery Schedules let you control when (if ever) a bundle arrives in your inbox. Want your Newsletters to only arrive at 5 PM each day? Only want to check your Promotions once per week? No problem. Inbox called this feature “scheduled bundle delivery” — and we’re excited to bring it back to Android today.
While you may not want to admit it, your inbox is a todo list that other people can add things to. Inbox knew this, and finally gave you the ability to actually manage it like a todo list, with a checkmark for “Done” and the ability to pin important emails.
Shortwave brings these powerful todo list features back, and takes them to another level. For example, Shortwave’s natural language snooze allows you to type when you’d like your emails (or bundles) to snooze to in English, and the app will figure out what you mean (whether you type “next week”, “1 pm” or “Christmas”).
Sometimes you just need to cut through a lot of inbox clutter – fast. With the sweep button, you can mark a pile of emails done all at once, whether it’s a whole bundle, or an entire month of old emails.
Inbox pioneered using AI to draft quick replies. Shortwave takes AI replies to another level, using modern AI models to draft not just short replies, but even entire emails.
In addition to the above features, this launch includes 100+ new productivity features that weren’t available in our initial Android beta launch, from Gmail parity features like delete, mark unread, and full label support, to brand new capabilities like AI summarization and AI translation.
Here are a few of the highlights:
We’ve thought deeply about what matters to Android users, and have worked hard to get the details right for an awesome user experience.
The Shortwave app has a fresh new look. Our top-level navigation, inbox, bundles, email threads, search screens, settings, and more have been completely redone. We’ve focused on optimizing our use of screen space and on minimizing the number of taps and swipes needed for common actions. We polished margins, fonts, icons, tap targets, animations, and more to help our app look, work, and feel great on the go.
Getting push notifications when you need them is critical – but not getting them when you don’t want them can be just as important. We’ve built the world’s most powerful and granular push notification controls, so you can get all the notifications you want, and none that you don’t. Our settings allow you to control notifications by sender, label, time, and more.
By default, a short swipe on each side will let you pin and mark done. With our new long swipe actions, and customizable settings (check out Settings → Experiments), you can now add additional swipe actions of your choosing, including delete, snooze, and mark read.
We know most people have multiple email accounts, so we’ve made it quick to jump from account to account. All you need to do is swipe down on your avatar.
We’ve put in the time to get the details right on Android. You can now set Shortwave as your default app, have the back button work the way you expect, clear push notifications when the app opens, and customize the behavior of your app badge. We’ve also fixed hundreds of bugs, both big and small, from pinch-to-zoom behavior, to attaching multiple files at once.
Whether you’ve never tried Shortwave before, or you tried an early beta version and found it lacking, we hope you’ll give our new Shortwave app a try. Hopefully you find that it's a great Google Inbox replacement!
We’re committed to delivering an amazing experience on Android, and we’re going to continue working full speed to improve. Please let us know what you think of the new app – and how we can make it even better – on Twitter, or via email at feedback@shortwave.com.
May 9, 2023
Sophia Seltenreich
6 min read
Remote work has been a growing trend for several years, with the pandemic only accelerating the shift toward virtual workplaces. Companies have shown a stronger preference towards remote work since they get to access a wider pool of talent without geographical limits, and in return, employees can enjoy more professional flexibility and a better work-life balance. Despite the countless benefits to working remotely, one major downside is the increased isolation from your team. Lack of social interaction, limited face-to-face communication, difficulty in building a sense of community, and the absence of a structured environment can lead to feelings of disconnect among the company, making it more important for remote workers to seek out means of combating this isolation.
Gather is a virtual environment that makes distributed-team interactions more human by recreating metaphors that exist in physical spaces. It has a video-game-like UI that allows users to move around, communicate with their coworkers, and express themselves in ways that go beyond the two-dimensionality of apps like Zoom and Google Meet.
As a remote-first company, Shortwave has experienced first-hand Gather’s capacity to foster culture across a very distributed team. While we have coworkers spread all the way between San Francisco and New York, Gather gives us the platform to do everything from morning stand-ups to Friday game sessions without missing a beat. For companies like Shortwave, Gather is the key to bridging the gap between remote workers and human connection.
We had the chance to sit down with Phillip Wang, CEO and Co-founder of Gather, to learn more about the future of remote work.
Phillip: Gather is this tool that marries virtual worlds and video chat. What it lets you do is recreate a lot of the metaphors that you would usually have around a physical space. We use it as the office, just as you would in the physical world, where we have all our meetings. Folks sit down at their desk and you have a lot of those serendipitous desk conversations, or hallway conversations. The goal here is to really be able to connect outside of just scheduled meetings, right? So for example, if you need someone real quick, they'll just ask you a question, providing those small but frequent interactions that you'd have in an office.
Phillip: I think there are still a number of interactions that Gather doesn't quite replicate today, like the fluidity of in-person where it's so easy to tell someone's available. That's stuff that we've made some progress on, but I think it's still not all the way there yet, and that's actually the stuff that we're working on today.
I think there's another side that is just not something that will necessarily get solved by tools. Companies will need to be more intentional about it, like time zones for example. A lot of remote teams are globally distributed, and if you're not careful or very clear about what you expect from people in different time zones, I think it's gonna cause some trouble in terms of teamwork and collaboration.
Phillip: I think there are two different types of hybrid [environments] here. One is where there's some percentage of the company that is fully remote and some percentage that is not. There's another one where people come in like two days per week. I think in both cases Gather is either used for the folks who are remote with the people elsewhere in the company, or it's used on the days when people aren't in the office. That's how we're currently used and actually, a decent number of our customers are hybrid over time. I think this is a general theme with the Metaverse broadly. I think we want to figure out how it integrates into the physical because the way we talk about, actually, the way we think about these things is, it's not about a separate world. It's more about kind of like a layer over the physical world. We want to figure out how it interoperates as much as possible.
Phillip: One policy we instituted is trying to take a stance on how we don't want all work to be async. When you're working, come into the Gather office when you're not, leave. Obviously, people work by their local working hours, so that's kind of how it is. But that way at least we can get more of the synchronous work.
We have a very globally distributed team [so] we set up two, two-hour, global meeting blocks. One was for people in America's timezone, and the other one was for people in the European time zones. That way, people would at least know when to find each other and you wouldn’t need to log in at night to meet people from another time zone. At the very least it’s clear when you can schedule meetings and expect to find somebody.
Phillip: I use Shortwave. Me and the folks on the team use Shortwave personally, it's our favorite email client and it's super fast and simple to use. After trying a bunch of different email clients, I'll add. Other than that, we use Slack, Linear, Google Drive, and Notion. A lot of those are common culprits. As for selecting tools, I don't know if there's necessarily one common theme, but it's usually just like, hey, does it work extremely well? It's not a top-down approach with our teams, it’s more like a bottom-up to adopt something. I think for a lot of these tools it's pretty zero-to-one, like, did people really love it or not?
Phillip: That has always been our vision and it is something that we were working on way before it became a buzzword, so it is still true to what we are trying to build. As it pertains to our approach, I think we're really trying to cut through the buzzword to [see if] we can just build a great product that people will use regardless of whether or not they know what the word metaverse is or if they associate that with us. And really just show people the power of these virtual worlds as a new kind of user experience in this design paradigm.
I think the underlying conviction is that the ways that we connect socially online are very underexplored and especially this paradigm of virtual interaction is extremely powerful not just for the use cases we're working on today, where it's like work office use cases, but more broadly like social use cases, communities. We'd love to see what we could do for education in the future. So I think that's largely what we're really, really excited about long-term and so right now I think we're proving it out use case by case.
Phillip: We're just trying to make sure we have the right balance between trying extremely new innovative things [and] moving really quickly while maintaining a sense of quality. At the end of the day, we are a work tool. And one thing we've learned over time is that maintaining a high bar on quality is also equally important to our users. I'll say that's the biggest, broadest theme across the whole organization.
In order to build a fantastic remote work environment it’s important to listen and learn from your team first. How and when do they like working, and what tools empower them to be most productive? Creating time blocks for collaboration and investing in tools that enable communication across your team is essential to building a world-class working environment.
Whether you're trying to maintain some of the delightful intricacies of office culture, or spark a little extra joy when opening your inbox, emerging technologies put productivity in your hands.
Ready to feel like a team again? Try Gather and Shortwave to make remote work frictionless.
Mar 24, 2023
Becky Weinstein
3 min read
Shortwave gives you a hefty arsenal for deciding who can enter your inbox and when. With a combination of skip inbox, delivery schedules, thread muting, and push notifications, you have options for deciding just how often a contact is allowed to knock on your digital door.
But even so, the occasional junk sender slips through the cracks. Sometimes the best defense against new email isn’t dealing with it once it’s there; it’s telling it to never come back. That’s why Shortwave just introduced a more powerful suite of features to block contacts, screen new senders, and unsubscribe from mailing lists in just one click.
On any given thread in your inbox, you now have a powerful new action available to you: block spam.
Block spam is available on both web and mobile as a one-click way of simultaneously blocking a sender and marking a thread as spam. Blocking a sender automatically trashes all future messages from them, so they can never flood your inbox again.
As for marking a thread as spam, we recommend reserving this for only the junkiest senders. You can leave the “mark as spam” option unchecked if you simply want to block a sender without reporting them as spam to Gmail.
For keyboard users, easily pull up this modal with the shortcut Ctrl
b
.
Stay in control of your inbox by filtering first-time senders. Shortwave flags threads that come from new senders, so you can block the junk before it gets out of hand.
You will now see banners at the top of emails from senders you haven’t communicated with before. You can easily block the sender via the banner, automatically trashing all future messages from them.
Sometimes blocking a sender or marking someone as spam may feel a little too harsh. After all, there are instances where you intentionally provide your email address—only to realize you’d rather not keep getting dozens of updates from Crunchbase that you’re never going to open.
For newsletters, mailing lists, and other senders that you are subscribed to, Shortwave offers a one-click unsubscribe on both web and mobile. We do the heavy-lifting for you, following senders’ instructions to automatically unsubscribe from lists on your behalf. In the cases where we can’t unsubscribe you, we redirect you to a page to unsubscribe yourself in a matter of seconds.
Even better, you can unsubscribe from a mailing list without ever leaving your keyboard using the shortcut Ctrl
u
.
Blocked the wrong person? You can double-check who is barred from your inbox and manage blocked statuses via Settings > Inbox. Senders you block are not notified—your decisions remain private so you can filter junk confidently.
With this new set of inbox screeners, Shortwave lets you take easy steps today to have a calmer inbox going forward.
Feb 27, 2023
Jacob Wenger
5 min read
Recent developments in AI are reshaping the way we work and live, and we think email – the universal productivity tool – is about to undergo fundamental changes. The new capabilities of large language models have swung the door wide open for new ways to interact with your inbox. At Shortwave, we aim to pave the way towards an AI-enabled email future, starting with Smart Summaries, launching today in beta.
Smart Summaries save you precious time by intelligently capturing the key points from an email thread in just a few sentences. It works great for newsletters, long-winded conversations, and threads you got added to late. Smart Summaries get you up to speed quickly so you can spend more of your time getting stuff done. They also can be shared with other people when you forward emails, saving time and making it easier for your colleagues to catch up
Experience the magic for yourself: give Smart Summaries a try for free.
If you subscribe to a lot of newsletters, you probably lack time to read them all. And that's okay, since often you may not care about this week's post. In fact, you spend a ton of time every day sifting through emails you don't need to read: long threads you were unnecessarily cc'd on, uninteresting sales pitches, customer support cases that are already resolved, promotional messages you don't care about, and so on.
Smart Summaries give you a TL;DR for each thread that contains just the critical information you need: what it is about, who is involved, and what action needs to be taken. This helps you decide what's worth your time to read in its entirety – and what's not – so you can spend less time sorting through email and more time doing deep work.
Have you ever returned from vacation only to find yourself dozens of emails deep? You're spending valuable time catching up on old replies, back-and-forths, and week-old debates when all you really want is the most current information. Smart Summaries have you covered – with the click of a button, you get a brief synopsis of the topics discussed and the decisions made so you can focus on the work that matters.
Smart Summaries excel at untangling complex threads. Maybe the subject matter is full of complicated terminology, or maybe it's in a different language altogether. Whatever the case, Smart Summaries can distill these threads into short, digestible summaries.
Let's say you're emailing with a lawyer, doctor, or other subject-matter expert. They may be laying it on thick with industry jargon or simply using large words you're not familiar with. You want someone to "explain it like I'm 5." Smart Summaries translate ideas into simple English so you can understand quickly and respond confidently.
Smart Summaries are also the fastest way to get the gist of emails written in another language. This is particularly useful when booking international travel or interacting with customers who don't speak your language. Smart Summaries understand every language, so you can too!
Looping someone into an ongoing conversation or forwarding them a thread for context can be time-consuming, necessitating a comprehensive recap of the conversation. With Smart Summaries, you can send a concise and intelligent summary along with the email automatically, saving valuable time and making it easier for your colleagues to catch up.
Even better, Smart Summaries can be shared with anyone, regardless of whether they're using Shortwave or not. This will make you everyone's favorite emailer, as you're saving them time and hassle.
This is just the first step towards something much larger for the future of Shortwave – and the future of email. If you're interested in having your very own AI-powered email assistant, stay tuned for more powerful features.
In the meantime, let Smart Summaries streamline your email communication and make you more productive, all while providing a valuable service to your colleagues.
Smart Summaries are free while in beta, and you can start experiencing them right now.
Jan 26, 2023
Becky Weinstein
4 min read
We've all been there – you want to email a coworker, but it's late at night, and you don't want to wake them up. Or, you've just written a long email to someone, only to realize seconds after sending it that you've spelled their name wrong. These situations happen more than you'd like to admit, especially if you're working in a hybrid environment where teams and customers are distributed in different time zones.
For situations like this and more we're introducing a pair of new features: scheduled send and undo send. With this dynamic duo, Shortwave gives control back to you because you should decide how and when your messages get sent (or not).
Scheduled send gives you the ability to send an email at a future time. All you have to do is write a message, set a send time, and then move on to your next task. Scheduled send is available today on the web, and will be coming soon on iOS.
Here's an animation of scheduled send in action. Once you're done drafting your email, click the right side of the send button – or use the Cmd
Shift
l
shortcut – to set a send time. Shortwave's scheduler uses the power of natural language to give you maximum control over when your email gets sent.
Once an email is scheduled, you'll be able to see it inline in your drafts. If you change your mind about your pending message, you can click "Edit" on the banner to revert the message to a draft so you can schedule it for a new time. You can view all of your pending messages at the top of the Sent page.
Scheduled send allows you to get your work done at any time, without the worry of interrupting your coworkers' evenings.
Undo send staves off the panic you feel when you accidentally send a message that wasn't ready by allowing you to revert a sent message back to a draft. This feature is available on Shortwave web and iOS and is now enabled automatically on all outgoing messages.
Undo send is set to 10 seconds by default, allowing you to revert any message to a draft within that time. You can set your interval preference in Settings > My account, if you want to customize the time you have to undo a send. You can revert a message back to a draft by clicking the "Undo" button or by hitting Cmd
z
on your keyboard.
Even if you close your Shortwave app or go offline, your message will still send after its undo send period is up.
Shortwave is the email client that's got your back when the going gets tough. With scheduled send and undo send in your inbox arsenal, we think email is something that can be downright delightful. The next time you accidentally send a message with a typo, our new undo send feature will be by your side, making it like your mistakes never even happened. The next time you're online late, you can use scheduled send to avoid the unnecessary stress of working after hours.
We want your thoughts on these new features! Please drop us a line at feedback@shortwave.com, or message us on Twitter at @Shortwave.
Jan 19, 2023
Tyler Rockwood
4 min read
Searching for a message in your inbox can feel like trying to find a needle in a haystack. Your inbox is home to tens of thousands of emails — while you may know exactly what you're looking for, actually sifting through that sheer volume of threads can be both anxiety inducing and time consuming.
If you've experienced the emotional rollercoaster of hunting through endless emails for that one specific thread, we have exciting news for you: Shortwave's search just got smarter. We've revamped our search UX and leveled up our capabilities to guide you straight to the thread you're looking for.
We now offer:
We put a lot of effort into making it easy to type in the right query – whether that's using the right search terms or spelling the name of that label correctly.
Our brand new autocomplete generates suggestions as you type, and allows you to complete them by pressing tab. We've also added smart highlighting that gives you immediate visual feedback on your query, so you know you've typed in your query correctly. This can help you avoid common query mistakes and find your threads faster. Take a look below to see how features in combination act as your copilot in finding threads fast.
Our new search terms and operators give you the power to refine your queries and find exactly the threads you're looking for.
You can now search for threads in Shortwave based on:
is:
operator.before:
after:
3d
2y
. You can even type in times using natural language, and Shortwave will provide helpful suggestions.-
. For example, -notes
would exclude threads that have the string "notes".has: attachment
or if you know the name of the file, use filename:
. By matching the suffix of a filename, you can also look for attachments of a certain type. For example,filename:pdf
will find threads with pdf attachments.subject:
" "
This is just a subset of the new search terms we offer. Refer to our search documentation for our comprehensive list.
For maximum control, combine queries to specify even more precisely what you're looking for. For example, let's say you're looking for an email from Asana on better meeting agendas that you know you saw and handled months ago. You could begin your query with is:done
since you're pretty sure it's not in your inbox anymore. You could exclude emails from Asana's no-reply@
address since you're sure it wasn't a notification email, but still focus your search on the asana.com
domain. Lastly, you could add the meeting
keyword, and you'd end up with a query that looks like this (and that will hopefully lead you right to your thread).
We've all been there – you know the gist of the message but you just can't figure out the specific words or phrases needed to find it. You hope that brute forcing various syntax combinations will lead to your thread, but it doesn't. So, you start letting emails pile up in your inbox, for fear of losing anything ever again.
Now your inbox is a mess.
Our goal with search is to enable you to archive emails confidently, knowing you can find them again in a snap. We've worked hard to update our search with new advanced capabilities, so you can benefit from more control than ever, without the elbow grease.
With the launch of autocomplete, highlighting and new operators, we're bringing you your most powerful search experience yet. Feel that? That's the confidence to archive your emails with conviction.
To get started with smarter search just sign into Shortwave using your Gmail account. You can get started in just minutes.
Jan 12, 2023
Talia Schleifer
3 min read
Inbox by Gmail was an experimental inbox management tool created in 2015. Despite overwhelmingly positive feedback, Google sunset Inbox in March of 2019. While they added a few Inbox differentiators, like snooze, nudge and Smart Reply, Google failed to integrate core Inbox features, like pinning, bundling, and bundle delivery — leaving Gmail feeling outdated and cluttered. Inbox left many users with the promise that email could be so much better, and if you're reading this, you're probably one of them.
At launch, TechCrunch claimed that Shortwave was "resurrecting the Inbox experience," and The Verge referred to Shortwave as the "Inbox predecessor [they've] been waiting for".
While we've already welcomed many users who felt abandoned by Inbox's disappearance, after a year of feature launches, we're proud and ready to deliver on the promise that Shortwave is the best replacement for Inbox by Gmail.
We finally have parity for all of Inbox's best features and have leveled them up to ensure stress-free inbox productivity. Here are 5 favorite Inbox by Gmail features, and how Shortwave stacks up:
Bundles
Bundle schedule
Done, pin, snooze
Bulk actions
Modern user interface
Inbox invented bundles, a great way to group messages and reduce clutter in the inbox. By leveraging Gmail categories (Social, Promotions, Travel, Purchases and Updates) Inbox automatically grouped related, non-urgent emails, giving you the power to perform bulk actions.
In addition to bundling by Gmail categories, Shortwave introduced a built-in Newsletters label which automatically applies to known newsletter senders. Shortwave also upgraded the bundle experience by syncing bundles with labels , giving you more power over your email than ever before.
Turn any label into a bundle with Shortwave's ability to bundle by label. This includes both built-in labels and labels that you create yourself. Because Shortwave keeps your labels in sync with Gmail, any label you apply using a Gmail filter can be used to control bundling.
You can also drag-and-drop threads together to create custom to-do bundles. Add a note to the bundle for easy reference, and prioritize it alongside your other emails. Grouping related tasks together using to-do bundles makes it easier to batch process emails rather than going line by line.
Bundle schedule was revolutionary in maintaining an organized inbox – allowing you to delay the arrival of low-priority updates and remove the constant distraction new email brings.
Shortwave improved this functionality to allow for even more control of when your email arrives in your inbox with Delivery Schedules. By deferring non-urgent threads, you can limit distractions and context switching in your inbox to focus on what matters most. Take the work out of your mind and calibrate Shortwave to surface these emails at the right time, every time.
Triaging your email was a core functionality of Inbox, and while snooze made it to Gmail, done and pin were lost in the mix.
Pin allows you to keep current to-dos and important information top-of-mind, and you'll find this action, along with done and snooze, readily available in Shortwave.
You'll also find that snooze is even more powerful in Shortwave with natural language processing (NLP) date suggestions. You can type "3d" or "Jan 5" to snooze threads for specific times. Utilize smart snooze for threads that require a follow-up or action on a specific date.
While done always existed (and still exists) in Gmail as archive, the concept and check mark are no longer present. In Shortwave, the distinction of done versus archive is core to our methodology, which encourages an "out of sight, out of mind" approach. Shortwave recognizes the purpose of done, and by maintaining it, we aim to inspire users to actually assess if further action is needed on a thread. If the answer is no, mark it done, and move it out of your inbox.
A huge draw to Inbox was the ability to take bulk actions (done, pin, and snooze) on bundles without ever reading or opening the emails.
Shortwave supports bulk actions in addition to a full suite of keyboard shortcuts, allowing you to take even more actions on threads without ever opening them, or taking your hands off the keyboard.
Inbox was revolutionary in their modern user interface, which encouraged users not just to use email, but to enjoy it.
Creating an inbox experience that sparked joy was a key principle when we were building Shortwave. Though Inbox aimed to reduce distractions, its in-line replies didn't have the same responsiveness as messenger apps – scrolling through long threads was cumbersome, and nested replies made it difficult to quickly find the newest message.
In Shortwave, message history is collapsed by default so you can quickly get up to speed on a thread. Shortwave also built quick quote, giving you the ability to easily reference and quote thread history – no more messy "see inline replies below."
Shortwave has not only innovated on many beloved Inbox features but introduced brand new ways to regain control of your inbox. Sign up for Shortwave with Gmail and access an additional suite of productivity features and functionalities:
Smart labels automatically remember how you've labeled a person in the past, applying the same label for future emails from that sender. Labeling can be handy for projects and categorization, but don't let it take up too much of your time! Shortwave does a lot of this work for you already with bundles and powerful search, so you don't have to worry about labeling every little thing.
Not only does Shortwave sync app appearances with your system theme, it also converts emails to dark mode for a true dark mode experience. Unlike Inbox and other email apps that just change the inbox background color to a darker shade, Shortwave adjusts each email's background color as well so you're not blinded by walls of white.
Shortwave overhauled the inbox and compose experience to match modern chat apps with keyboard shortcuts, rich text, markdown, and mentions for managing recipients and participants. You spend, on average, 4 hours a day in your inbox, so updates like dark mode, thread summaries and a redesigned sidebar make those hours snappy, sleek and intuitive. Shortwave's chat-like interface, keyboard shortcuts and markdown support are built for the modern professional to actually get email done.
Senders and labels can be set to "skip the inbox" from their respective settings. When you receive mail from a sender or label set to skip inbox, messages will immediately redirect to the done page. Enable this setting for threads (like promotions) that you know won't require action, but you might want to reference later, as these items still appear in search.
Shortwave comes with a strong set of default push notifications located in settings which you can further customize by label or by sender. For particularly important projects and individuals, set push notifications to on. Turn off all other notifications to reduce unneeded distractions for uninterrupted focus time to get deep work done.
Ready to relive the glory of Inbox? Getting started with Shortwave is simple. All you have to do is sign in with your existing Gmail account to get your inbox organized in minutes.
Dec 28, 2022
Andrew Lee
5 min read
2022 has been a big year for us, and we wanted to take a moment to reflect on how far we've come in the last 12 months.
In February, we launched our initial product: a new email client for professionals that aims to rebuild email from the ground up for speed and productivity. Since then, we've been hard at work. 101 features, 3,891 PRs, and 754 improvements later, we've given you the power to automate your inbox and harness the full potential of labels – making it easier than ever to cut through the noise and focus on what matters most. We reinvented the compose experience for the modern era, so you can seamlessly write emails. You spend, on average, 4 hours a day in your inbox, so we wanted that experience to be snappy, sleek, and intuitive.
We're excited to continue the journey of developing the next generation email client – we have big plans – but today let's take a look back at all that we've accomplished together this year.
Email essentials
Inbox controls
Streamlined, chat-like interface
Powerful search
Hundreds of improvements
After we launched in February, our top focus was closing core feature gaps with Gmail. We received an influx of requests for labels, delete, account switching, and more, which we prioritized on our roadmap this year.
Labels
Delete
#
to deleteMulti-account support
Ctrl
#
for switching on webDark mode
Send from alias
We introduced powerful new features to automatically keep inboxes organized, including; smart labels, bundling by label, delivery schedules, skip inbox, and push notification settings.
Custom bundles
Delivery Schedules
Auto-apply smart labels
Push notifications
Skip inbox
Bundle notes
In 2022, we made Shortwave blazingly fast. We overhauled the inbox and compose experience to match modern chat apps with keyboard shortcuts, rich text, markdown, and mentions for managing recipients and participants.
Redesigned inbox
Redesigned sidebar
⌘
\
Faster, more confident replies
Fullscreen reading & compose
Retry failed messages
Search has been completely refactored to be faster, smarter, and more intuitive with easily accessible filters and terms. Search is now 4x faster than it was at launch, allowing you to build complex queries to locate the right information, right when you need it.
4x faster
Intuitive search & filters
iOS search & navigation parity
For the sake of this post ending, we won't list all 754 improvements made this year. But we would be remiss if we didn't highlight some of our underrated quality of life improvements for complete stress-free email productivity.
Snooze upgrades
iOS improvements
Drag & drop
Click-to-copy
Reliable resources
So many things about the product have changed, but one thing remains the same — you. This year was so much more than new features and fixes. It was about the incredible community that built our product roadmap with us and the 691 feature requests we received across support channels, social media, and our exclusive Shortwave community.
Reinventing email for 2023 isn't a light task, and we couldn't do it without you. If it's been a while since you've last checked out Shortwave, or you weren't able to use it because a vital feature was missing, we encourage you to sign in (or sign up!) and give it another shot to see just how powerful Shortwave has become in this short amount of time. We've come a long way since launch, and Shortwave is ready to be your daily email driver.
Dec 13, 2022
Jacob Wenger
3 min read
Time is your most precious resource. You plan your calendar down to the minute. You've mastered all of the best productivity tools. Nothing gets you off track, except... that incessant barrage of new emails coming in, constantly pulling you out of your zone, distracting you further from your plan for the day, and giving you inbox anxiety.
Today we're solving that problem with a new feature called Delivery Schedules. It lets you control when emails enter your inbox, so you're actually ready to handle them when they arrive. Now, instead of being constantly interrupted during the day by non-urgent emails, you can have them arrive all at once at times you choose throughout the day or week.
One way to think about your inbox is to fit each email into a 2x2 matrix of urgency versus importance (see the Shortwave Method). Some emails are important and need your attention ASAP. Some emails you can ignore completely.
Delivery Schedules are ideal for emails you know won't be time-sensitive, but may be important or interesting.
Timeboxing helps you enhance your productivity and focus by scheduling a specific time to complete tasks. Delivery Schedules can help you set aside dedicated time for frequent work, helping you focus and reduce context switching. For example, if you were hiring for a new role, you could schedule all job applications to arrive at once, say on weekday mornings at 8 am. You can then timebox how long you spend sifting through them, so as not to distract from other tasks you need to do later.
Make low-priority threads like newsletters wait on hold for you by scheduling them to deliver when you're ready to read them, like on Saturday mornings at 8 am. Open the bundle knowing it's not interrupting your schedule. Quickly scan and pin the content you want to consume, then clear out the rest with one click on "done".
Set your noisy SaaS product updates to arrive at specific intervals each day so you can stay on top of those code reviews or tackle those design file comments. Stay aware of tasks on your docket while avoiding unnecessary distractions caused by constant notifications.
Worried about missing a potentially urgent email? Threads you've set a delivery schedule for are always quickly accessible on the Snoozed page, or via search.
To see what's next on your docket, you can sneak a peek of threads that are pending delivery on the Snoozed page. If you want them right away (for example, if you have extra time to handle them now), you can force delivery immediately with one click and the threads will move to your inbox.
Pending threads will also always appear in search. Searching by label, sender, or keyword will surface scheduled threads, so you can always find the latest information whenever you need it.
You can configure any bundle to have a delivery schedule in just a couple of clicks. Settings can be found on each bundle in Settings > Inbox. You can also click on the ⚙️ icon when searching for a label or on any label hovercard to pull up the settings dialog. Simply turn on "Bundle in inbox" and "Deliver on a schedule", and then choose the time you want.
With Delivery Schedules, we're trying to bring you inbox zen, and we really hope you'll give it a try! We'd love to hear your feedback at feedback@shortwave.com.
Sep 15, 2022
Jacob Wenger
5 min read
Let's face it: your inbox is overflowing with automated emails. While some are spam you can safely filter out, many you care about: newsletters, receipts, flight confirmations, notifications from your SaaS products, and so on. Shortwave's existing bundles help, but they don't categorize every sender exactly right, and they're not customizable enough for more complex use cases.
That changes today with the launch of two powerful new features: Magic Labels and custom label bundles. Together, these features help you cut through the noise in your inbox and stay focused on your most important conversations.
Magic Labels are a new feature that automatically remembers how you've labeled senders in the past and automatically applies the same label for future emails from them. Magic Labels work today with our four existing built-in labels (Updates, Promotions, Social, and Calendar), as well as with four new built-in labels we're announcing today: Newsletters, Purchases, Finance, and Travel.
To use Magic Labels, simply apply one of our built-in labels in Shortwave using the label picker in the
"..." dropdown. Shortwave will apply the label immediately and also apply that same label on future threads
from the same sender. You'll see a toast appear in the lower right of your screen confirming that the label
has been applied. If you'd prefer not to automatically apply the label in the future, just select "Options"
in the toast that appears, or use the keyboard shortcut for "undo" (Cmd
z
/ Ctrl
z
).
We're especially excited about using Magic Labels with our four new built-in labels, as they'll help with some common use cases:
With our new custom label bundles, you can now turn any label into a bundle. This includes both built-in labels and labels that you create yourself.
To create a new bundle:
You can also enable bundling for a label by clicking the ⚙️ icon in the hover card for that label, and toggling on "Bundle in inbox". Note that if you enable bundling for multiple labels and want to make sure that one takes precedence over the other (in the case where a thread has both labels), simply drag that label to the top of the list on the Inbox settings page.
One especially powerful way to use custom label bundles is to combine them with Gmail filters. Because Shortwave keeps your labels in sync with Gmail, any label you apply using a Gmail filter can be used to control bundling. This unlocks the full power of Gmail's filtering capabilities to create bundles in Shortwave.
For example, you could bundle together:
…or any combination of these.
To get started setting up your Magic Labels and custom label bundles just sign in using your Gmail account. Both features are available on the web, iOS, and Android starting today (though note that you need to configure your new bundles from the web app).
We made a short video to show you you can be up and running with an automatically organized inbox in minutes:
We're working hard to make bundles a powerful and useful feature for you, and we'd love to hear what you think. Please drop us a line at feedback@shortwave.com, or message us on Twitter at @Shortwave.
May 27, 2022
Elizabeth Lowe
4 min read
Your friend just sent you an email introducing you to the head recruiter for your dream job. Amazing....but now what should you say?!
Responding to introduction emails with the right tone and timing not only creates a strong first impression but also solidifies your relationship with the connector. But what exactly are the rules when it comes to crafting that first response?
In this post we will cover best practices with concrete examples on what you need to consider before you compose your intro email response, how to actually write it, and when to follow up!
If you really want to impress the person you're connecting with, the best thing you can do is some research beforehand. Spend some time understanding why the sender thought this would be a worthwhile introduction and how to add value to your response. In the case of a job search, research the new connection's company and scan their career page to see if anything interests you. If it's a sales or vendor intro, visit their LinkedIn page to see what their background is, who they represent, and what connections you may already have in common.
Responding as soon as you can is a great way to start an introduction. Not only does it show that you value the time the sender spent making the intro, but it also shows your genuine interest in the new connection. A good rule of thumb is to respond within 24 hours, so make sure to prioritize introduction emails as soon as they arrive in your inbox.
When responding to an email introduction, you want the new connection to see the message, and you want the sender to get a copy of your response so they know you followed up. Moving the sender to the bcc: field allows them to be included on your initial response to the new connection but excluded when the new connection replies all. Some email clients have keyboard shortcuts for email introductions. In Shortwave, pressing ⌘
shift
i
moves the sender to bcc: and adds a quick thank you to your draft.
Begin introduction emails by addressing the email to the original sender. This helps bring the sender into the conversation naturally as the person that knows both parties and allows the email to be more personal.
Start your reply by thanking the sender for making the introduction. To help provide context, you can mention how you know the sender or why you asked for the introduction.
For example:
"Thanks for the intro Naomi (bcc'd)! I have been looking forward to connecting with Allen ever since you told me about his new project in West Village."
"Hey Rashida — I appreciate you making this introduction. Serving with you on the Chamber of Commerce these last few years has been such an honor."
A few sentences expressing why the sender is making the intro and why you are valuable to the new connection is a natural transition to switch focus from the sender. It's best to keep this section concise so that you aren't bombarding your new connection with information that isn't relevant.
For example:
"It's great to meet you Marcus! I have worked in advertising at The Morning Star for 10 years as a senior reporter and am excited to explore new opportunities in television news writing."
"George has told me great things about you Aisha! I am new in town and am currently working to expand my local network. I'd love to learn more about your association and how I can be involved."
It's important to suggest clear next steps so that your email is actionable for your new connection. Introduction calls are great for building further rapport with your new connection so you can better discuss how you can potentially help each other. We recommend using tools like Cron or Google Calendar's new appointment slots feature.
For example:
"If you have some time in the next week I'd love to connect with you to hear more about your experience at Maxwell Corporation. Feel free to choose a time that works for you on my Google Calendar, or, if none of those work, let me know some times that work best for you!"
"I've attached some materials I'd love for you to take a look through that outline how I help business owners in our area save thousands each year by making the switch. Spend some time looking through those and let me know what questions you have along the way."
"Christine mentioned you had a program that helped business owners like me stay on top of their bookkeeping. I'd love to see more information about how that works and what pricing packages are available."
Wrap up your email with a simple thank you (to the new connection this time) and a mention that you are looking forward to talking soon. If you are using an email signature, make sure all links and information are up-to-date. The last thing you want is an old job title and a broken LinkedIn URL cluttering up the bottom of your beautifully formatted email. You never want a new connection to have to work too hard to find a way to contact you!
For example:
"Thanks again for your time - I'm looking forward to connecting with you further!"
"I appreciate your willingness to meet with me! I'm looking forward to learning more."
People are busy and sometimes introduction emails fall to the bottom of to-do lists. It's recommended to wait five business days before sending a simple follow-up email if you haven't heard back. You can also snooze the email to show back in your inbox in 5 days to make sure you don't forget. If another week goes by with no response and you have a good relationship with the original sender, it would also be appropriate to check in with them to see if they have heard anything back, or if the new connection has told them they are not interested in meeting.
For example:
To the new connection:
"I just wanted to follow up to see if you had some time in the next few weeks to chat. Looking forward to learning more about the opportunity!"
To the sender:
"I haven't heard back from Margot after my response to your introduction email. Do you think I should allow for more time or give her a call directly?"
You don't need to keep the original sender in the loop each step of the way, but it's important to circle back and let them know important milestones like you landing a big deal or getting a job offer because of their intro. People love to know that their introductions were actually helpful! A handwritten thank you note goes even further if you want to stand out.
For example:
"Thanks so much again for introducing me to Kyle. He has been a huge help in my efforts to grow my network here in Denver. I've already gone on 5 coffee outings with people he has introduced me to and closed 2 deals!"
"I can't thank you enough for introducing me to Ha-yoon! I accepted an offer this week and am now the Sales Manager at 2x2 Enterprises!"
You never know when that next career-changing introduction email might show up in your inbox, so make sure you don't miss it! Shortwave brings order to the chaos and helps you priortize emails that really matter.
If you're ready for a better way to email, give Shortwave a try today!
Apr 14, 2022
Ali Berlin Johnson
5 min read
We always knew we wanted to build dark mode for Shortwave, but it didn't quite make the cut for launch. Post-launch, emails flooded our support inbox with subject lines like "HELP, MY EYES" 😵💫🙈 The time to build dark mode had finally arrived!
The project initially felt a little daunting, since a high quality dark mode is much more complex than inverting colors. We needed to consider details like contrast and readability while keeping our design feel on-brand with a completely different theme. Shortwave was designed to be fun, joyful, and calm and we didn't want to lose that with the introduction of dark mode.
We knew that an efficient approach to dark mode was the key for our small team. We didn't want to spend the time designing every flow or screen twice and similarly wanted to avoid doubling the engineering effort needed to implement them. Now that dark mode for Shortwave has officially launched (yay!) – I'm excited to share some of the takeaways we learned in the process that helped solve some of our headaches (figuratively and literally).
Using the Themer plugin in Figma to convert from light to dark mode in just a few clicks
One of our biggest challenges with dark mode was figuring out how to introduce it to our design system without slowing down our design process (especially because we currently have a design team of one - we're hiring by the way)! Designing things twice was out of the question and we knew requiring every Figma component to have a dark mode variant would lead to extra upkeep. Our goal was to create an automated system that matched how it actually works in code, with occasional overrides.
Enter Themer — a Figma plugin that creates and swaps themes from published styles. After taking our existing light theme and assigning corresponding dark mode colors, all we have to do to convert a mock to dark mode is run the plugin. It's magical ✨
So far, Themer has been working great for our team. The only hiccup we've experienced is that it can lead to issues with overrides. Converting an instance of a component from Light → Dark → Light, ends up with something that looks like it matches the main component, but all the colors are actually overrides. It hasn't been a huge issue yet and our workaround has been to only use Themer to convert from Light → Dark and not the other way around.
An example of some of our color naming and pairings in Figma
Naming is hard – naming colors is even harder! We knew a naming system that simply described the hue or value of the colors would quickly get confusing when transitioning from light to dark mode. For example, something named darkGray
may make sense in light mode, but would be confusing in dark mode where it would actually be a light gray.
Our solution was to name colors based on semantic usage. Referencing Material Design's naming approach (see M2 & M3 color guides), our existing light theme consisted of primary
, secondary
, and accent
colors, with variations for text and structural elements such as background
, highEmphasis
, mediumEmphasis
, disabled
, and hover
.
Some of the color names were intuitive, while others were a bit trickier. Surface colors proved to be the hardest to wrap our heads around. In light mode, they were all whites with different shadow depths, but dark mode needed more variety because you can't see shadows in the dark. We ended up with four different surface colors including surface
, surfaceVariant
, surfaceRaised
, and surfaceBackground
to meet all our needs and then grouped these together in our Figma styles to make them easier to choose from.
With a defined set of colors based on their usage, we were ready to create our light / dark mode pairs needed for the previously mentioned Themer plugin. This naming system not only made creating dark mode a lot easier, but also set a solid foundation for any other theming we decide to add in the future, such as high contrast or custom themes.
How we expanded some of our brand colors (outlined in white) and tweaked the tonal HSL (Hue-Saturation-Lightness) palettes to be more on-brand (top vs bottom)
One of the easiest ways to extend a single brand color to work across light and dark themes is to make a tonal HSL (Hue-Saturation-Lightness) palette by adjusting the lightness from 100 to 0, making your color go from white to black. This is the general approach Material Design takes as well. There's even a Figma plugin that will create these for you. These tonal palettes were a great place to start. However, being more mathematically derived, they missed the mark. Design is an art after all, not just a science!
Starting with HSL tonal palettes derived from our brand colors, we manually adjusted some values to better align with our established style guide. We started with slight adjustments to saturation first. If that didn't cut it, we tweaked lightness next and then finally hue. For our blues and purples, we lowered the saturation to maintain our calmer palette. Our yellows were changed most drastically, as we adjusted hue, saturation and lightness across the palette to keep it cheery and avoid muddiness. Although small, these subtle tweaks make a huge difference in conveying the same mood across light and dark modes.
The colors in these reference palettes were the source of all our color variables, acting as design tokens to define all of the semantic colors used in our themes. For example, our secondary
color variable is purple30
(light mode) and purple40
(dark mode) from our reference palette. This type of system makes it easier to make fine-tune adjustments across your entire app and themes because everything points back to a single cohesive set of color palettes.
With a relatively small team and a lot to get done, we needed to make the workflow between design and engineering as seamless as possible. To do this, our design approach for dark mode needed to match how it's actually built in code as much as possible.
Thankfully, long before we started building dark mode, our proactive engineering team made the decision to use styled-components
and its theming functionality. Similar to our design approach in Figma, we leveraged this theming functionality instead of having to build a dark mode variant for each component. This meant our code worked similarly to the Themer Figma plugin, where colors could be light and dark mode aware.
Colors are light and dark mode aware with styled-components theming functionality
We also introduced CSS variables (aka CSS custom properties) to our codebase to allow easier referencing between designs and code. Browsers do a great job of exposing CSS variables, allowing you to see them when you inspect elements in the developer console and even easily switch from one variable to another.
CSS variables are a lot easier to inspect and verify in the browser for engineers and designers alike
Mapping our design and engineering systems together saved everyone time and kept our cross-functional team aligned. Engineers could verify that they were using the right color variable in Figma, and I could double check that the correct color was being used during code reviews. Everyone was on the same page!
While this project was far beyond "switching out a few colors," all of the hard work designing dark mode was more than worth it. We now have a system in place that allows dark mode (and any other future themes) to easily grow with Shortwave and its new features — without needing extra design and engineering work.
We officially shipped dark mode to users last week and we've loved watching everyone find yet another reason to enjoy their inbox with Shortwave!
Ready to take on fun projects like dark mode with the Shortwave team and enjoy other awesome perks like flexible remote work, competitive compensation, and regular offsites (places like Hawaii, Miami, and New Orleans)? We are hiring designers and engineers. Check out our open positions and apply today!
Feb 15, 2022
Andrew Lee
5 min read
Today, we're launching Shortwave, a brand new experience for your Gmail account. Shortwave helps you email smarter and faster, so you can not only be more productive, but actually enjoy your inbox. You can sign up for Shortwave today and get started for free.
You aspire to hit Inbox Zero, but in practice emails just fall off the end of your inbox. Were you supposed to respond to that? Too late now! I guess they'll text you if it mattered. You've tried priority inbox, "splits", filters, and every other setting you can find. You've memorized keyboard shortcuts and fly through your inbox mashing "e", barely reading the content. More. Faster. You've got this.
Except you don't "got this". Inbox Zero remains elusive. You're tracking so much in your head. Which emails are urgent? Which ones do you still need to respond to? You have an ever-growing number of SaaS notifications. Long threads are hard to follow. Did someone reply privately in this group thread? Did an attachment get dropped when they added you?
You're drowning.
The problem isn't you – it's your email client!
Shortwave brings order to the chaos. We've completely redesigned email from the ground up so you can stay calm, focused, and in control.
Shortwave treats email like the to-do list that it really is, so you don't have to track everything in your head. Pin urgent emails to the top of your inbox in one click. Re-order threads to stay prioritized. Stack and label related threads to keep them together. Inbox Zero might be impractical every day, but Inbox Organized happens without breaking a sweat.
Our secret weapon is called bundles. They automatically group related emails and let you act on them all at once. Old calendar notifications? Gone. Asana updates? Bam. Newsletters? Oh wait, you do want those: snooze the whole bundle until your flight with one tap.
Long group email threads can be tricky. When were people added and removed? How many different conversations are really going on? What happened before you were added? Shortwave's clear and compact thread UI shows you what you need to know, and nothing else.
Shortwave helps you communicate clearly and intelligently without sacrificing speed. With mentions, you can modify recipients without taking your hands off your keyboard. Markdown text shortcuts make it easy to format your messages, and our Giphy and emoji support let you add some flair. We've optimized for common actions, like referencing a recent thread, finishing a draft, quoting text, or adding a photo.
Shortwave is great for teams. At work, you email external people all the time: customers, vendors, job candidates, and more. Many of these threads are important to your teammates too, and with Shortwave it's easy to loop in a single colleague or your whole team.
When collaborating on a thread, you can see who's online and who's typing, making it easy to know when to jump in. Emoji reactions let you respond quickly and have a little fun too. Unlike Gmail, if you were added later on, we show you the previous messages in their entirety, including attachments, inline images, formatting, and recipients.
We're bringing channels to email. Channels are topic-based spaces where you can share threads with your team. Start a new thread to have a thoughtful discussion. Add an existing thread into a channel to share that thread – including its history – with your team, so they can follow along, respond, and see it in their search results. Channels let you unify both your internal and external communications into a single inbox, so it's easier for everyone to stay caught up.
To get started with your team, just create a workspace. They're free for up to 10 members and paid plans are just $9 per person per month.
When I started Firebase in 2011, serverless apps were a radical new idea – today, they're standard practice. It took years for us to win people over, but seeing early adopters fall in love with Firebase gave us the conviction we needed. We're already seeing the same early signs with Shortwave. Email is making a comeback.
"Shortwave's UX feels fast and joyful! It makes email less of a chore and lets me focus on my actual work."
Phillip Wang, CEO, GatherIt's going to be a long journey, but we're prepared and resourced for it – and we won't stop until email is hands-down the best, easiest, and most enjoyable way for you to communicate online (and not even then). To set our company up for this long-term mission, we've built an exceptional team, including many early Firebase employees. We've also partnered with some of the smartest investors in the world. We raised a $9M Series A led by Union Square Ventures and Lightspeed Venture Partners, with participation from Flybridge, James Tamplin, Immad Akhund, Peter Reinhardt, Oliver Cameron, and others.
We had a lot of fun building Shortwave, and we hope you enjoy your new inbox! To get started with Shortwave, all you have to do is sign in with your Gmail account or check out our Shortwave Method to learn more.
We'd love to hear your feedback at feedback@shortwave.com or on Twitter.
Happy emailing!
Jan 6, 2022
Tyler Rockwood
5 min read
Have you ever needed to build a user interface in React that updates in real-time based on server events? We struggled to find a good pattern that made this easy in our app. After trying to do this using Redux, we eventually found a much better way. In this post I'll document our journey and our (open source!) solution.
A major goal of Shortwave is to provide a much more real-time email experience. Users should see new emails right away without needing to click to refresh, and triage actions taken on one device should update other devices (and tabs) immediately.
To accomplish this, our apps have a websocket connection that incrementally syncs down data from our backend. We store that data locally and merge it with local state based on user actions, so that we can compensate for latency and give users a responsive app even when their network isn't.
Our apps have client-side logic in TypeScript for managing this local state, including handling asynchronous server updates, user input, disk persistence, and other business logic. To make our user interface work, however, we need to get this state into our React components.
Our first attempt at doing this was to just expose the state as an Observable to get it into React. Let's take an example of our draft service - which has an interface like this:
Usage of our service looks something like this:
This worked, but we quickly noticed a problem. The first render pass in React always resulted in displaying the loading state to the user. Even if we had a draft loaded in memory and we could display it instantly, we had to wait until the useEffect hook ran to update the state. For toy apps, this isn't noticeable because useEffect can run and React can rerender the component before the browser has the chance to paint. Our application was large enough that there was flickering of the loading state every time a component was mounted.
Our fix for flickering? Put the state into Redux! So now our app had a hook like this at the top of the component hierarchy:
This lets us fix our component's flickering while simplifying it at the same time. Great!
What's not to love? Well, a lot it turns out! First of all, it's not clear when to load data in this model. In our draft example we can start piping them all into Redux at app load time, but we can't do this with all of our data. We have to manually set up the sync into Redux anytime we display the data anywhere in the app - a cumbersome and bug-prone pattern. We also ran into performance issues early on and needed to optimize our selectors with tools like Reselect.
Additionally, we have all our state duplicated into two places - first the service and then the Redux store. Not only did this make it difficult to figure out where the source of truth for our state was, it also required a bunch of extra code. We needed to create reducers to handle the state and actions so we can wire up the service to the store. We also were doing this before Redux Toolkit was production ready, which just meant even more boilerplate code to write.
Overall our use of Redux felt like overkill and imposed a very rigid structure to our code - all we needed was a way to expose our application state to React!
We wanted a simpler solution. We liked the simplicity of the observables pattern, but observables are designed for streams of data and don't necessarily have a "current" value. We needed to synchronously access state for our first render, so what we wanted was a data structure that both holds a current value and has a notification mechanism for when it's updated. Enter Watchables - a small data structure we built for exactly this purpose - to expose a value into React. At its core, Watchables have a small API that looks something like:
We can now update our component to look something like the following:
Watchables also have some other nice properties - they allow for an empty loading state, frequently updated values can be snapshotted, and you can do memoized state transformations. Combining these with a small set of hooks allowed us to simplify our component even more:
We now use Watchables all over in our application, for loading and displaying messages, drafts, contact information, and online presence status. It's become a fundamental part of our application and has helped us to simplify our architecture and define clear boundaries between our business logic and user interface.
As part of this blog post, we've open sourced our implementation of Watchables along with a small set of hooks at github.com/npm install --save @shortwave/watchable
. More information can be found on GitHub. If you found this post interesting, check us out - we're hiring!
Sep 21, 2021
Andrew Lee
4 min read
Last year, a team of ex-Firebasers and I started Shortwave, a stealth startup we're unveiling today. With Shortwave, we're placing all of our chips on one big bet: email will dominate the future of messaging.
We believe that email, despite all of its flaws, will eventually win as the way we communicate online, displacing iMessage, WhatsApp, Slack, WeChat, and every other messaging app in your pocket today.
At this point, you may be thinking "Email?! Isn't that the past?", and you wouldn't be alone. The email ecosystem has stagnated as the world changed around it. Email inboxes are overwhelmed with a volume of automated messages they were never designed to handle. Email clients — hamstrung by decades-old protocols and UI concepts — have failed to take advantage of mobile. Meanwhile, messaging apps have raced ahead with real-time updates, native support for groups, easy sharing of photos and videos, end-to-end encryption, and more.
However, email still has two key advantages that outweigh all of its flaws:
Messaging apps, on the other hand, are closed services that don't interoperate. You can't send messages between Slack and Teams or from WhatsApp to iMessage, so you end up juggling a dozen apps to stay connected. These apps are controlled by a select few companies that mandate the use of their own clients, force all network traffic through their servers, and restrict what services can be built on top of them. These centralized services also create a single point of failure and control, making them unreliable platforms for free expression when it matters most. If you're unhappy with your experience, too bad.
The future of online communications cannot be trusted to a centralized service. It must be built on a foundational technology that is:
The right choice isn't to invent a new protocol. The right choice is to build on email — a technology that is already universal, open, decentralized, and battle-tested for over 40 years.
While email today does not yet satisfy all of our requirements, recent advancements in machine learning, encryption, and decentralized governance have made some of email's most challenging problems far more tractable. People and businesses are also reconsidering social conventions around email and messaging due to the shift to remote work, making this an ideal time for a new approach. With the right investments in modern clients, new servers, upgraded protocols, and thoughtful design, it's now possible to build a user experience that lives up to email's potential.
Upgrading email will be a difficult, multi-year journey, but we have the right team, resources, and determination to play the long game. Our first product is a brand new inbox experience for your existing Gmail account. It is still being tested privately, but we are providing early access to a select set of individuals and companies. If you would like to try it out, sign up here. If our mission excites you and you want to help build the next wave of communication, we're looking for great people to join us, so please get in touch.