The Talk Show

376: ‘One True HIG’, With Neil Jhaveri


00:00:00   Neil Gervarry, welcome to the show. What a big week for you. Yeah, thank you John, thank you John.

00:00:06   Yeah, it's been an absolutely crazy week for us. Just kind of getting finally after a couple years

00:00:13   of development, MimeStream 1.0 is out and out to the world. I am super duper excited about this,

00:00:23   and my enthusiasm, well number one, let's, I'll have you introduce the app. What is MimeStream?

00:00:29   So, MimeStream is a native macOS email client designed specifically for Gmail, and it is a

00:00:41   little different from other email clients that most people have used in the past because it

00:00:46   specifically uses the Gmail API to integrate very very deeply with Gmail. Most other email clients

00:00:54   are using the decades-old IMAP protocol, which certainly is fantastic and has its purposes, but

00:00:59   Gmail has kind of a different way of doing a lot of the basics. And by using the Gmail API,

00:01:06   we can really natively understand a lot of what Gmail does and integrate with a lot of its

00:01:12   features like labeling and creating server-side filters and having inbox categories. And so that's

00:01:18   what MimeStream is about. It's about a niche, at least to start with, but we wanted to really

00:01:24   kind of make sure that we're able to go deep into that niche.

00:01:27   It is, yeah, so I think that's no surprise that you were able to pitch it very well. It's like a

00:01:34   two-pronged, this app is different and special. And the first prong is that it is Gmail-specific

00:01:43   and uses the Gmail APIs and is very very Gmail. We can get into that first. And then the second prong

00:01:50   is it is a very Mac-esque Mac app. And both of those things, I think, I mean,

00:01:58   well I suppose it's not unique to be a Mac-esque Mac email client. There are a few, but the Gmail

00:02:06   specific thing I believe is unique. I don't think there's anything else for the Mac that is so

00:02:15   Gmail-specific. And for those people out there, and Gmail is so popular that I hesitate to waste

00:02:22   time on the show talking about it, but even people who are longtime Gmail users who, if you don't

00:02:29   think about it from the perspective of an email client developer, the, I don't know what the word

00:02:36   is, is impotence mismatch between Gmail conceptually and IMAP, but just traditional email.

00:02:45   Traditional email is much easier to understand, where it really is sort of mirrored on the file

00:02:52   system, right? Where in a file system, you've got files and you've got folders and a file is in a

00:02:58   folder somewhere, and that is where it is. It might be a subfolder, folder A with folder B with inside

00:03:05   it and it's hierarchically nested, but it's org and email messages on traditional email are like

00:03:11   that. The inbox is a mailbox and messages are either in the mailbox or they're not, and if

00:03:17   they're not, they're in some other mailbox. Gmail doesn't work like that. Yeah.

00:03:24   >> But, and I, now I'm laughing because it makes it, my laughter makes it seem like I'm putting

00:03:30   Gmail down, but actually I use Gmail, although I don't, we can get into my personal use of it,

00:03:36   which is weird. I'm not putting it down. It's sort of one of the genius ideas of the last,

00:03:42   I don't know, 20 years. It seems like a miracle that it actually works with a different

00:03:47   fundamental concept of how email is organized yet integrates with the wider world of email

00:03:54   seamlessly. There might be a billion Gmail users out there.

00:03:58   >> Right. I think the number is closer to actually 1.8 billion is a number that I've read most

00:04:04   recently of the number of monthly active users they have. So I mean, by all measures, Gmail is a

00:04:10   highly successful email platform that a lot of folks out there use. When it first came out,

00:04:15   I forget what the year was, but it was just such a paradigm shift for people to go from having these

00:04:21   teeny tiny 100 megabyte inboxes. They were constantly trying to keep clear and running

00:04:28   into like, oops, your inbox is full so you couldn't get your most recent email delivery.

00:04:33   That was a constant struggle and just Gmail with that first one gigabyte allowance, it was just

00:04:38   such a paradigm shift and so many people migrated as soon as that became available. Well, I remember

00:04:45   that it debuted on April 1st, whatever the year was, I don't know, it might be like 2004. I'll

00:04:50   look it up for the show notes. We don't have to waste time here looking it up, but it was April 1st

00:04:54   and it was either like you just sign up, it's free, you get your name at gmail.com and you got

00:05:00   like, I think it was a gigabyte, maybe it was more, I don't know, but it was at least a gigabyte.

00:05:04   Whereas every other yahoo.com or hotmail or AOL or wherever else you might've been hosting,

00:05:11   getting your email for free were measured into megabytes. And like you said, everybody was

00:05:17   constantly, I don't know, archiving to a local mailbox on their computer so that most of their

00:05:22   email wasn't even on the server anymore. And it was just a daily occurrence to sort of get an

00:05:29   alert like, hey, your inbox is full. I remember those days. I mean, I remember being really

00:05:36   excited when it first came out. I was one of those people where I couldn't get an invite

00:05:40   and I had to go to eBay and like pay some guy for an invite or something. I think I paid like

00:05:45   10 bucks or something back in the day to just try and get in. But yeah, I was, I mean, as soon as I

00:05:50   got it, I was like, oh my gosh, this is such a relief to finally have the room to just let

00:05:55   all your stuff accumulate. And people thought it was a joke. I mean, because today's Google,

00:06:02   now that they've sort of got a couple of decades under their belt as a industry Titan are less

00:06:09   cheeky. Right. 20 years ago-ish, Google was sort of prankstery. There were a lot of people the

00:06:17   day it was announced who thought this can't be real. And there was an invitation system.

00:06:21   So everybody couldn't just jump on to prove it. But there was, I would say it was like 50/50 people

00:06:27   thinking like, well, this can't be true that they're giving everybody email with a gigabyte

00:06:30   of storage. But yeah, it was. And here we are. So explain, you can do it better than me because

00:06:38   you're obviously familiar with it about as perhaps as much as anybody in the world. But explain

00:06:45   for people, either even Gmail users, but especially for people who don't use Gmail or only use it

00:06:51   superficially, the conceptual difference between the way Gmail deals with messages compared to

00:06:56   traditional email. Sure. I mean, I think it boils down to this really fundamental distinction that

00:07:03   you alluded to earlier, which was the difference between kind of storing things in folders/mailboxes

00:07:09   and what Gmail does, which is just storing everything in one, effectively one mailbox,

00:07:16   all mail, and then letting you apply multiple labels to each message. So even things that are

00:07:23   in your inbox, it's not just in your inbox, it's in all mail. It just happens to have the inbox

00:07:29   label applied to it. So it's this really, really fundamental mismatch between the way that most

00:07:36   email clients worked before, the way that IMAP works before, and the way that Gmail works.

00:07:42   And it's powerful, right? To some degree, you look at it and it's really like, it's logically

00:07:47   correct. It's like, okay, I've got this message. I can apply multiple things to it. When Gmail

00:07:52   first got started, I think that was an aspect where people had a hard time kind of like fully

00:07:58   grasping. And they very quickly over the years made some UX refinements that I think made it a lot

00:08:05   easier to sort of disguise the whole labeling aspect of the system if you didn't want to get

00:08:12   into that. You could sort of over time begin to like drag and drop a message from your inbox to

00:08:18   some other label that you could then think of as a folder. But under the hood, it's all still just

00:08:25   one box of messages that have labels on it. And that's ultimately where I think a lot of the power

00:08:29   of Gmail as a platform does come from. But it also has been a challenge to sort of integrate

00:08:36   into the broader set of email tools that were already out there because that doesn't map

00:08:42   to the whole folders and messages model of the past.

00:08:45   JS Yeah, I almost think it's better to think of it less as one big mailbox and more like a soup,

00:08:51   right? Like it's just all of the messages, whether you sent them or they came to you are just in a

00:08:56   soup on your Gmail account. And labels are it's just another word for tags in another system.

00:09:04   And it like you said, being in the inbox is just a tag on a message. And when you say archive in

00:09:11   Gmail, it just takes the inbox tag off and the message disappears from your inbox. But it's

00:09:18   really hasn't gone anywhere. It's just in the soup and no longer has the inbox label.

00:09:23   Right. I am a huge fan of that. I mean, years ago, it's a long time at this point, I guess it's

00:09:29   10 years. But me and Brent Simmons and Dave Whiskus made an app, a notes app for the iPhone

00:09:35   called Vesper. And one of the things that distinguished it from other notes app still,

00:09:41   even to this day is it had no folders at all. All it had were tags. And I still have it on my phone,

00:09:49   but because it doesn't sync anywhere, I don't use it. But I still miss it. Because I like the

00:09:54   tagging metaphor. And again, with Vesper, the notes were all effectively in a soup. And everything was

00:09:59   just a tag. But one of the advantages of tagging or labeling, whatever you want to call it versus

00:10:05   folders is that a message can have more than one tag. So it could be in the inbox and it could have

00:10:14   a tag like newsletter. And there you could just go to your tag newsletter and just see all of your

00:10:20   newsletters, whether they're in the inbox still or not. And there they are. Or you could I mean,

00:10:29   shopping, right? Like if you just want to tag something for everything you want to think about

00:10:35   buying in the future, you could just tag it shopping, but it could have other tags too.

00:10:39   So you're not making a copy of the message to have it in both label shopping and label

00:10:46   work. If it's stuff you want to buy for work or the name of a project or something like that,

00:10:52   it's just got both labels. And so it's in both contexts. And where I think things go wrong,

00:10:59   other systems go wrong is when there's a system. And I'll hold up Apple Notes as an example,

00:11:07   which is now my primary notes app. And I like Apple Notes. And I think it's a very strong

00:11:12   built-in default app and syncing on fantastic. Yeah. But my number one complaint with it is that

00:11:20   they've added tagging, but it already has a folder structure. And it's not that they're incompatible,

00:11:28   but to me, things work best if they choose one or the other.

00:11:31   Yeah. I mean, logically, I think this comes back to the point of where people sometimes have a

00:11:40   little bit of a hard time wrapping their heads around tagging systems. Like they're objectively

00:11:46   more powerful, right? Like objectively speaking, a tagging system is a superset of a folder system,

00:11:52   right? Because if a folder system is just at most one tag per message, and a tagging system

00:11:57   is multiple tags per message. But like all things, people are familiar with what they've done in the

00:12:03   physical world and putting items into folders is something that people are very... It's easy

00:12:09   to understand. So I think there's a lot of that that just makes the whole tagging metaphor a

00:12:14   little difficult for, especially the folks that are a little less technical to like completely wrap

00:12:19   their heads around it at first. Right. And what helps with, especially with Gmail, is like you

00:12:25   said, you can still... Once those labels are over in your sidebar, and there you can think of them

00:12:31   as mailboxes, you can just drag a message to one and it seems like it moves it there, but it really

00:12:36   is just applying the label. But you still have the same... If you think, "Well, I guess I should

00:12:41   just click on the message and drag it over there and drop it and that will move it there," it still

00:12:47   works for you. You don't really have to think of it as applying a label. You can think of it as moving

00:12:53   and it still works. Right. They've definitely done a good job of if you don't really get labels,

00:12:59   you can sort of use Gmail and not really think about it that much if you want. So that refinement

00:13:05   has definitely happened over the course of a few years. All right. I want to keep going on the

00:13:10   Gmail I'm App Distinction, but let me take a break here and thank our first sponsor and it's our good

00:13:14   friends. New sponsor at Rocket Money. Rocket Money is a personal finance app that finds and cancels

00:13:21   your unwanted subscriptions, monitors your spending, and helps you lower your bills all

00:13:26   in one place. Over 80% of people have subscriptions that they've forgotten about.

00:13:32   So the chances are you're one of them. I know I am. That's true. Every once in a while, I go

00:13:36   through my credit card manually and you find stuff. You find weird stuff like stars. What the

00:13:41   hell is that? And it's like, "Oh, that's like a streaming service I subscribed to to get one show.

00:13:46   I forgot to unsubscribe. I don't even remember." Subscribe to it. Rocket Money will quickly... You

00:13:50   sign up for Rocket Money and it will quickly and easily find your subscriptions for you

00:13:55   through your billing history. And for any that you don't want to pay anymore, you can just hit

00:14:00   cancel and Rocket Money will cancel it for you right there. This is what they do. This is what

00:14:05   they specialize in. Easy. Right there in Rocket Money. It helps you manage all of your finances

00:14:11   too in one place and it automatically categorizes all of your expenses so you can easily track your

00:14:17   entire budget in real time as you spend and get alerted if anything looks off. If any kind of

00:14:23   weird things come in, things that are outside the norm, you'll get an alert that says, "Hey,

00:14:27   sum up with this." Over 3 million people have used Rocket Money, saving the average person

00:14:33   up to $720 a year. Kind of remarkable. It's really great. You can just... It's so easy. You just sign

00:14:42   up. It goes through your billing history, finds all your subscriptions. You just find the ones

00:14:46   you don't want anymore. Hit cancel. Stop throwing your money away. Cancel your unwanted subscriptions

00:14:51   and manage your expenses the easy way by going to rocketmoney.com/thetalkshow. That's rocketmoney.com/thetalkshow.

00:15:04   Thank you to Rocket Money. rocketmoney.com/thetalkshow. So, you have it. I've been using

00:15:12   Gmail. I told you this as we were setting up the show. Years and years ago, before the iPhone,

00:15:17   I was a MailSmith user. MailSmith is a now nearly forgotten email client from Barebone Software,

00:15:24   the makers of BBEdit. It was sort of a weird duck. It was only Mac only. It never supported

00:15:30   IMAP, which is more or less the death of it. It was a POP only. POP was a... For those of you

00:15:35   who aren't old enough, POP was an email protocol before IMAP where you effectively would have a

00:15:42   client software on your computer. It would connect to the server. And if there were new messages,

00:15:49   it would download them to your computer and delete them from the server optionally. But most people

00:15:54   would just delete them from the server. So, it was a way to sort of keep all your email on your

00:15:59   computer, which is not the way people think of email anymore. But 20, 25, 30 years ago, when

00:16:06   people had like five megabyte storage allotments on their server, it made sense. It was also a much,

00:16:14   much, much, much simpler protocol than IMAP. I'm sure, Neil, you're going to burst out laughing

00:16:21   when I describe IMAP as somewhat idiosyncratic. POP is certainly a much more simple and

00:16:30   straightforward protocol compared to IMAP. So, I made do with POP for years and years because

00:16:35   I only really had... I just had one main Mac at a time. At the times when I did use more than one

00:16:42   Mac, I would keep my Mailsmith installation on an external drive. And then I could just quit it,

00:16:50   take the external drive, plug it into a different Mac. It's an old way of thinking about storage

00:16:55   and working, but it was sort of like, where was my email? It wasn't in the cloud. It wasn't on a Mac.

00:16:59   It was on this like LaCie... I don't know. That's just how people used to work with their, you know,

00:17:06   all of their data really just 20 years ago. It was one of those LaCie hard drives, like a FireWire

00:17:12   one that had the rubber coating, you know, and I had backups too, but I was like, I don't know,

00:17:16   if I'm putting this in my backpack and jostling it around, I should get one of these

00:17:19   rugged hard drives. But anyway, when the iPhone was announced, it was like, all of a sudden I was

00:17:25   like, well, this is the end of this because I want to... I know I'm going to want to use this.

00:17:29   Now I'm going to have two devices that I want to access my email from. So it's time to switch to

00:17:34   IMAP. Goodbye to my beloved Mailsmith. And I switched to Apple Mail, but I took the time.

00:17:41   You know, I was like, well, if I'm making this big switch, it's time for me to switch my email

00:17:45   hosting. And I switched all of my main email addresses to Gmail addresses. But at the time,

00:17:52   I'm pretty sure, unless I'm an idiot and I missed it, in 2007, I don't think you could hook up your

00:17:58   own custom domain names to Gmail officially. So the way I have things set up for 15 years now

00:18:04   is my like comments at Daring Fireball address is just a forwarder that I host that forwards

00:18:11   to a Gmail account with a... It's like fireball.msk@gmail.com that nobody sees.

00:18:18   And then I have my Gmail account set up. You can say, would you like to send mail from like an

00:18:23   alias? And it's just a preference setting I set 15 years ago. So when I use that Gmail account,

00:18:27   the outgoing mail says it's from commented Daring Fireball. And it's worked. And here's the way that

00:18:35   it works is Gmail has... I think it's an off by default setting, but you can turn it on per

00:18:39   account to say, enable IMAP access to my account. And then any IMAP client can then authenticate

00:18:47   with Google and connect and will treat your Gmail account as an IMAP account. And it works mostly.

00:18:56   I mean, I've been doing it for 15 years. And one of the reasons I switched to Gmail at the time was

00:19:00   for their spam filtering, which was excellent at the time. It's still okay. I think it's gotten

00:19:05   worse over time, but... But it's... More on that later.

00:19:10   Right. More on that. All right. More on that later. I'm going to make a note, but more or

00:19:13   less for 15 years, I've used Apple mail as my primary email client on Mac and iOS and treating

00:19:21   my Gmail as an IMAP server. And it's mostly worked. I mean, I don't really have... I don't

00:19:29   use lots of mailboxes. I more or less just do inbox to archive kind of works. And I've just

00:19:35   sort of sucked it up over the years. Yeah. I think the iPhone era obviously killed all the previous

00:19:42   email setups where people were using POP and trying to store everything locally. I think once

00:19:47   the iPhone came out and everyone was using smartphones, like IMAP was just sort of minimum

00:19:52   table stakes at that point for any reasonable multi-device user experience. And it served us

00:19:58   super well. And I think a lot of people out there sort of have this impression that IMAP is this

00:20:04   really janky, bad protocol. And it's actually not. There are some aspects of it that are

00:20:12   very thoughtfully designed and can work really, really well for the use cases that it addresses.

00:20:20   The real problem with it is just that it doesn't have a good fit with the Gmail data model. And

00:20:27   that's really where it fell apart with trying to use it with Gmail, is that there's a little bit of

00:20:32   a mismatch there. But otherwise, there's a lot of people who are using it very successfully with

00:20:36   other services. FastMail, for instance, is one that a lot of folks are really behind. And that's

00:20:43   something I'd love for us to eventually get to. But we have to obviously start with a very specific

00:20:48   focus to make something that's really different and get people on board. But yeah. All right. So

00:20:55   the big difference with MimeStream is right now, MimeStream 1.9. Now, how long have you been working

00:21:00   on MimeStream? You said years. Oh, years. Let's see. So I left Apple in 2017. And then for about

00:21:10   two years, I worked on a couple of different things kind of outside of technology. And then

00:21:16   eventually in 2019, I decided I really, really miss working on email. So I founded MimeStream in 2019

00:21:25   and kind of got to work every day building it. And it was just me, just me at that time. And in the

00:21:32   fall of 2020, I sort of opened up this public beta. I didn't actually intend to open up a wide

00:21:40   public beta. I did a quick post to Hacker News, thinking that I would get like 100 or 200 more

00:21:46   people to use what I was working on. And it sort of blew up a little bit from there, a little out

00:21:51   of my control. It all went a little faster than I was expecting. It seemed to resonate with people.

00:21:56   We sort of continued developing it from there. All right. So to be clear, when you were at Apple,

00:22:03   you were at Apple for, I'm going by your LinkedIn here, but for seven and a half years,

00:22:06   you were at Apple and you worked on Apple Mail and Notes, which is semi-related to mail, or at least

00:22:13   was for a while because, and again, I don't want to go off too much on a digression on Notes apps,

00:22:20   but until it switched to iCloud and modern iCloud storage and syncing APIs, Notes for syncing used

00:22:28   IMAP. Oh yes. Oh yes. So I actually worked on the first Notes app for OS X back in the day,

00:22:36   the first version and the second version used IMAP syncing under the hood, which there were pros and

00:22:42   cons. And that's not exactly the protocol that I think anyone would have chosen to start a brand

00:22:49   new Notes app with, but there was already pre-existing Notes in Mail, which were syncing

00:22:55   with IMAP and Notes on iOS, which was syncing with IMAP. So it was just sort of the default

00:23:01   choice for us as, well, we've got to be backwards compatible with what people already have. So we

00:23:07   need to do IMAP syncing of Notes. Now IMAP is not a great protocol for that specific use case,

00:23:14   but it got the job done well enough. And it was a light enough user experience that I think

00:23:19   quickly got a good bit of traction. If I recall correctly, because what I figured out very quickly

00:23:25   was when Notes was using IMAP for the backend for syncing, no surprise, my mac.com account

00:23:35   was pretty much rock solid. At the time it wasn't even called iCloud. It was either me.com or even

00:23:41   mobile me, or literally might've been still called mac.com as the service.

00:23:46   But because it was Apple's own IMAP servers, of course, Notes's use of IMAP for syncing

00:23:53   Notes was compatible with that. And what I recall is that with Gmail in particular,

00:23:58   it didn't work well at all. And it was something, something, because if you think about it,

00:24:04   when you think about IMAP and email, a message is usually like, it's like dry ink. Like it's,

00:24:11   okay, I've typed up this message. I've hit send. It goes, it leaves me. And now it's a sent message

00:24:18   on my account. Done. It's sent. I already sent it. I can't go in there and edit it and change

00:24:26   some of the words other than by making a copy of it and resending it. And when I get an email

00:24:33   message from you, it's in my box. I can't edit. I can't just open the message that Neil sent me

00:24:40   and start typing in it and edit it. That's just not, you don't want email to work that way.

00:24:44   But a note is something you just go back to and you can add, add more text, replace. So I guess

00:24:51   IMAP has APIs that ostensibly support that sort of thing, but Gmail did not react well to it. As

00:24:58   I recall, every time you edited a note backed by Gmail's IMAP, you'd get a new copy of the note.

00:25:04   Something like that.

00:25:05   It is possible. It's been a few years now, so I forget some of the details.

00:25:11   Yeah. Yeah. We don't have to go down there and relax.

00:25:14   And it was backed by IMAP. And IMAP, unfortunately, the only way you can really change a message is by,

00:25:20   you can adjust the metadata of a message, but you can't easily change the contents. You basically

00:25:25   have to upload a whole brand new one and then delete the old one and then fake it out and

00:25:30   present it to the user as if no change has happened. And so that actually is one of the

00:25:36   serious engineering challenges when it comes to building an IMAP email client or really doing

00:25:42   any kind of document editing via IMAP. It's not designed for updates of a message.

00:25:49   All right. So here we come to, to me, the key question of this entire interview,

00:25:54   which is, are you crazy?

00:25:56   Yes.

00:25:58   Because what you're saying is your story is you were working on an email client,

00:26:03   a major one used by hundreds of millions of people. I guess if you work, did you work on

00:26:08   the iOS version too before you left or only Mac?

00:26:11   I worked on both. So I started when I first joined, I was on the Mac mail team and then

00:26:20   got loaned to the team that was working on iPad mail for the first iPad. So I worked on that for

00:26:27   about my first year or so at the company. Then I helped shipped Lion and a lot of the new features

00:26:34   there like conversation view. So I was on the Mac side for a while, then worked on Notes for

00:26:41   the first Mac version of Notes. And that was another year or two and then switched into

00:26:50   managing teams as an engineering manager, managing groups that were working on the backend

00:26:57   infrastructure of mail. So I actually got my engineering management start working on

00:27:02   the front end of mail for the Mac and Apple Notes. But then eventually at some point or other made a

00:27:08   transition over to working on the backend frameworks across the both. And in 2017,

00:27:14   it was time for me to do something new. I never really would have thought that I would go back to

00:27:20   working on email. I knew what a difficult problem domain it was. I knew it was really difficult,

00:27:26   even just to get the table sticks working well, I knew would be a lot of work. So I think I had

00:27:33   started to crave working on something that was to be a little bit easier from the technology

00:27:39   perspective. Email is in some ways a house of a tower that has just been built one layer on top

00:27:50   of each other. Everything from the bottom up is just one extension, one addition, one refinement

00:27:58   on top of each other. So it's really complicated. But yeah, it was an interesting two years for me.

00:28:04   Brian Feroldi I ask if you're crazy because to me,

00:28:07   and I speak with some experience actually going back a long time, but hey, I know we should make

00:28:13   a new email client is right up there with we should launch a land war in Asia. It is something

00:28:21   that people often throughout history have thought and it's something people throughout history have

00:28:27   often started and very few make it what I say from personal experience. I think I don't even know

00:28:31   what year it was. But it was like 15 years ago, me and a bunch of friends, Brent Simmons, again,

00:28:37   who we did Vesper with, or I did Vesper with and a few others we thought about start well, we tried

00:28:42   starting an open source Mac, I map client, which we were going to call letters, which I still think

00:28:47   is a very good name. And we got a lot of design and we had a good we had a lot of ideas for how

00:28:55   the app would work and effectively gave up on it because we could not find a good I map engine.

00:29:04   That may or may not be different at this point open source, I don't know. But at the time,

00:29:08   we would need to do our own I map engine. And then it was deemed Well, this is not this is not a good

00:29:13   open source project. Effectively, I mean, and what modern day net newswire is, is exactly what we

00:29:21   thought letters would be if we got off the ground, which is open source, a great app, very, very Mac

00:29:26   like, but and net newswire has its own feed parsing engines, but feed parsing engines are

00:29:33   much, much simpler and as as convoluted and terrible and malformed as RSS feeds can be,

00:29:40   it's nothing like dealing with the morass of I map insta implementations out there. So we gave up

00:29:48   and it was it didn't work. And there have been many, many other email clients over the years that

00:29:53   have not made it so honest to God, I've just let me say this shipping a 1.0 is in and of itself. I

00:30:02   mean, obviously, you want to build a successful company and go from have this be a successful

00:30:06   endeavor. But actually just making something that works is just a remarkable accomplishment.

00:30:13   It really is. Thank you, john. Thanks, john. You're, you're absolutely right that email

00:30:17   clients are sort of extremely, they're definitely difficult to build. And I knew this going in,

00:30:23   I 100% knew this going in. And even knowing what I knew, I, I still underestimated how difficult

00:30:30   and how long and just how much work it would take to build something that was absolutely usable

00:30:37   as a 1.0. The thing about email is that most people have experience with it for decades,

00:30:44   and so therefore have very high expectations. It's not a brand new type of app where you're just sort

00:30:51   of learning some new novel interactions. People have memories of, oh, I used to do this in Eudora,

00:30:56   I used to do this in Outlook, I've been doing this in Thunderbird, Gmail has this feature,

00:31:02   like there's just a lot of them. And they sound simple, like to some degree, it's like, what's so

00:31:06   hard about this? It's a list of messages and you click one and you read it. What's so hard about

00:31:12   that? But it's, that's like saying, what's so hard about building a car? I get behind, I've got a

00:31:18   steering wheel and an accelerator and a brake pedal, and I press the accelerator and it goes

00:31:23   and I press the brake and it stops. And obviously, to build a modern car from first principles would

00:31:29   take an enormous, enormous amount of work and enormous budget. And people would immediately

00:31:35   criticize, oh, it doesn't shift very well from third to fourth gear. People are very in tune

00:31:42   with that sort of thing. And email clients and all productivity software is kind of the same way.

00:31:48   So I think that is really what makes it difficult that a lot of people have very,

00:31:52   very high expectations. And actually the complexity goes a lot deeper than most people

00:31:56   would expect. It's just because there's so much experience that most users have with these sorts

00:32:02   of apps. I don't really think it's possible to build something that's usable in less than

00:32:07   at least a few, a few man years of effort. You could stand up a prototype, sure. But for

00:32:13   something that checks off some of the table stakes, I don't think it's possible to do that

00:32:19   very quickly. You've been using the first person plural, we. So how many people is MimeStream now?

00:32:26   So MimeStream is now five people. It started as just me, but then after I got the public beta out

00:32:33   and then we started getting a lot more users and it was clear that there was demand for this.

00:32:39   That's when I sort of decided, okay, you know what? This is actually what I'm going to really

00:32:44   focus on. I'm going to invest my money into this. I'm going to invest 100% of my time into this.

00:32:49   This is going to be like what I'm really, really going to be pushing for and gunning for. This is

00:32:54   my, I'm all in this. So around end of 2021, started hiring some folks through 2022 as well.

00:33:02   It's been great. We're a small little remote team dotted around the world. And it's been really fun

00:33:08   getting some more folks to work on this. Is it mostly other programmers?

00:33:14   Yeah, you know, right now almost everyone is technical. I have someone that helps out with

00:33:19   support and QA and then everyone else is developers.

00:33:23   I have, I, and I, again, I used to work at Barebone Software and when MailSmith was out

00:33:28   for two years. So I've done technical support for email.

00:33:31   Oh yeah. It's difficult. You get a lot. I mean, we just get so much email every day. It's if I were

00:33:37   to sit and respond to every single message, I would never be able to do anything else.

00:33:42   And one of the things that makes it more stressful is the email is important.

00:33:47   Right.

00:33:48   It really is. And technical support for anything that you pay for is of course very important,

00:33:53   any kind of professional software. But email is up there. People get important emails,

00:33:59   people send important emails and when things go wrong, they're stressed.

00:34:04   Technical support has as emotional support as much as tech.

00:34:10   Yeah, that's definitely there. You know, one of the things that people really like about

00:34:14   my stream is that they can get a hold of us. So when something, if something isn't quite right,

00:34:21   we can take a look at it, help get them unjammed. There is some degree of handholding that we can do

00:34:27   with this. But you know, at the same time, when it comes to productivity software, I think on average

00:34:33   people, they're not very forgiving either. If you, if there's something wrong, like you try to send a

00:34:39   message again, an error, boom, all trust you have in that app is just gone. Like instant, it's eroded,

00:34:47   you no longer trust it. And it takes a very long time to build that all up again.

00:34:52   So that's been, that's obviously a challenge that the expectations of quality are super high

00:34:59   for this kind of productivity app. And it's taken a long time to really make sure that we are there.

00:35:04   And that's obviously a huge priority for us as a company. And it's something that always will be.

00:35:11   I mean, I think that that is just the core essence of the, it's one of the core essences of the

00:35:18   product is a focus on that. I took a look at MimeStream early on, just because I'm interested

00:35:25   in Mac native anything, and I've always been vaguely dissatisfied with Apple mail. And I looked

00:35:33   at it early and I remember thinking, this is promising. And I do use Gmail on the backend,

00:35:39   but I still had this idea in my head, but I kind of want to move my email off Gmail for reasons.

00:35:45   So maybe, and this is early, I'll come back and look at it later. Well, later for me was this

00:35:51   week when the 1.0 came out because the 1.0 came out, I saw a bunch of news. I got a very kind email

00:35:56   from you saying, Hey, we're finally hit 1.0. Here's some of the highlights. Here's a video with the

00:36:01   best features. And I thought, I got to look at this again. And after not having looked at it for

00:36:06   a while, I don't know when it was, it was early. So probably like two or 18 months ago or something

00:36:11   like that, I was just like, wow, like this, I mean, it is a very conservative 1.0, meaning

00:36:20   you really, really waited until it was robust feature rich and then, okay, now it's 1.0. I mean,

00:36:30   I think, and then again, maybe that's not too conservative. I don't know. I'm not saying you

00:36:35   made a mistake because email is so important. And like you said, the reputational harm of having some

00:36:40   kind of bug hit somebody early on, it may not be recoverable, but this is way, most apps are not,

00:36:47   1.0 apps are not anywhere near as featureful, polished and complete as MimeStream 1.0.

00:36:54   SHAYE: Yeah, I think there's, at some point I might want to do like a retrospective on the

00:37:00   journey to 1.0. I've actually thought that it might be interesting for other folks if I wrote

00:37:05   that up at some point, but we did take a long time to get to 1.0. And I think on average, we

00:37:11   made sure that things were a little more polished and there were a little more features out there

00:37:17   than otherwise most people would push for, for 1.0. But at the same time, I think it comes back

00:37:21   to just the expectations and there's like one chance to make a good impression on users. So we

00:37:28   just, we decided to wait and make sure that we could do enough. So sometimes I look back at it

00:37:35   and I think, oh, we should have done this a year ago. And sometimes I look at it and I'm like,

00:37:41   I still feel like there could be so much more. There's still some things missing.

00:37:45   Obviously we're going to be continuously developing this very aggressively over what I hope is the very

00:37:50   long-term horizon. Like I'm looking at this as something that I'm going to be doing for the next

00:37:55   10 years or more. The foreseeable future.

00:37:59   Right. Exactly. That's the way I look at this. Like I'm all in on making sure that we build

00:38:05   Mindstream into being the best email client that anyone's ever tried. That's our mission.

00:38:12   But I think the other aspect of 1.0 that was sort of challenging that we had to keep putting off

00:38:18   was just coming up with the right pricing model for it. And this is something that we had been

00:38:23   thinking about for a long time and had done a lot of research about it. And it was clear that

00:38:33   the market for a prosumer email client was there, but it was also clear that a very specific type of

00:38:42   person that was going to be willing to pay for something like that. And so we had to really

00:38:47   figure out something that was going to work for the business, but also for the product. And part

00:38:51   of it is kind of why we waited to have a larger 1.0 than otherwise most apps would have done.

00:38:58   What is the pricing?

00:39:00   So the pricing is a subscription license. It is $4.99 a month or $49.99 a year. And for launch,

00:39:10   we are currently offering 40% off the annual plan. So that's $29.99 for the first year.

00:39:17   This is something where we tried to price it as aggressively as we could and as affordably as we

00:39:26   could, given the mission that we have in mind and the target user persona that we have in mind.

00:39:32   And this is very difficult for productivity software in general to get the pricing right.

00:39:37   And it's also really difficult as a maker to get it right. As a guy who works on an email client

00:39:44   and has been working on it for years, I want this thing to be as popular as possible. I want as many

00:39:49   people as possible out there to be able to use the app and enjoy it. But I also can't do that

00:39:56   unless I either have a giant VC war chest, which we don't. I'm entirely self-funded. I've invested

00:40:04   a lot of my personal savings into getting this off the ground or I have charged real money for it.

00:40:10   And so we decided to charge real money for it, which of course is targeted towards

00:40:18   the professional and semi-professional users. The folks that are just really light personal users,

00:40:25   like, "Oh, I get some occasional Amazon receipts and stuff like that," there's other great options

00:40:31   out there. There's Apple Mail. I worked on it for a long time. I think it's a great app. It's

00:40:36   a great app for the average user. It does everything that a lot of people need. And I think

00:40:44   we did a lot of research and a lot of thinking and a lot of analysis behind this. So we wound up

00:40:52   where we think is something that is a middle ground and a market that can work for the company.

00:40:59   There's a really wide range of stuff out there. It's funny. You've got some really,

00:41:04   really high-end options recently that are like $30 a month for...

00:41:10   Eric Michael Rhodes I know exactly who you're talking about. You're talking about superhuman,

00:41:13   right?

00:41:13   Michael DeMuth That's right. So you've got that where it's $30 a month

00:41:17   for something that's a really high-end option. And a lot of people swear by that. And then you've

00:41:22   got a lot of stuff that's free or close to free. Gmail itself is free, though not the workspace

00:41:28   addresses. The workspace addresses obviously cost money. And so this is really a little bit about

00:41:33   just finding the right niche for the product. Eric Michael Rhodes

00:41:37   I love the pricing. I think you nailed it. It feels right to me. And I know that the whole idea of

00:41:42   subscription pricing is still and perhaps always will be. It is electric to some people. And I know

00:41:50   my podcast has listened by enough people that there's some number of them out there listening

00:41:55   to us who are like, "Why not give me a lifetime purchase price? I hate subscriptions. Why don't

00:42:00   I have a lifetime subscription price?" Michael DeMuth

00:42:03   Right. And I completely understand that. And I think that ultimately boils down to how you're

00:42:09   using the product. And we did a lot of research behind this before ultimately deciding on the

00:42:14   pricing that we have. And I think if we had priced it with a little lower, with a one-time option,

00:42:21   certainly more people would have come in the door. There's no doubt of that. But it was also really

00:42:27   clear to us that we would not be able to aggressively continue to grow and build the product

00:42:34   without at least hitting this, which we very much believe is the sweet spot for our company going

00:42:40   forward. So I get it. And I think that the folks that aren't interested in that, I think that's

00:42:45   completely reasonable. And if you're using it for personal use, I don't think that's necessarily...

00:42:52   I think there's a lot of other options out there if it's just for personal use. But for people that

00:42:56   are doing it professionally, what we found is that most people that are like, "I'm doing multiple

00:43:02   hours of email a day. Email is my job. Half my day's work is just responding to email." For that

00:43:10   user persona, it's a drop in the bucket for them. So it's really hard because you can't build stuff

00:43:17   that hits everybody's use cases. And we thought about having multiple plans, like free and

00:43:24   pro version. And we definitely thought very hard about that. Maybe someday that's something we

00:43:29   could do. But there's a whole list of reasons why that just wasn't the right fit.

00:43:34   >> What's the demo policy? So if you're a new user, you're a listener, you're intrigued already,

00:43:41   you want to download MimeStream, what do you get as a demo before you pay?

00:43:45   >> Yeah, we try to make this super seamless for people. So you can download it, and there's a

00:43:50   14-day free trial. The trial doesn't ask for a credit card. There's no account creation, nothing.

00:43:55   You just download the app and you just press start trial. That's it. So you can download it and just

00:44:00   evaluate it and see if it's a fit for you. After the 14 days are up, you can either subscribe or

00:44:07   you can go back to Gmail. It's a very simple model. The app doesn't really have any kind of

00:44:13   data lock-in. It uses the Gmail API. Sort of the ethos of the app is to very faithfully replicate

00:44:20   your Gmail account. So everything you do is synced right back to the server. So none of your data is

00:44:26   orphaned in the app if it doesn't work for you at the end of the 14 days. But yeah, we wanted

00:44:31   it to have something that's super low friction. And there's been a little confusion around some

00:44:38   of that, but overall I think people are pretty happy that they can try it without having to

00:44:43   enter their credit card and start the subscription that automatically renews unless you go and cancel

00:44:49   that. We didn't really want to have that kind of pattern. >> Right. We've already delineated some

00:44:54   of the ways that writing an email client, especially a serious professional email client,

00:44:59   is high stakes, lots of work, very complicated, and high pressure because it's very important.

00:45:05   But we can list some upsides. And one of the upsides is that you can use a new client for

00:45:12   14 days. And if you don't like it or choose not to buy, you just stop using it and your email is

00:45:17   just there. You don't have 14 days worth of email that's locked into MimeStream and now

00:45:24   I don't really want to buy it now. I've got to export 14 days of email. No, you just stop using

00:45:29   it, go back to whatever you were using before. You can keep Apple Mail and Gmail running while

00:45:34   you're using MimeStream and everything syncs and is up to date. So it's actually one of the areas

00:45:39   where an email client is actually a pretty fun thing to work on because you can do a demo period

00:45:44   with no lock in, like you said, no lock in at all. >> Right. Yeah. And a lot of people do run

00:45:49   multiple clients simultaneously. I mean, certainly right now everyone's doing it on iOS because

00:45:54   there's no MimeStream iOS yet. So obviously you got to use something else on that platform.

00:45:59   There's a lot of great options out there for folks. But yeah, I think that is also one of the

00:46:05   beauties of email that you can also use multiple tools. There's some folks that will jump into

00:46:10   Apple Mail because it's got some stuff that we don't have yet and they'll jump back to us to do

00:46:15   other things. You can really mix and match and you can't do that with a lot of other tools, but email

00:46:21   is definitely one of those areas where you can very easily mix and match features. >> I want to

00:46:28   steer some of my efforts at Daring Fireball over the next year or two years as like a theme I want

00:46:34   to recur is to sort of gently push my subscription resistant readers into accepting that this is sort

00:46:43   of where indie software has to go. And I say has to, of course there are exceptions, right? There's

00:46:50   some long standing apps like BB Edit, which is not subscription and just you pay for upgrades when

00:46:55   there's a new Datto release and other apps are experimenting. There's two or three that popped

00:47:01   to mind. I think Sketch still does it. I know Agenda, which is sort of a cross between a to do

00:47:08   app and a notes app and a calendaring app. I know Panix, excellent text editor/ IDE, Nova does it,

00:47:19   where you pay for a subscription and if you stop paying your subscription, you keep the features

00:47:27   you've already had. And when they launch new features, you just don't get those features.

00:47:34   Even though your app is updating to the latest version, those features are locked because your

00:47:39   account subs and then if you resubscribe, then you get those features, which is a very interesting way

00:47:45   to do it, but also to me, sounds like an enormous amount of engineering work and internal factoring

00:47:54   work to keep, you know, well, these, all these features are only for people. It's complicated.

00:48:02   I appreciate that they do it and I know it makes some people happy, but it's a lot of work. And

00:48:07   then every single minute the developer team spends on gating those features to when people were

00:48:14   subscribed, every single minute they spend in line of code they write to do that is a line of code in

00:48:20   a minute they're not spending on just working on the app. Right. And I think there's something

00:48:26   there and I completely understand why a lot of people like that model, the paid upgrades model.

00:48:33   There are a few minor issues with it, notably on the app store. It's not especially easy to do that.

00:48:40   So, MindStream iOS is a no brainer for us in the future. It's not going to be a Mac only app forever,

00:48:46   right? So we wanted to have a pricing model that was going to work as we grew and expanded. And

00:48:52   we thought, why offer something that we're not going to be able to offer in the future?

00:48:58   It's just going to make some folks unhappy that we're switching on them. Let's start with the

00:49:03   model that we can definitely stick with over the long run. Because that's one thing. It's one thing

00:49:08   if someone is unhappy about it now, but they haven't paid us, the company, anything yet.

00:49:14   They've just used a free beta. So I get it. But if they've paid for a previous version and then

00:49:19   we switch the licensing model on them in the future, that's where things get a little messier

00:49:25   and people get a little bit more upset and feel like, oh, I signed, I paid for this,

00:49:30   assuming that I continue to be able to have this model available for me. And I get that.

00:49:35   And that was something that we wanted to avoid that situation down the road.

00:49:39   So we decided on this. There's also a little bit of the technology mix that came into play.

00:49:45   MimeStream is written with a mix of SwiftUI and AppKit. And SwiftUI is under some pretty heavy

00:49:54   iteration from Apple. And it's constantly improving. But at the same time, we haven't

00:50:01   actually seen a single macOS update without requiring some degree of adaptation from

00:50:10   MimeStream to continue working correctly. In some cases, there have been some updates that were

00:50:17   like completely brutal for the app. Like it would, there was a bug or I think in macOS 12.3,

00:50:24   you could open up a compose window, type in a bunch of text, hit send, and it would seem

00:50:30   like the message was sent. In your sent, the message had the text there, but then what was

00:50:35   actually sent was blank. And it's like a horrible bug that it was just, it's a complicated list of

00:50:43   reasons why it happened, but it was a very, very minor tweak in the OS that changed.

00:50:50   Now it wasn't necessarily like an API boundary change. It wasn't like Apple just changed the API.

00:50:55   They've got an API contract, but API contracts don't mean that the exact behavior of everything

00:51:02   and the exact ordering of operations remain consistent. It's just an API contract. It's

00:51:08   not a behavioral contract. And so there's an important distinction there. And bugs happen.

00:51:14   Bugs happen. Now, I'm not saying this doesn't happen to apps that were written with more mature

00:51:19   technologies like Objective-C and AppKit. If you're an app that's written purely with that,

00:51:25   sure, this happens. I'm not saying it doesn't. But my experience was that this happened more

00:51:31   frequently with the more modern technology stack that we were using. So that was an issue for us.

00:51:38   Another issue was also the Gmail API and just being able to keep up with that. So while the

00:51:47   API contract is not changing, there were definitely behavioral changes that seemed to be happening

00:51:54   from time to time. And what really clinched the deal for us was in February, I woke up at like

00:52:01   6 a.m. to just a flood of messages in the support inbox. And there was a very, very subtle error

00:52:10   code change that had happened in the Gmail API. And basically, it made the app immediately crash

00:52:16   on launch. And this was just in February. And there was no way to even get the update out.

00:52:22   So we had to send an email blast to everyone and say, "Hey, please manually install this update."

00:52:26   And so that was, we've had a few other problems similar to that in the past, but crash on launch

00:52:34   in a loop was especially bad. That was a really unfortunate case. That sort of nudged us further

00:52:41   towards, "We're an app that's dependent on another company's API. I can't make a lifetime promise

00:52:49   that this experience is going to work because it's not my API. It's not my promise to make.

00:52:56   It's Google's API." I fully understand that there is a risk whenever you build a company

00:53:02   that is dependent upon another company's API. There's no explicit contract between us and

00:53:08   Google that Google's going to keep their Gmail API running forever. I hope they do.

00:53:13   Disaster if they don't. Well, I think first and foremost on people's minds would be Google

00:53:19   Reader, which was canceled. So the advantage you have is Google got rid. It's not that Google just

00:53:24   eliminated Google Reader's APIs and said, "You have to just come to the website." They just said,

00:53:29   "We're getting rid of Google Reader." I don't think there's any chance that Google is going to

00:53:33   ever get rid of Gmail. I don't see how they could. I mean, it's as nonsensical as the idea that get

00:53:38   rid of Google search. Would they get rid of the API? Hmm. I mean, I know so many enterprise SaaS

00:53:46   tools that also integrate with the API that I think it would be a little bit of a disaster

00:53:51   for them if they ever, like an ecosystem disaster, if they ever got rid of it. The larger risk that I

00:53:57   could see is that maybe they could start to charge for it or have other applications like that where

00:54:02   now we'd have to pay for every single call that we make. And the Gmail API is free for us to use.

00:54:07   However, we still have to sort of treat it as a limited resource. Okay. So as a project,

00:54:14   we get 1 billion API queries per day. So we can't just let that all go to waste. So over time,

00:54:23   it's a continuous game of cat and mouse for us. Like every few months, we're like,

00:54:28   "That number is trending up. The number of API queries per day is trending up. We need to do

00:54:32   some work to reduce the number of queries that we're making and make things more efficient."

00:54:37   Hmm. So we've done that several times. Actually, I'm embarrassed to say the night before launch,

00:54:43   I made an additional last minute change to try and reduce the number of queries based to make sure

00:54:50   that we don't trip that 1 billion limit that we have from Google. Now, they do have a process

00:54:57   in place to request more quota. It's not that they don't. It's just that I've already gone through

00:55:02   that a few times and they haven't granted it yet. So they say that they will, but since it hasn't

00:55:09   happened yet, I'm very cautious about that constraint. I'm laughing, but I'm laughing

00:55:14   because I'm crying. All right. All right. Let me take another break here and thank our good friends

00:55:20   at Trade Coffee. I can say that quite literally this entire podcast is fueled by Trade Coffee. I

00:55:26   just had a whole pot of it before we started recording. Trade Coffee, I love this company.

00:55:32   I love this service. What is it? It is a subscription service where you get new craft

00:55:38   coffee delivered fresh to your house. It's a coffee service and it makes it so simple

00:55:43   to discover new coffees from over 55 top indie roasters around America. And it enables you to

00:55:51   make your best cup of coffee at home every day. They have a matching algorithm that curates coffee

00:55:57   perfect for you. So you get started. All their coffee is good. I've been using this for over a

00:56:02   year at this point. I've never had a bad bag of coffee from them, but you get the coffee and then

00:56:07   you get an email a week later and it's like, "How'd you like that coffee?" And you can give it a

00:56:11   rating. And then they use that to sort, "Oh, this one got five stars. This one didn't. Give them

00:56:17   more coffee like this." And now they've got my taste profile dialed in. The last six months of

00:56:24   my Trade Coffee have been even more enjoyable than the first. And I like the first, but the algorithm

00:56:29   really works. And it's roasted fresh to order. Fresh coffee is better coffee, according to my

00:56:36   notes here from them. I'm telling you right now, coffee is like produce. It goes bad. It really

00:56:42   does. You can't see it, but when you buy stuff on the shelf at a supermarket and it's whole beans

00:56:47   and it's been sitting there even for just like a month, it is way different than coffee that was

00:56:52   roasted three or four days ago, which is what you get from Trade Coffee. Fresh roasted coffee,

00:56:57   they seal it up, put it in a bag, mail it to you, and it's at your door, ding dong delivery.

00:57:03   Here's your coffee. And it's like three or four days old from when it was roasted. It is just

00:57:08   terrific. It's hassle-free, free shipping, customizable plans. You can adjust and tweak

00:57:14   how much you get, how often, on the fly, whenever you want. If you're going on vacation,

00:57:20   you can postpone a shipment. You can cancel at any time with no hassle whatsoever. So,

00:57:26   upgrade your morning routine with Better Coffee right now. Trade is offering listeners of this

00:57:31   podcast a free bag of coffee with any subscription. Just go to www.drinktrade.com/thetalkshow.

00:57:39   That's www.drinktrade.com/thetalkshow. Get a free bag of coffee with any subscription purchase.

00:57:46   My thanks to www.drinktrade.com/thetalkshow. All right, before we move on to Mac stuff,

00:57:53   which is really, I don't want to let go. When you first said, "Okay, I'm going to do this. I'm going

00:57:59   to get serious. I'm going to go full time. I'm going to make this client." When did you zero in on

00:58:05   Gmail? What if I made a Gmail-specific client for 1.0 as sort of the differentiating feature?

00:58:12   That's a great question. So, ultimately, I think it was another thing that just wasn't my initial

00:58:19   intention to do that. I initially wanted to do something that was like a little bit of a

00:58:25   reinvention of the email experience. So, initially, I was thinking about doing something that sort of

00:58:31   mashed together email and chat into one thing and sort of lets you sort of seamlessly move between

00:58:38   like long-form and short-form communication. Because to some degree, it's like we use two

00:58:44   different services, two different apps, two different ways of typing to each other. And

00:58:49   one is just very short messages and the expectation is a quick response and one is a longer message.

00:58:54   And the expectation is a shorter response. I actually did a lot of mock-ups and I was

00:59:00   showing friends and other people that I knew were kind of like email geeks about this. And everyone's

00:59:05   like, "Yeah, yeah, yeah. That's great. But can you just make an email client that syncs quickly

00:59:11   and works well with Gmail search?" And I was like, "What? No." It came to mind that like,

00:59:18   it reminded me of that Henry Ford quote. If I'd asked people what they wanted, they would have

00:59:23   said faster horses. I was trying to show people cars and people were telling me, "I don't want

00:59:30   your car. I want a faster horse." And so for a while, I dismissed it. But ultimately, I just

00:59:36   kept hearing that over and over again. And I realized I can't ignore this. And so that really

00:59:42   is actually kind of the key thesis behind MimeStream. It doesn't try to reinvent email.

00:59:49   It tries to do email really, really well. And that's what we're going to continue to try to do.

00:59:56   There's a lot of services out there that I think do try to reinvent email. Hey, for instance,

01:00:02   is a really great example of that. And they've done a fantastic job of that. And I applaud that.

01:00:08   And there's a certain type of user that I think that is a really great fit for.

01:00:12   But there's also a lot of people out there that just don't want that to change. They don't want

01:00:18   their core email workflow to change. They just kind of want to get through it just a little bit

01:00:23   faster and a little bit smoother. And I happen to think and hope that there's a large pool of

01:00:30   like-minded users out there that have that same sort of desire and wish. And that's the audience

01:00:36   that we're building for. MimeStream 1.0 finally does include some stuff that's a little bit

01:00:42   MimeStream specific. We have this new profiles feature that allows you to group multiple accounts

01:00:48   together, sort of treat them as different sets. And that's something that is a little bit unique

01:00:54   on the Mac, at least, to MimeStream. But by and large, we try to be a really faithful to Gmail's

01:01:04   kind of feature set and just faithfully merge the power of macOS with the power of Gmail.

01:01:11   How do you find the Gmail API? It exposes a lot of functionality. There are some pros and cons to it.

01:01:18   There's definitely some things that you would be surprised to hear that IMAP does better. But

01:01:25   on the whole, we were able to deliver a lot of other features. Like we're able to support

01:01:34   labels on a very first-class basis with all their colors. You can change their visibility settings.

01:01:39   You can make them visible or not visible in the message list, visible or not visible in the

01:01:43   sidebar. You can apply multiple labels to one message. You can create server-side filters in

01:01:49   MimeStream. Those sync right back to Gmail and that will categorize and tag your messages as

01:01:54   they come in. And we can get access to the message category so you can have those same promotions,

01:02:01   social updates, forums, tabs for your inbox that you have in the Gmail web UI. You can have that

01:02:07   in a real Mac app. It gives us access to things like the Gmail aliases that you use. And there's

01:02:16   a subtle distinction between using Gmail aliases and setting it up just as a different address in

01:02:23   another IMAP client. There is a subtle difference there in that using the real Gmail alias is a

01:02:29   little bit better for deliverability. Because if you have your address set up and it's going through

01:02:35   the actual SMTP server of the domain that you're sending from, you can have de-KIM signing and

01:02:42   basically have better deliverability of that message compared to just sending it through

01:02:47   the Gmail SMTP server. But that's one other example of a way that we try to integrate it

01:02:53   a little bit better into the ecosystem. It gave us access to the Google APIs as a whole,

01:02:58   gave us access to things like when you're writing a message back and forth with people you're

01:03:04   communicating with, we can automatically fetch their public Google profile photo and show that.

01:03:10   So you don't have to set that up in contacts and have your own photo for people who are

01:03:15   automatically fetching them. If you get a calendar invite, we have the little banner that allows you

01:03:20   to do a one click, like just "Yes, accept." And it doesn't open up a browser tab. It doesn't take you

01:03:26   out of context. You just click "Accept" and you're done. And so there's a lot of niceties that have

01:03:32   come through the Gmail API and the other broader Google APIs as a whole. The main downside to it

01:03:39   is that for high volumes of requests, it is not very efficient for high volumes of requests.

01:03:49   So MimeStream is a limited-cash client partially due to that restriction. So it's not like a lot

01:03:57   of other clients that basically download a full copy of your entire account and store every single

01:04:04   message locally. If you're looking for full offline access right now, you got to use something

01:04:10   else right now. And so that's the one part that's a little tricky for us. We've already been exploring

01:04:16   using both IMAP and the Gmail API in harmony to basically have the best of both worlds in

01:04:25   these few edge cases where one works better than the other. And that's something we are

01:04:31   definitely going to be doing in the future, especially as we start to branch out of just

01:04:36   Gmail. But on the whole, it's been a good experience.

01:04:40   It's one of those things that as the whole world has transitioned, and I know that calling

01:04:47   everything the cloud is sort of a marketing term. I mean, it's just servers and clients. But

01:04:52   as cloud computing has become more robust and the default for more people, especially younger

01:04:59   people or people who spend their "desktop" time really just using web apps, everything by

01:05:07   definition is in the cloud. Or at least it doesn't make any sense if you're using Gmail by typing

01:05:15   "gmail.com" in your browser, you don't expect to have your entire Gmail archive stored locally.

01:05:22   You'd be furious. You'd be like, "Why in the world would you do that?" But that's how Apple

01:05:28   Mail works. Like Apple Mail, you sign up with a new IMAP account and it downloads all of your

01:05:34   mail and there's a local copy of everything that's kept in sync. And I don't know, at some point it

01:05:39   was like, "Well, of course, 20-some years." I guess Apple Mail really goes back before Mac OS 10 to

01:05:46   Next. It's derived from the Next mail client. So, I don't know, there might be code in there that

01:05:53   goes back to 1989. I don't know, but it's close. And it makes sense. There's some uses. It made

01:06:03   sense at the time that you'd want all your mail downloaded. I think today, no. And especially with

01:06:09   Gmail, or maybe optionally, if you're saying that you might make that an optional feature. I mean,

01:06:14   it certainly wouldn't hurt to have it. But I think most people would be surprised to learn that their

01:06:19   Mac downloads all of their mail. Yeah. And I think there's definitely valid use cases for it, for

01:06:26   having a full copy of everything that you can use truly offline. And I think that was more important

01:06:32   10 years ago than it is now. Even these days, if you're getting on a plane, most people just tend

01:06:38   to just, if they're trying to actually do email, they're just going to pay for the eight bucks for

01:06:42   Wi-Fi or whatever, and just be able to send and receive emails. MindStream does support offline

01:06:48   use. You can send messages, you can read, file, and all of that. Every single thing that you do,

01:06:54   it writes it to a journal. And then when you come back online, it will replay all of those actions

01:07:00   to the server. But if you try to scroll to really old messages from 10 years ago, and it's not

01:07:07   already cached by our adaptive caching system, if that's not already there, you can't fetch it

01:07:13   when you're offline. And we sort of thought that would be the right middle ground between the two

01:07:18   of still letting you do stuff offline if you just happen to be on a plane and you just want to

01:07:25   respond just a few emails or just read some and you don't want to pay for the Wi-Fi, sure,

01:07:29   you can do some things offline and it'll just continue to work right as soon as you come back

01:07:35   online. But in the future, we've gotten a few requests for full offline mirroring. I wouldn't

01:07:41   say it's a lot. I get it. I just find that, like you said, even on an airplane, which is like the

01:07:49   sort of canonical example of I need offline access to blank, it's just less of a problem than it ever

01:07:55   was before. And it's, I don't know, it's been a while, it was pre-COVID the last time I was on a

01:08:00   cruise ship. Cruise ships are probably the last bastion of really terrible Wi-Fi that, you know,

01:08:06   but it's sort of the point like, hey, how about I get offline for a week and sail the Caribbean or

01:08:11   whatever. All right, let me take one last break here. Thank our third and final sponsor. And then

01:08:16   I want to talk Mac stuff. And our third sponsor of the day is our good friends at Memberful.

01:08:20   Memberful is where you as a creator can monetize your audience with memberships.

01:08:29   Memberful's analytics give you an easy to use in-depth view of what's working, what's not,

01:08:35   and where to double down to build your subscriber base. And what you, maybe you're a YouTube creator,

01:08:41   maybe you're a blogger, maybe you're a podcaster. You want to set up something with a membership

01:08:46   system where people can pay to access your content. Their analytics tell you what is it

01:08:51   that the people who are already paying, what are they using? Are they reading the newsletter and

01:08:55   not listening to the podcast? Is it vice versa? Do you need to change something? They let you know

01:09:00   what works, what doesn't. And it is just the easiest way to sell memberships to your audience

01:09:05   and let you build a sustainable recurring revenue. And it is used by some of the biggest independent

01:09:10   creators on the web. And they've got everything you need. Number one, you stay in control of your

01:09:18   membership list. If you ever want to leave Memberful, you can just leave. You take your

01:09:22   subscriber list with you. It's all yours to take. It's not logged in. The branding always puts your

01:09:29   brand first. People who subscribe may not even know it's going through Memberful. That's just

01:09:34   how quietly behind the scenes the whole thing is. It's not like Substack, for example, where

01:09:39   everybody knows it's Substack this, Substack that. Memberful is the complete opposite. Your brand

01:09:44   stays first and foremost. They stay in the background. But they provide all the stuff

01:09:48   you would want. They help you with the newsletter or the podcast. They offer gift subscriptions.

01:09:55   They have Apple Pay support, of course, free and paid trials, automatic referral discounts,

01:10:00   if you want to have something like that where your members can get a discount by referring other

01:10:05   people to join. All of it. And they integrate with all the tools you already use, including

01:10:10   MailChimp, WordPress, Stripe for payments, Discord, if you want to have a Discord server for members

01:10:17   only. They help you set that up. All of that is right there baked into Memberful. I pay for a

01:10:22   slew of Memberful memberships every month. I'm happy to do it. Six colors, max stories, the list

01:10:28   goes on and on of the great, great services that use Memberful that I use. You can get started for

01:10:34   free with absolutely no credit card required by going to memberful.com/talkshow. Know the,

01:10:43   just memberful.com/talkshow. My thanks to Memberful.

01:10:47   So to me, the most distinguishing feature of MimeStream or I would say even more than the

01:10:53   Gmail specific focus is the fact that it is a terrific Mac app, first foremost only really at

01:10:59   this point. And that's. I'm going to say depressing in some ways, I don't I don't think I think the

01:11:08   Mac is as a platform is in a very strange position. I don't. The Mac is thriving. Mac sales are up

01:11:14   the highest they've ever been. There are more active Mac users than there have ever been.

01:11:20   I would say Mac hardware is the best it's ever been. It's incredible. It's and their commitment

01:11:27   to Apple Silicon is just amazing. No company would ever do something like this if they weren't

01:11:31   committed to it for the long haul. I think we're going to see some exciting pro hardware

01:11:37   announcements at WWDC in a couple of weeks. I I think I don't know it's going to go on sale.

01:11:44   I think we're going to finally hear about the Mac Pro Apple Silicon story.

01:11:48   If not, people are going to sure be wondering when we will. But.

01:11:52   All that good news as a Mac user who wants to see a bright future, we see few I see fewer and fewer

01:12:02   truly first class new Mac apps being created and. I worry about I can foresee a future where

01:12:12   true what I think of as a true Mac app is is dying out and the but Mac OS and Mac hardware thrives as

01:12:20   just as a client for doing stuff on the web and using catalyst style apps and stuff like that.

01:12:28   You know, again, I don't want to get into a whole well, although we could talk about it and see if

01:12:32   you considered catalyst or why you chose app kit. Yeah, it's a it's a good question. I think why the

01:12:39   Mac is something that I've heard a lot of people ask. I think a lot of companies that are looking

01:12:44   to build even truly native apps for Apple's platforms tend to start with iOS just because

01:12:49   the user base is much, much larger. And I definitely thought about that in the early days.

01:12:55   I was like, do I make this an iOS app first or do I make a Mac app first? I've got to pick one

01:12:59   platform first. Ultimately, I chose the Mac because even though it's the much smaller platform in

01:13:07   terms of user base, because that's the platform where I thought that we could make the biggest

01:13:12   difference. And there's already Gmail iOS on iOS. So if you really are deep in the Gmail ecosystem,

01:13:22   you can use the first party Gmail app to get some of those extra features if that's what you're

01:13:28   looking for. And that didn't exist on Mac OS. There's no official Gmail map for Mac OS. So

01:13:35   we thought, okay, that's a that's a process for us. The other thing that really struck me was that

01:13:40   I knew it was ultimately going to be targeted towards kind of the prosumer user base rather

01:13:48   than just like the lightweight personal users. And if you are actively doing like an hour or two

01:13:55   hours of email a day, like I can't imagine doing all my email just on my phone. I mean, I do some,

01:14:04   for sure. I've read everything. I'd say I read more email on my phone than I read on my Mac.

01:14:09   But I tend to respond through the Mac most of the time just because I got my keyboard, right? The

01:14:16   real physical keyboard just makes the whole thing a lot easier. And I can drag and drop files in,

01:14:22   drag and take screenshots and do all that like nerdy stuff that I need to do to put together

01:14:28   nice responses. And so I tend to write mostly on the Mac. And people that I've talked to also tend

01:14:34   to agree that if you're doing serious volume of email, like if you're doing any sales, if you're

01:14:40   a founder, manager, real estate agent, these sorts of roles where you're communicating with people a

01:14:45   lot that just doing it on a laptop is just a much better form factor than pecking away on a phone

01:14:49   keyboard. Not to say that people don't do email on the phone. People do way more email on the phone

01:14:55   than they do on the Mac. It's just the volume of emails sent for that. That's where we decided to

01:15:04   focus on the Mac first. I'd be lying if I didn't admit to just kind of liking the Mac as a platform

01:15:11   myself too. It's kind of where my heart is a little bit to some degree. I really love the

01:15:19   platform. I think it's the best OS out there. I really enjoy doing things on the Mac. And I just

01:15:26   really like Mac apps, like native, tight Mac apps. They're just something I just love. I just love

01:15:32   using them. And so I decided also to mix in a little bit of that personal emotion into it as

01:15:38   well. It wasn't just completely a strict business decision. But I think looking back at it, I still

01:15:44   feel like it was the right move. I feel like it was a missing feature set. If we had launched on

01:15:50   iOS first, then MimeStream would be competing against Gmail iOS. And while there are a lot

01:15:57   of people that want MimeStream iOS to replace Gmail iOS on their phone, I think it's less of a

01:16:05   distinctive difference. And it's just such a huge market and people just have such deep, steep

01:16:13   expectations of what they're getting out of productivity software that I just wanted to pick

01:16:19   an area where I felt like we could actually have a really kind of unique selling point.

01:16:25   I get what you're saying. And I think if you took somebody and somehow did like a Truman

01:16:31   show style experiment and put somebody in a world where they had no access to any computing device

01:16:37   other than an iPhone and never knew what it was like to use a laptop of any kind. And all they

01:16:42   have is an iPhone and that's all they've ever learned. And they know email and they can do

01:16:46   email and they can get think that they're very efficient on email on their phone because it's

01:16:51   all they've ever known. That's different than somebody who, you know, in the real world where

01:16:56   somebody knows just how efficient you can be with a real keyboard on your fingers and an OS. And

01:17:03   again, not to throw the iPad under the bus, but an OS where you can look at things side by side

01:17:09   easily and command tab switching is very fast and drag and drop just is always available.

01:17:16   So if you know how efficient you've the most efficient you've ever been at email,

01:17:21   like when you're like, oh, I was, I took a long weekend and I'm coming at Memorial day, like now,

01:17:27   and I'm coming back in Tuesday and I've got 157 new emails in my inbox. What's the fastest way

01:17:33   to go through it? You, nobody's going to say the phone is the fastest way. Like whatever your

01:17:38   fastest, most efficient you've ever been at email has been, I can almost guarantee it. It's been on

01:17:45   some kind of desktop OS, whether it is in a browser app like Gmail, if you're a superpower

01:17:51   user of all their little shortcuts and stuff or whatever, it's probably a desktop OS. And I think

01:17:57   for a pro tool optimizing for that is a great, is the way to start where you're trying to take that

01:18:02   to the highest level it's ever been like, oh, however efficient you've ever been in the past,

01:18:07   try MimeStream, you'll be even more efficient. Right, right. And I think it's obviously designed

01:18:13   for people that need to send and respond to a lot of email. And so that's where just starting on the

01:18:18   Mac, just, it just made sense. So there's, there's also the open question of why Mac native

01:18:25   technologies and why not do something cross-platform like an Electron app,

01:18:29   which would have enabled us to ship on windows as well at the same time. And I wouldn't lie if I,

01:18:37   I'd be lying if I said, I didn't think about it in the beginning, but that was, there's just two

01:18:42   reasons I didn't really even seriously consider that. One, that was just not where my heart was

01:18:46   in terms of making a product, right? I wanted to build a Mac app because that's, that's what I

01:18:53   enjoy using. And there's a whole list of reasons why I enjoy using it, right? So, so much lighter,

01:18:58   so much more integrated in the OS, but there's also just something nice about it fitting into

01:19:04   the platform and feeling like it's a part of the platform that I really like. And two, I felt like

01:19:09   if we just made something that was effectively a web app, just packaged up into Electron,

01:19:16   it almost was like, what would be the point of doing that? Like, why would you then not just

01:19:22   go use the Gmail web UI? Like what would be the sort of core essence of that product that to me

01:19:30   would then require us going in, in more of the like reinvent email direction. Like, Hey,

01:19:36   like Hey did it right. Like, like, like Hey, and trying to like reinvent some of the workflows

01:19:41   around there. And we're really trying to not disturb people's workflows too much. We're trying

01:19:46   to do them really, really well. So we're at the opposite end of the spectrum from something like,

01:19:49   Hey, I spent a whole year when Hey came out, I moved my public address. The one that's now

01:19:55   commented during fireball.net again, and is back to being backed by Gmail. And I'm using

01:20:01   a Mime stream now for it. But I spent a whole year where I switched to Gruber at Hey.com. But I used

01:20:08   Hey for a whole year for that. And I there were parts I liked, I loved their screener feature,

01:20:13   where I could screen out so much PR, which I don't want in the label to spam because it's not spam.

01:20:19   But I don't, I don't want to ever hear from these people again. And it was great. But the the

01:20:23   ultimate and their iOS app was okay. But the deal breaker for me was the Mac. And I just could not

01:20:30   abide using either the web interface or their electron wrapper for their app, which is as good

01:20:35   as it can be for that. And if I needed to use Windows, like I would be all over Hey, I would if

01:20:42   I wanted to access my personal email from a Windows machine while I worked on it or something like

01:20:47   that. It's it's terrific for that. But it's because my brain and my personal habits are so deeply

01:20:55   ingrained with Mac OS and app kit idioms, like services, menu items and drag and drop and just

01:21:03   having things work the way I expect a Mac app to work without thinking right like I'm so ingrained

01:21:09   in it that I know the way a Mac app should work. And so like, part of my excitement with Mime

01:21:14   Stream this week and getting back into it is every time I'd guess like, well, what if I control click

01:21:19   on this and get the contextual Oh, yep, there's something Oh, look at this cool feature, filter

01:21:24   messages like this. Oh, what does that do? Oh, wait, here's a powerful filtering UI where I can

01:21:31   pick which fields based on the email I just picked. I want to filter all the emails that are sent

01:21:37   to this address because it's a mailing list. And what do I want to do with it? I want to add,

01:21:41   boom 123 actions, take it out of the inbox. Market is red and done. Oh, and yes, do I want to apply

01:21:48   it to all of the messages already there? Yes, boom, done. They're out of my inbox. Boy, that

01:21:54   was easy. And it was exactly what I expected as a Mac user control click, filter messages like this,

01:22:00   boom, and go and fast, fast, fast in ways that to me, web apps never are. And again, I'm not putting

01:22:07   that I am putting them down, I guess, but I understand, but I understand the upside of it,

01:22:13   right? I understand the fact that I could sit down at any computer in the world and go to hey.com and

01:22:17   get my hey email in a familiar interface. I don't need a Mac for that. And that is an advantage.

01:22:22   But for me and the way I live and the way I work, it's not, it's a disadvantage.

01:22:27   Yeah, I think it depends on the user. I think obviously, hey is a really amazing product with

01:22:33   a lot of really clever ideas in there. And I think if you're the kind of user that can get your head

01:22:38   around all of those, then I think it's a great option. My stream is just totally at the opposite

01:22:43   end of the spectrum from that of just trying to be as familiar as possible. Like we follow

01:22:49   all of the macOS human interface guidelines, like pretty much we try to follow it to a T, to

01:22:56   whatever extent is possible. And the upside to that has been, it's really easy for people to find

01:23:03   their bearings. Like they open the app and they're like, oh, this, I know how to use this. This

01:23:07   reminds me of the apps I've also used from Apple. This reminds me of messages. This reminds me of

01:23:14   notes. This reminds me of mail. There's a lot of familiarity here. It just follows the patterns

01:23:18   that Apple has published. And so actually we've got basically no help articles even yet. We're

01:23:24   just like very early in our process, but we actually have not found that to actually really

01:23:29   be a problem. Very few people write in asking how to do something. And that's just because it just,

01:23:37   it matches what you would expect if you've used other apps that are part of the system.

01:23:41   It's the old Mac mantra that goes all the way back to the 80s and the original Mac,

01:23:47   that consistency is an advantage for users. And that once you've learned how to use, I mean,

01:23:54   back in the day, once you learned how to use MacPaint and MacWrite, and then you tried MacDraw,

01:23:59   you were like, oh, this is the, all these things that should be the same are exactly the same,

01:24:04   except now I'm doing vector drawings. And the only things that are different are the things specific

01:24:09   to the domain of the app itself. And the thing that I think gets so overlooked in the modern

01:24:17   world, where that's sort of fallen by the wayside and with so many developers and with web apps not

01:24:23   having any one true, hey, and again, we can argue about how much Apple's own stuff follows the human

01:24:31   interface guidelines, but there is, but there are, it's so much more like language, like

01:24:39   English grammar or any language where, yes, the HIG is like a grammar guide or a dictionary,

01:24:44   and you can refer to it and look up like, oh, how am I, how far, if I have three buttons in a

01:24:49   dialogue, how am I supposed to space them ostensibly? But for the most part, you learn it

01:24:55   like a language and human brains pick up on idioms in the same way that they pick up on grammar,

01:25:03   and the same way you pick up on social cues, like, and if you go, if you join a new organization and

01:25:10   you're, it's the first time you go to a meeting and you're, it's all unfamiliar, you pick up on,

01:25:17   oh, I see what people do and now is, this is how they behave here, this is when people speak up or

01:25:23   whatever, and then two or three meetings of the club or group or whatever it is in, you intuit

01:25:29   how it's supposed to go. And that's how great Mac software works, is even if you're not a developer

01:25:36   or designer who's making it, you're just a user, your brain absorbs those things and then you don't

01:25:43   have to think about it and you really do gain an intuition as to how an app like MimeStream works

01:25:49   without reading a help guide or watching a five minute, here's how to get started video.

01:25:55   Right, right. And I think, I think that's one of the key benefits of making something that is

01:25:59   really deeply platform native. It's just that users have a really easy time getting up and

01:26:04   running. You know where to expect if you want a specific setting, probably where to look for it.

01:26:10   If you want to do a specific action, if you want a specific keyboard shortcut, probably what it is.

01:26:15   And so there's a lot of just that consistency that pays a lot of dividends in terms of getting up to

01:26:20   speed with the app. So you mentioned that it is a mix of AppKit and SwiftUI. And I know for our

01:26:26   non-developer listeners, it's a little confusing. SwiftUI is a framework and it's cross platform all

01:26:33   the way to the watch even. And if you're doing SwiftUI, you absolutely are using the Swift

01:26:38   programming language. But if you're using the Swift programming language, you might be writing

01:26:43   SwiftUI, you might be writing AppKit on the Mac or on iOS, you might be writing UIKit, right? Which

01:26:49   are the three main frameworks, ways of organizing an app. Is MimeStream all Swift or is it a mix of

01:26:59   Swift and Objective-C or? It is like 99.9% Swift. Just in a few minor cases where Objective-C was a

01:27:08   slightly better fit, we fell back there. But the vast majority of the code, at least we've written,

01:27:13   is all in Swift. In terms of the SwiftUI, Swift split, there are bits and pieces of the main

01:27:20   window that are SwiftUI. We've got those profile switchers, parts of the sidebar, parts of the

01:27:27   cells. They're all in SwiftUI. The settings window is all SwiftUI. And there's other parts of the

01:27:33   application that we're switching over to. Ultimately, we're going to be moving completely

01:27:38   to SwiftUI. And we've started development on MimeStream iOS, although that's still some time

01:27:45   away. It's still in very, very early stages. MimeStream iOS is SwiftUI through and through.

01:27:51   And while I'm not sure that we would be unifying the entire front-end stack for the first release,

01:27:59   at least for the iOS side, I think it's mature enough that we would be going all in on that

01:28:04   for iOS. And that's very clearly the future of development on Apple's platforms. And that's also

01:28:10   clearly the future of MimeStream. That answer seems so pragmatic, which it does not surprise

01:28:18   me. To me, you're a very interesting person. You were inside Apple. And so that gives you a sense

01:28:25   of where Apple is going. And you said, though, you got into this project with MimeStream with

01:28:31   at least a 10-year horizon, foreseeable future horizon. This is built, hopefully,

01:28:36   for the long run. And so that's interesting, which you do have the advantage of starting,

01:28:41   or had the advantage a few years ago when you started, of starting from scratch with

01:28:45   modern, entirely a code base that only goes back to what, 2019?

01:28:50   Yep. Right.

01:28:52   As opposed to Apple Mail, which has a code base that goes back to 1989.

01:28:59   And eventually any successful app will run into this problem. It's just like human beings, right?

01:29:05   You either die young, which is tragic, or you get old and your body starts falling apart, right? I

01:29:10   mean, either your app doesn't make it, or eventually you've got technical debt that you've got to take

01:29:17   care of because your app is old and successful, right? I mean, I have friends who work at Adobe

01:29:22   and on Photoshop, and they laugh sometimes at some of this stuff. But it helps. I mean,

01:29:28   one of the—just a side note, but back in the day when RAM was starved on Macs and PCs, like,

01:29:38   say, 1991, 1992, and Photoshop is like 2.0, they had their own, effectively, virtual memory system.

01:29:45   They called it a scratch disk, but you could plug in an external hard drive and say, "Use that hard

01:29:49   drive as scratch for Photoshop," because there was nowhere near enough RAM. And of course, that code

01:29:55   wasn't used anymore. But then they wanted to make Photoshop for iOS, where RAM is limited. And

01:30:01   they're like, "Hey, we've still got a really good virtual memory system in our code base. We haven't

01:30:06   used it for decades." But there it is. And it was like, "Oh, this is really fast now because iPads

01:30:13   have really fast SSDs. This is remarkable." There it was. But that's what happens when an app is

01:30:19   successful. Ted, it is amazing how working on a mature code base, there are often

01:30:26   multiple different ways to do the same thing, and they can often be used as alternatives in

01:30:32   different situations. I've definitely encountered my fair share of that.

01:30:36   Mindstream does have the advantage of being relatively fresh. 2019, so it's all Swift from

01:30:44   the ground up, which has been amazing. Love Swift. It's been just amazing to develop in.

01:30:50   SwiftUI was sort of... When did it come out? For Mac OS Catalina, which would have been 2019 as well?

01:30:56   Yeah, it was the last in-person WWDC before COVID, so it was 2019.

01:31:02   Right. And so by that point, I had already built up the main window UI with AppKit. And SwiftUI,

01:31:09   while 1.0 was a very solid release actually, it felt like a little bit of a stretch to try and

01:31:17   switch a Mac app completely over at that time. It's clear to me that Apple's priorities with

01:31:23   SwiftUI have been to make it really great for iOS apps first, and then Mac OS apps is sort of the

01:31:29   thing that they're getting to as the framework evolves and matures. And it has come a long way

01:31:36   in the last few years. If I were to write the whole thing from scratch today,

01:31:41   there's no question in my mind that the whole thing would be SwiftUI top to bottom.

01:31:46   Interesting. There's a lot of places where you're going to need to fall back to the legacy

01:31:50   frameworks like UIKit and AppKit, and SwiftUI makes that super easy to do. You can mix and

01:31:56   match. I mean, we've got code that takes SwiftUI, wraps it up in AppKit, and then takes that AppKit,

01:32:02   and then wraps it back in SwiftUI. You can bounce back and forth, and you can do some pretty crazy

01:32:07   things, and it all works super, super well. So my hat's off to that team. They have made incremental

01:32:14   adoption really easy and really straightforward. It sounds like Apple is taking similar approaches,

01:32:20   I know, from people who've been poking around at the internals of the new Final Cut Pro and Logic

01:32:26   Pro for iPad. Now, it wouldn't be AppKit because it's iPad, but it's a mix of UIKit and SwiftUI.

01:32:32   But it seems like a lot more SwiftUI than you might think, or one might think, if you still

01:32:38   think SwiftUI is not ready for prime time. But as an interesting sign of where Apple itself is going

01:32:45   pragmatically to ship best of breed iPad apps right now, it seems like they're leaning on

01:32:52   SwiftUI as much as they can. Yeah, and you know what Apple themselves are saying,

01:32:57   SwiftUI is the best way to build an app nowadays. Or to build a new app, right? They kind of

01:33:03   emphasized that. They're not asking people to rewrite like they did with Cocoa 25 years ago.

01:33:10   I think it was a little bit of a paradigm shift, but now I just really enjoy writing SwiftUI now

01:33:19   compared to writing AppKit. There's an entire class of bugs that a declarative UI framework

01:33:26   just automatically takes care of for you, and it's just so nice. Now, obviously, there's a lot of

01:33:32   walls that you run up against that I think as the framework matures, they'll continue to work out

01:33:39   some of those more difficult corner cases. But there's always a great fallback path that has

01:33:45   been great for us so far. Yeah, what I hear, and again, I can't speak from firsthand. I don't

01:33:50   write code or much anymore. But when UIKit first came out in 2008 in the App Store, UIKit was very,

01:34:00   very familiar to AppKit developers because it was like a subset of AppKit and a modernization of

01:34:07   certain things in AppKit. And the frustration I heard from my developer friends was just when

01:34:12   they'd run into those places in UIKit that didn't exist yet, and AppKit had stuff. And they're like,

01:34:19   "Oh my God, this would be so easy in AppKit because AppKit has this built in." And UIKit didn't have

01:34:24   it yet. But conceptually, they got it. Whereas SwiftUI is just this declarative framework concept

01:34:31   is just like pulling it inside out of how you do it conceptually. And so it's not like a subset.

01:34:40   It's just a different way of thinking and doing things. And I hear it from everybody. You just

01:34:44   said it where it's like you run into these areas where something is hard or difficult or even not

01:34:49   possible in SwiftUI, and it would be elsewhere, and you're frustrated. But every single developer,

01:34:53   everyone I think I know who's really kind of dove into SwiftUI, even though they have complaints

01:34:59   and they run into those limits and it's still evolving, they're like, "I can't imagine going

01:35:03   back." Yeah, I mean, there's no question. It's the future of development on most platforms.

01:35:11   Even on the Mac. You can create some really nice SwiftUI apps on the Mac. And there's a subtle

01:35:16   distinction between a SwiftUI for iOS running on Catalyst versus a SwiftUI app running directly as

01:35:24   a true Mac app. But when you have SwiftUI running as a true Mac app, you can't tell the difference.

01:35:30   Everything feels completely right. So I think they've done a great job with that. And I'm

01:35:36   really looking forward to this WWDC and the further improvements that I'm sure we're all

01:35:40   going to be seeing. Yep, I agree too. I don't have anything else for you. Is there anything else you

01:35:46   want to call out? Anything you want to mention that I didn't ask you about? Or is that about

01:35:51   wrap it up? I think that about wraps it up. I'm hoping to really see people give MimeStream a shot

01:35:59   and see if it works for their use case. And I'm really looking forward to being able to

01:36:07   continue to develop that. And for us, this is very much the start of what we think is going to be a

01:36:16   long-term journey. And I think that there's a market out there for users that need something

01:36:24   like MimeStream. And I'm really looking forward to fulfilling our mission. I'm optimistic, honestly.

01:36:30   And it's not just because you're here and you're kind enough to give your time to the show.

01:36:34   But I think, A, the Mac isn't going anywhere. I do think there's a place. I think even though

01:36:41   we're seeing fewer and fewer new first-class Mac apps, I still think they're important and they

01:36:47   stand out. And there's a lot of Mac users who really want them. And email not only isn't going

01:36:56   anywhere. Email, I think, is having a renaissance. I think that just look at my world of independent

01:37:04   publishing and how blogging is the thing that's dying out. And it's paid newsletters that are

01:37:11   where the growth is and people are moving to. And it's because people love email. And email,

01:37:18   you get a newsletter in your email and you just hit space, space, space, and you read it. And

01:37:25   there's no pop-ups covering that goddamn text of the thing. You don't need ad blockers. It's just

01:37:31   there. And it's a wonderful reading experience. People love their email. And so it's not going

01:37:38   anywhere. If anything, it's to me having a resurgence. And people are realizing after a

01:37:46   decade-long dalliance of moving everything towards these walled garden social networks like Facebook

01:37:54   and stuff that there's something advantageous to having it just be wide open. So I couldn't be

01:38:00   happier. And I'll just say this. The other thing that's great about MimeStream 1.0 is that the

01:38:04   pitch is so specific. If you use Gmail and you care about great native Mac software, MimeStream,

01:38:14   try it. You're crazy if you don't at least try it. And if you don't use Gmail, not yet. It's on the

01:38:21   road. You're saying your roadmap is a... What I'm hearing is, yes, iOS, iPad, it's on your list,

01:38:27   your work. You've got some sort of nascent project working on it. Supporting IMAP in addition to Gmail

01:38:34   is on your list? It's on our list. I think we have to see what order we're going to do things. And

01:38:40   it's clear that a lot more users are asking for iOS first than IMAP. And I think that maps to...

01:38:47   We're starting to see even more of that with the folks that are with our switch to a paid model.

01:38:53   The folks that are using the app are kind of all in on Gmail rather than sort of using it for a

01:38:59   mix of accounts. And so for that user base, iOS first, I think is what makes sense. But ultimately

01:39:06   in the long term, we definitely want to branch out to other protocols, other services. IMAP,

01:39:13   I think is a no brainer at some point in the future. We're really interested in Jmap support

01:39:18   as well. We didn't talk about that, but yeah, that's a new protocol that's sort of being driven

01:39:24   by Fastmail, a fantastic company with some really brilliant people. And that's meant to be like a

01:39:30   replacement for some of the more legacy internet protocols like IMAP and other protocols that are

01:39:36   used for calendaring and et cetera. It's under very active development in the IETF. And we've

01:39:42   kind of been somewhat involved in that process as well. So that's an area we're really looking

01:39:47   forward to continuing to look at. But yeah, for the short term, iOS is what we have our sites on.

01:39:54   We just, we got to focus on one thing at a time. Yeah. The J and Jmap is for JSON and JSON is,

01:39:59   makes developers happy in a way that XML does not make developers happy. And IMAP is pre XML. I

01:40:07   don't even know what the hell IMAP is. I mean, the other big thing with Jmap is that it's sort of like

01:40:13   kind of over HTTP, which makes it really easy to do a lot of things compared to IMAP, which is a

01:40:20   very stateful protocol and it is difficult to implement correctly. So lots of stuff on the

01:40:26   to-do list, but lots and lots of very, very, truly, I'll just say it again, it's just a

01:40:32   splendid 1.0 release really that feels like a 2.0. It feels like years of work and it really,

01:40:38   really does show in the polish and the completeness of where it is already. So again,

01:40:43   if you're listening to this and you're a Gmail user and you've used a Mac, you're nuts if you

01:40:47   don't try MimeStream, you really are. You've got to at least try it. Neil, thank you for your time.

01:40:52   Good luck. I want to, I can't wait to have you back on when the iPhone app ships. I won't ask

01:40:57   you for a date. Oh, it's going to be some time. If you're listening, it's not in the next six months.

01:41:03   Let's say that we're taking it seriously. There's no point in shipping it unless it's really,

01:41:08   really fricking awesome. Well, when it does arrive, it's going to be awesome. Yeah. Well,

01:41:12   that's the other thing you have going for you is that the Gmail iOS app sucks. I mean,

01:41:18   well, all right, maybe feature fully, it's fine, but as an iOS app,

01:41:22   idiomatically UI wise, it's, you know, you've got to re not in place. You've got a really juicy

01:41:29   opportunity, right? But the core functionality of it works reasonably well, but it's just,

01:41:35   it's very out of place on iOS. Very much so. Anyway, I may thank our sponsors, all of them,

01:41:40   rocket money, go to rocket money.com/the talk show and track all of your subscriptions and

01:41:46   balance your budget. See where your money's going. Trade coffee, subscription coffee,

01:41:52   delivered fresh to your house and memberful where you can monetize your passion with membership.

01:41:56   Thanks. And MimeStream, what's the URL? MimeStream.com. That's right. M I M E S T R E A M. Oh,

01:42:05   bonus question. Bonus question. I can't believe I forgot. How come MimeStream is not in the app

01:42:10   store? The main reason is that we wanted to offer company licensing for groups and with subscriptions,

01:42:18   we just couldn't easily do that through the existing app store infrastructure. So we,

01:42:22   we built this whole custom licensing infrastructure for groups to be able to do group

01:42:27   subscriptions. And by the time we did that, we were just like, Hey, it makes sense to just do

01:42:32   this for everyone. It allows us to bring it out at a slightly lower price point. It gives us a little

01:42:37   bit more control over some of the billing issues, et cetera, that people would encounter. MimeStream

01:42:43   also has like a few minor pieces of functionality that wouldn't be possible if it were an app store

01:42:49   app. Like you can set it to be the default email client. And for instance, that's an API that's off

01:42:56   limits to app store apps. So there's some really minor cases like that. Can you petition for an

01:43:03   entitlement for that? That's been on my list. I think I've submitted some feedback for that in

01:43:08   the past, but it's on my list to sort of push for that a little bit further. Obviously when we have

01:43:13   MimeStream iOS that will be on the app store, of course. And at that time we would probably then

01:43:19   introduce MimeStream Mac app store. But I think for now it seemed okay to continue to

01:43:26   do this. We also were just under a limited time frame. So we just wanted to implement

01:43:30   one billing system. And when we were done, we're like, we got to ship. It's been long

01:43:35   at that. We're not going to take another month to do another billing system.

01:43:38   You got real artists ship, real artists ship Neil. Well, thank you, Neil.

01:43:42   Thank you. Thank you, John.