MarsEdit 4: What took Jalkut so long and how Gruber blogs


  • Mint Mobile: Voice, data, and text for less. Get free first-class shipping with code VTFREESHIP.
  • All the best deals from Amazon, Best Buy, and more, fussily curated and constantly updated.
  • Interested in sponsoring VECTOR? Contact


[background music]

Rene Ritchie: I'm Rene Ritchie, and this is "Vector." Vector is brought to you today by Mint Mobile. Mint Mobile lets you get all the US traditional wireless service you're used to but at a much lower price. How low? Like five gigabytes for three months for just $20 a month. Right now, they're doing a promotion where you buy three months, you get three months free.

You can even go to and enter promo code VT, V-T as in Vector, VT free ship, and you will get free first class shipping on any Mint Mobile purchase. Thank you, Mint Mobile.

Daniel Jalkut, welcome back to the show. How are you?

Daniel Jalkut: I'm good. Thanks for having me.

Rene: I say, welcome back, as though I just subsumed the entire debug run into this show, which I probably shouldn't be doing, but it feels that way internally. [laughs] Welcome back, anyway. Hi, guy. I wanted to do this thing where we did it last time with Greg Pierce and Merlin Mann on someone who makes an app and someone who just uses the hell out of that app. It worked really well.

I thought we'd have you on to talk about the new version of MarsEdit, and we'd find someone, anyone, who could talk about using it a lot. John Gruber was kind enough to volunteer. Hey, John.

John Gruber: Hello.

Rene: Thank you so much for joining us.

Gruber: It's fun to be here.

Journey to Mars Edit

Rene: Daniel, what's the background on MarsEdit, for those people who weren't familiar with how you basically stuck up Brent Simmons one day and took it out of his back pocket?

Daniel: [laughs] I started using MarsEdit, I think, back in about 2005, when I was a pretty early, to me, in my history of blogging, that was early days for me. As luck would have it, I used MarsEdit. I was a passionate, avid user of the app and followed Brent's work. I used NetNewsWire. A lot of my history with MarsEdit I think I can trace back to the very first C4 conference in Chicago.

That's when I went from being this Mac developer who knew a bunch of people online to a Mac developer who had suddenly just met a hundred of them all in one place. Speaking of John, John and I met in person for the first time at that conference, Gus Mueller, Wolf Rentzsch, Craig Hockenberry, I think. It just goes on and on.

Brent Simmons was among the people I met at that C40, which I think was 2006. I ended up acquiring MarsEdit in 2007. MarsEdit, first of all, goes back to NetNewsWire. It was a feature in NetNewsWire. I think Brent thought, "If you can read blogs with this thing, you should be able to write blogs with it."

Rene: It's only fair.

Daniel: Yeah. [laughs] To be fair, as well, he also thought you should have an outliner. It probably had a chess game in there somewhere. He was slowly working his way towards becoming B-Max.


Daniel: He split off MarsEdit at some point. The funny thing is, we're recording this on Monday, December 11th, 2017. I believe yesterday, Sunday the 10th, was the 13-year-anniversary of MarsEdit as an app. He ended up selling his whole company to a company called NewsGator, and they wanted NetNewsWire. They had all this RSS stuff going on. They weren't so interested in the blog editor thing.

Crediting the fact that we knew each other online, you meet people in person, and get a different kind of bond, and a different level of trust, and know people better. When his new company, NewsGator, the company that acquired everything said they didn't want to keep MarsEdit around, he hooked me up with them.

I didn't acquire it from Brent Simmons, but it basically felt like that was what I was doing. That was in 2007, so it's been 10-plus years of me driving the development of MarsEdit. That was MarsEdit 1.1 when I acquired it. I did version 2, version 3, and then spent about seven years, I don't know what I was doing. [laughs]

Rene: Walking through the desert.

Daniel: Having a holiday party. [laughs]

When Gruber met MarsEdit

Rene: When did you get started with MarsEdit, John?

Gruber: When it was in beta, when Brent was developing it. It's funny. I don't really remember this. I actually had to go back. [laughs] Thank god, I have a blog that goes back far enough.


Gruber: I had to go back so I could remember it. I do remember that it started as a NetNewsWire feature, and I do remember Brent's loose idea of if you can read blogs, you should be able to write blogs. I think that Brent's analogy was that it should be like an email program. You wouldn't have an email program where you could only read email. You want an email program where you can read and write.

That was the basic kernel of an idea for putting a blog editor in NetNewsWire. I went back and read it. I do remember that the blog editor in NetNewsWire was terrible and I never used it.


Gruber: I forget why, even. I don't even remember what was terrible about it. I didn't use it, even though I could. It was compatible with Movable Type, the back end of "Daring Fireball." I think Brent realized it was terrible. Daniel, maybe you remember this, but I think that Brent had a UserLand-inspired idea that the built-in blog editor would be, Dave Winer style, an outliner.

When he spun off the app into its own app, MarsEdit, he pretty much scrapped everything. Maybe he kept some code just for talking to the APIs, but in terms of what the app looked like and the way it worked it was a completely different idea.

I started using it as soon as he issued a beta, because I've known Brent forever. I've been using MarsEdit probably as long as anybody other than Brent Simmons.

Making MarsEdit his own

Rene: What was it like making MarsEdit your own, Daniel? Taking on the code, did you try to work with it the best you could? Did you start replacing things right away? What was that process like?

Daniel: It was a very gradual process. To me it was great because I acquired MarsEdit, and it was already this thing that I help up as this great thing. It wasn't like buying this thing out of obscurity. It's not like finding this relic that you need to polish up and turn into something marketable. It was a situation where, as young as the product was, it already had passionate user base.

I knew, taking over the app, that I was coming into an existing user base where a bunch of these people really admired Brent's work. They liked what Brent had done, and so for me to come in, I knew I needed to be very conscientious about what I did with the app. I knew instinctively that over time I would get more permission to do what I want to.

Let's say the first few significant changes I made I may have been metaphorically holding my breath about how it's going to be taken. The first couple things, I changed the about box to make the copyright reflect the fact that I owned it. I was like, "Hey, what do you think about that users?" I can't remember what the first bold move I did, but when I say bold I mean maybe cutting a feature.

For example, it was a pretty big move to add rich editing, the WYSIWYG stuff. That's an interesting one, because I feel like in retrospect I do think it was a pragmatic business choice, but it has these side effects. I don't really like the idea of splitting a product's functionality in two. I remember wondering, "How are people doing to react to this?"

The other funny thing I did with MarsEdit was the source code, itself. Brent is an excellent programmer, obviously, but his formatting style is significantly different from mine. I remember I made this decision at the beginning. I was like, "I'm just going to rewrite the style of things that I actually rewrite."

If I go into this method or this function and I dramatically change it, I'm going to change the style to match my style, but I'm not going to go through and run some kind of automatic style filter. It turned out to be a fun and practical way for me to gauge over time how much source code had changed, because nowadays, if I look into Mars' source code it's overwhelmingly my style of source code.

If I do run up against something where I'm like, "What is going on here? I don't understand this code," I can tell by the formatting whether it's because I don't have the history of thinking through the problem that the code solves, or if it's just something I did and don't remember why. It's kind of an interesting little artifact.

From Markdown to MarsEdit

Rene: That's really cool. I imagine, John, your approach is similar to mine.

I used to write web pages in text editors in HTML. When I moved to using MarsEdit, and I did that because I more originally ran on Moveable Type, and then on WordPress, I just kept writing it that way. I never was interested in rich text editors. That feels like a feature people who maybe come from a writing background, like Word, and are just getting into the Internet would value.

Gruber: I don't know. I guess because I definitely came from the world of being able to write HTML natively. I guess it ties hand in hand, not to make this about Markdown, with my use of MarsEdit coincides, I think the origins are right around the same time, where the basic idea was the first few years at Daring Fireball, I did write HTML.

It wasn't like I was editing HTML files on the server, it was just HTML that was paste into a text area field in the Movable Type web interface that I'd go through. For a longer article, and the first few years of Daring Fireball were mostly only longer articles, I would write in BBEdit. But I wouldn't put the P tags in. I always say the Markdown really starts as a way not to write P tags around paragraphs.

I wouldn't have any P tags. Then I'd write the article just with return, return between paragraphs. Then when I felt like it was ready to go, I would add the P tags, copy paste into a text area field in a CGI running on a browser.

Just switching to MarsEdit made it feel so much less clunky. That copy and paste step where there's here the real version. Now all of a sudden, that's not the real version. This is the real version that's in this other interface always felt clunky. It was prone to errors of course where I would fix a typo, mistakenly fix it in the BBEdit version and not copy and paste it to the live version, etc.

Rene: I moved over because I was doing almost identical to you. I was copying from BBEdit into the web page. But the web page would crash. I would just lose things. I would write in BBEdit, but there was always, "Oh, this is just short. I'll just write it right into the browser. I don't need to go through that step." Cut and pasting was just so hard. I would put it in and then it would crash. With MarsEdit, it made it super easy.

Probably five years ago, we forced everyone to switch into writing in Markdown and not writing in rich text editors. I think it saves us half the lines on every blog post, Daniel, because anytime I've seen any form of rich editor, it's always open italics, close italics, open italics, close italics, open bold, close paragraph, open paragraph. It just was really hard to get any clean HTML out of them.

Daniel: Yes. I'm pretty happy. It's one of these funny things. To me, the rich editor in MarsEdit is like this double-edged sword I guess. It's like on the one hand, I wish we lived in a world where I didn't have to do it. There's plenty I could imagine improving with it. But I'm also proud of it being as good as it is for what it is.

I look at that problem. Sometimes I'll spend a lot of time on the rich editor. I'll be like, "Why am I spending all this time on this rich editor?" But then it's like I get these emails from people where it's evident to me that not only would they not be using MarsEdit if it didn't have a rich editor but they might not be blogging period.

You run into these people where it's like this is making the difference for them to have a voice. Then I'm like, "OK, well, pretty good justification."

Rene: It's better than blogging from Word.


Gruber: I don't blame you. I know Daniel and I have had this conversation many times. I'm not surprised by that because I think, and I say this as the creator of Markdown, for years I thought I was a little bit disappointed in how Markdown didn't seem popular. Then it slowly but surely became super popular.

Now I'm at the point where I can't believe how popular it is because it seems to me like it's gotten so popular that there are people using it who I don't think should be using it, I think would be better served with something less technical. Part of the gimmick of Markdown is that you do know what's going on in terms of open tags, close tags and stuff like that, whereas a WYSIWYG thing, you don't.

The whole point of WYSIWYG is that it absolves the user of any knowledge of what's going on under the hood. I think it's smart that you spent a lot of time on the rich text editor. I think it's not surprising to me that there are a lot of people who use it because of it and may not be blogging without it. But I honestly don't even know how to turn it on in MarsEdit.


Gruber: That's the truth. I was just sitting here as you were talking about it trying to figure out how to turn it on. I don't even know.

Rene: He probably has a Gruber detector in there and just turns it off for you.

Gruber: I see. It's in the preferences, default editing mode.

Daniel: Yeah. You can also switch to it at any time from post-edit rich text. We won't turn this into a customer support call.

Plain vs. Rich Text

Rene: But that is interesting. In a lot of applications, you have many different user bases that you need to balance out. You have people who are pros who want control over every little tag and every little position. You have other people who this is a huge accessibility issue. They just don't know anything. The code looks like gibberish to them. They just want to write a blog post.

You have to make both people feel enabled. You can always add a preference setting, sure, but you also have to make a lot of design decisions I imagine every day about which user group you're going to service.

Daniel: Absolutely. You know what's funny about this bifurcated functionality is I have been sometimes I'm surprised when I learn somebody I know or somebody who has a reputation that I would assume otherwise, I'll learn somebody who I just would have pegged as a plain text or HTML or Markdown person, they're giving me a bug report about rich text mode. I'm like, "Really? You?"

Sometimes I'm equally surprised the other way around, where I just get this customer who I would have assumed falls into that quote unquote naive WYSIWYG editing market. They'll be like, "Oh yeah, so and so, my friend, taught me Markdown 10 years ago, and now that's all I use." It goes both ways.

Rene: You can't WYSIWYG shame them. That's not polite. It's not what we do to each other.

Daniel: I can't WYSIWYG out any...I guess that's what you mean. There's a few people that each of you might be surprised to learn. I know things.

Gruber: I wouldn't be surprised though because I think it's same part of the brain that draws someone to want a proper native Mac app which MarsEdit most certainly is.

MarsEdit to me is actually one of those apps that I would hold up along with something like Acorn from our mutual friend Gus Mueller, the image editor, as this is why developers rave about Cocoa because you can concentrate. Your code that you've written is mostly about interfacing with web blog servers and APIs and stuff like that.

Just having a big text area field with spell checking and support for fonts and stuff like that, it all comes from Cocoa. There's so many standard components of this that are just, this looks like a pure Mac app. The person who's drawn to that, who wants a real native app and doesn't want to be writing or doing their work in a completely custom "app" that runs inside a web browser, is the same person who wants WYSIWYG.

The whole idea of putting formatting code and tags into your thing just seems, for somebody who's old enough and has been using the Mac long enough, it just doesn't seem like the right way to do it.

Rene: I think, by the same token, someone who's writing pure HTML is probably doing it in Coda or doing it in BBEdit and then using Transmit to push it to a server. You're hitting the middle ground, the people who want a great native experience, but don't want to be writing code all the time.

Daniel: Yeah.

Rene: Before we get into the seven years aspect of it, what was your goal with MarsEdit 4? Did you have a plan in mind?

Daniel: At one time, yes, I did have a plan.

Rene: What I meant like were there certain features you wanted to hit or there's certain, like, you make out your goalposts before you start working on it.

Daniel: I've been trying to figure out, I haven't had a lot of time to think because I just released this six days ago now. I haven't had a lot of time to think back about what happened over those past seven years.

I'm probably not unusual as a developer, at least as a self-driven indie developer, that when I finish a major release, like I did with MarsEdit 3 seven years ago, there's a sense, that, like, hey, I just want to get going on the next version. I have all these great ideas, things that didn't make it into MarsEdit 3.

Then there's also sort of this, I just want to like try things out and see what happens for a little while instinct, and that can be valuable. Basically, I guess, over the seven years, there were times when I think, for instance, I thought MarsEdit 4 is going to be all about syncing. You can go down a path of thinking like, what do I want to do and what does that imply?

Big, well-known fact among MarsEdit users is there's no iOS version of MarsEdit. If I start thinking about that, like I did 7 years ago and 10 years ago, for that matter, start thinking about things like, well, I really need to have a good syncing solution before I can do that. I felt that that was the case.

It might not be strictly the case, but I feel like it'll be a much better pitch if I had a good syncing solution for a situation where you expect people to use iOS version and the Mac version in tandem. Then, so at one point, MarsEdit 4 was going to be a big syncing update. Then maybe it was like, OK, it's going to be a syncing update and it's going to actually be released in conjunction with an iOS version.

This is all fantasy thinking, but I have all these like internal interests in improving the app and maybe expanding platforms. Then that sort of just gets affected by not only internal, maybe, roadblocks, obstacles, but also external changes, things that are happening with systems like WordPress or Tumblr.

This time that's passed, we've seen whole blogging systems disappear, like, Posterous might ring a bell. We've seen whole blogging systems that used to support blogging APIs drop them, like Squarespace. Then WordPress, we've just seen them, like, powering ahead, really adding a lot of stuff, a lot of functionality.

Rene: Becoming a hosted service primarily.

Daniel: Well, yeah, they have a hosted service, and they also just have added all these features that are not reflected in the APIs of other services. Like, if you look back to like when Brent added support for an API.

Gruber: I read there were like a couple API.

Daniel: There were more, John Mitch and the whole like UserLand connection, there were like UserLand based APIs in the app. A lot of it back in those days was just like everything, more or less, just supported this one API called MetaWeblog, then Movable Type expanded on that, but then things were sort of stasis for a while.

Then what happened over these past seven years is, among other things, I was feeling the crunch of WordPress pushing these new blogging workflows that MarsEdit couldn't accommodate, because I didn't support the API stuff for it. That became a distraction/necessity.

To not answer your question more effectively, I guess I would say, I was in trouble with MarsEdit 4 for a long time about what its "main features" were. When you're working on something where it was easy with MarsEdit 3, because that rich text editing was, it was an obvious, like, pillar feature support.

I was discussing this with Manton, I think so, recently, on our podcast, that if you have something that's so obviously like a core feature of an update, it just makes it easy to work on it. You could ship it at any time but that main feature is done.

There wasn't something like that with MarsEdit 4, even though, after seven years, I look at the list of things that has changed, and it's pretty substantial, it's pretty significant. I didn't have like a cohesive mission statement for it, and I probably, in retrospect, could have used one.


Rene: Take a quick break so we can tell you about our sponsor, and that is is a great way to find the absolute best deals on the Internet. I don't know what they do, whether they have radar or sensor array, lidar, some sort of Jedi holocron. But the team at Thrifter, they just find the best deals on the Internet all day, every day. They scour Best Buy, Amazon, and places I've never heard of.

They find stuff that is on sale, sometimes better than it's ever been on sale before, sometimes just stuff that's really hard to get at any price. They tell you about it, they put it up on or @thrifterdaily on Twitter, you just, you pick the stuff that you want and need and you get the best price you've probably ever seen for it. All of it is at

It's awfully like the tech deals from all the best places without any of the fluff. Thank you, Thrifter.


MarsEdit workflows

Rene: As a MarsEdit user I'm fairly simplistic, mostly because, for work, we use this monstrous Drupal system that just does not play nicely with MarsEdit, so I'm forced to use other tools, mostly still BBEdit. For my personal stuff, which is on older versions of WordPress and other stuff, I use MarsEdit.

Basically, I just write in MarsEdit and then hit the Publish button and it goes up and I don't think about it that much. Were you running into any sort of features that you wanted, John, or any behaviors or workflows that you wanted to support?

Gruber: I don't know. I guess. Daniel knows this, that I, if there's one thing that sometimes trips me up in MarsEdit, it's the fact that it doesn't automatically stay in sync with the server. You have to manually refresh. I tend to write from two different Macs. I have an iMac at my desk, which is like my main work machine, and a MacBook Pro that I use everywhere else.

I've been using it long enough that I'm in the habit. When I start my day, I tend to refresh all my blogs so that any change...The other way it can trip me up is if I, like if I'm out and about and somebody sends me, hey, there's a typo in the Daring Fireball post, and I'm on my iPhone, I can do it through the iPhone, but that's through the web interface.

Both copies of MarsEdit are slightly out of sync with the server and what will sometimes happen is I'll forget to refresh, then I'll make another typo fix to the same article. It lost the first typo that I fixed earlier on on some other device, and has to do...

Something like that that would just stay in sync, like the way Dropbox just, you don't have to worry about that sort of thing in a modern system. That's not really MarsEdit's fault so much as really, it's just the way the MetaWeblog API works. It's not really meant as a keep it in sync all the time sort of API.

Rene: It's more popular.

Enter MetaWeblog

Gruber: I mean, I think the funny thing about the MetaWeblog APIs, I remember when it was created, it was, and the same couple of names keep coming up in the history of personal publishing, but it was when Ev Williams was at Blogger.

He just came up with it over a weekend. He was like, there should be an API for editing blogs, so here's my thing, it's called the MetaWeblog API. I think it was like 2001, it's either 2000 or 2001, and he had just, something he'd ginned up over a weekend with like five API calls, and of course, uses XML-RPC, which is a super nerdy thing.

Nobody ever writes an API using that anymore. Everything, it would be JSON today and it would be way, way, way easier and more attractive. Nobody uses XML. But like, circa 2001, 2002, everything was XML.

Daniel: I want to make one historical little correction to that, because my understanding of it, and I just sort of double-checked this on Wikipedia, MetaWeblog API is based on the API that Ev Williams came up with which was even simpler. It was called the Blogger API.

Gruber: Right.

Daniel: Of course, it was for Blogger. Then Dave Winer took that and expanded it to make MetaWeblog. Just because I know you'll get a lot of responses to that.

Gruber: Right, abstracted a little bit. It was to generalize it for, be a little bit less Blogger specific and little bit more, hey, any blogging system could use this.

Daniel: Yeah. It also added fancy newfangled ideas, like a title field. There was no title field in Blogger API. It's a perfect example of how the API scene for blogging started with really like the utmost simplest, like you said, XML-RPC based thing. Then people just added to it and Dave Winer added to it with MetaWeblog and then the Movable Type folks took that, added some more stuff.

WordPress folks took that, literally there's a lineage there that goes back, where, if you look at a WordPress installation today, I believe it still has the complete implementation of the Blogger API. Just because somebody who, back then, had a client that only supported the Blogger API might want to hook up to their WordPress.

That's the way it works is, if you don't mind blogging to WordPress with no titles, you can hook up to it with a Blogger API and you're in business.

Gruber: Yeah, I just posted a link into our little chat there of a blog that I created when I worked at Bare Bones Software in 2001. Where I actually wrote some AppleScripts back then, I still have them somewhere, I'm sure, where I could actually post to the Blogger API from BBEdit using AppleScript.

I don't even know if AppleScript still supports it. Remember AppleScript had XML-RPC...?


Daniel: I think it still has it. It's crazy. It's in there and it's just it's one of those weird, it's from that moment where Apple was like, hey, SOAP and stuff. We're like, what? They were like, we should just support SOAP, I guess, web services. But yeah, it's pretty funny. There are some interesting things in there.

You're technically a competitor of mine, John.

Gruber: Yeah.


Archiving the internet

Rene: One of the things that I also had problems with before was, I would create these WordPress sites and something would go wrong. This even happened years later when there was a WordPress site that I forgot about, and I missed paying a bill, and they shut it down. There was just no way to get the content back.

When I had stuff in MarsEdit, I would at least have a local copy. You've done work now to make that even more robust.

Daniel: The funny thing is it's been a confusing message. This owes to the shortcomings John was alluding to with MetaWeblog, Movable Type, etc. The longest time the shortcoming of those APIs, I don't know why nobody fixed them. I guess it just wasn't a priority.

The long and short of it is you can't reasonably download all of the posts from a blog of any substantial size. The reason is that the API implements this method called get recent posts. It's right there in the name of it, recent. It's implied that the only reason you would ever use the API is to get a little snapshot of stuff you worked on lately.

For a vast majority of workflows, it makes pretty much sense. Most of us who write blogs, we don't go back and edit more than the last, let's say, 30 posts which was the default actually in MarsEdit up until this release. It would download 30 of your most recent posts.

I had a conversation with a user of mine, a customer of mine, who had connected MarsEdit 4 to their blog and downloaded 5,300 posts. I was like, "Oh my gosh!" I hadn't tested that use case. The fact is it can do it now whereas what happened is if you...

MarsEdit had an option you could set how many posts you want to download. All of that had to happen in one network request to the server. It's not just the size of the response or the download but the fact that the implementations of all these blogs would just go up in smoke when they try to iterate over 5,300 database items.

I guess on Movable Type that wouldn't be the case. WordPress and other database-driven...

Gruber: Movable Type's database-driven.

Daniel: I guess it would be through the database, through the API, wouldn't it? Yeah, same problem. Movable Type statically publishes for the web, but the API access would still be using a database query.

What would happen is if you pumped up the number on MarsEdit 3 series or earlier, you'd just melt down your PHP or Perl or whatever is driving your blog. It would just crash and give MarsEdit a garbage response. For years, I had this problem that people would understandably download the app, they'd run the app, and they'd say, "This is so cool. It downloaded all my posts. Now I have a permanent copy of all my posts."

I'd have to aggressively convince them that that was not the case. I had to say, "No, no, no, no. This is not an archival tool." It's one of my go-to phrases is MarsEdit is not recommended as an archive solution.

I'm a little nervous now about recommending it as a bona fide archive solution, but it sure does download most all the posts for most people's blogs.

Gruber: I think it works against MarsEdit. I think it's the right idea. The basic idea is that it looks a lot like Apple Mail. It looks like a mail client. You've got blogs on the left. You've got a list of them up above and a preview there. The fact that it looks like a mail client and a mail client you expect does, at least on a Mac, downloads all of your email, it's not an unreasonable expectation or assumption.

Daniel: No. Right. That's something that I've had to painfully divorce myself from, this idea that it could be used that way. That's one example of something where it's a relief now to be able to say, "Hey, you know, this actually is good for that."

It's funny actually. There are some performance issues. This person with the 5,300 posts. It brought to light some performance issues in the app. But it got the posts. It's just that now working with all those posts in the app, that was an edge case where it opens up for me some areas where more work can be done now because this whole other use case is now available.

But what you mentioned, John, about the syncing, put that in the same category. It is something that I really don't like about the app myself is that it doesn't reliably, automatically keep a mirror of the blog without human intervention. I think that falls into the same category where, just like you said, with a mail app, you just expect that to work.

The blogging APIs for modern stuff, like WordPress and Blogger and Tumblr, are much better now. That's what facilitates the ability to download all the posts. I'm looking now towards the future where hopefully I'll be able to.

That's one of those things where it's like you have these customer questions where they make you sigh, like, "Ugh, I wish I didn't have to answer this that way." That's one where I hope, moving forward, I'll get to a situation where I can just say, "Hey, you know, either..."

There are two things I want to do. I want to be able to be synced up most of the time. Let's say, John, you got back from making a little edit while you're out shopping or something, then you get home, "Oh, I need to make another edit." You open it up. You send it. Ideally, that's where MarsEdit should say, "Hey, hold on there a minute. You need to update this before you do anything else."

I'll be looking at stuff like that. But I agree with you, when you depend on outside services, there are things that you might see as the developer of an app as almost even fundamental, but you have no choice about it. That was the case at least for a lot of MarsEdit's history with respect to this. I'm hoping that I'll be able to turn that around.

Keeping up with Cupertino

Rene: While you were working on MarsEdit 4, a lot of the Mac changed around you. For example, they went from iPhoto and Aperture to Lightroom changed and evolved. Some of the apps that you worked with just kept moving.

Did you maintain compatibility with those that you went along? Did you have to do all of that at once? How did you address the state of the Mac as you were doing this?

Daniel: In that particular example, I had some really good help from...I use an open source project called iMedia. This was originally spearheaded by the folks at Corellia who made Sandvox. It was a response to the fact that Apple for years and years and years had their iLife at the time apps, stuff like GarageBand. I guess. Getting iLife and iWork mixed up. Stuff like Apple iVideo...


Rene: iMovie and GarageBand.

Daniel: For years, they have this media browser that would give you easy access to all of Apple's media. But they didn't have a third-party API. Folks at Corellia just sat about solving this years and years ago by making their own drop-in media browser. It supported things not only like Apple's iTunes and iPhoto.

They realized, "Hey, if we're going to do this ourselves, we can also support things like Lightroom and third-party apps that Apple probably wouldn't support." I started using that ages ago. Then the good thing about that has been I have some help in that department because there's still not just the Corellia folks but folks from other companies now that use the same browser.

There are a few dedicated supporters of that open source project. I've contributed stuff back to them. I would say on the whole, I've benefited much more from their maintenance of the project. When it came to the photos change for example, I'll occasionally notice a bug and fix something in iMedia. But I probably wouldn't have even tackled the problem if it wasn't for this open source project.

Drag and don't drop

Rene: It's not insignificant either because I remember when Photos got out, first shipped, you could no longer drag and drop from Photos to any other app besides Apple's. You could drag from Photos into Message. It would work. But I would try to drag into Napkin or I drag into something else. It would just look at me like, "What are you doing?"

Daniel: It's funny you mention that one because I think maybe MarsEdit still suffers from that problem. It's an interesting point because there's a browser built into MarsEdit for browsing photos. At least there's a way to easily get at the photos stuff. But I think if you drag from Photos as an app to MarsEdit, that will still...

That's on my to-do list because what happened is they totally changed the way that the handle drags for this certain type of what's called a drag promise. It's where they don't have the data for you now. But they say, "Hey, stay tuned. If you want this, come back."

Rene: You don't accidentally drop your data in Facebook and let them harvest it.

Daniel: I guess so. I don't know. But I think it's a performance thing. The generalization of that problem just frustrated a bunch of developers because we just expected drags of images to keep working the way they always did.

Rene: It is changing because it's a moving target that you have shared customers with Apple which means that sometimes things will break that is not on your end.

Daniel: Absolutely. I guess this is where the Linux people would say, "It's not a risk on Linux because you can always just fix it." Even if you're on Linux, you still got to get the distributions to distribute.

Rene: It's the Android problem at that point.

Daniel: I do run into things where it's like, "Ugh, this is Apple's fault. I have to submit a bug report and then work around it as well as I can. Hope for the best." There's a bug that one of my customers found in MarsEdit 4, I say it's a bug in MarsEdit 4 only because my customer found it.

The bug is something in Apple's frameworks where you do a certain type of drag, speaking of drags, and it brings down your whole login session. It actually logs you out. It's a really horrible one to test, too.

Rene: John, I know you mentioned on Daring Fireball, but what's you day to day usage of MarsEdit like now?

Gruber: I actually was going to say a bookmarklet. But famously, Apple changed the way bookmarklets work like last year.

For years, I had a bookmarklet where when I'm reading an article, let's say I'm at iMore, and I want to link to this article, I would click my bookmarklet which would shoot me over to MarsEdit, create a new document window with the URL already filled in with the selected text if I already a paragraph in the article already in the body of the message with Markdown style blockquote indicators at the beginning of it.

I forget what else it does, but anyway, Apple changed the way bookmarklets work for security. I guess some dirtbags were taking advantage of it. Daniel put together a proper Safari extension which is what I use now and which does the same things, pre-populates it. My version is actually customized. It's a very long story. I've even got a nice little Daring Fireball logo on the button in the Safari toolbar.

That's most of what I posted during Fireball. I'd just jump right from a Safari tab where the article that I'm linking to is. It pre-populates MarsEdit. Then I write my stuff or change the title, etc., hit publish, and there it goes. That's about it.

For longer stuff, like my longer articles, the longer they are, the more likely it is that they're in BBEdit, not MarsEdit, until I'm ready to publish, just because BBEdit for more advanced text editing features, search and replace features, and so that I have a copy of them in Dropbox and stuff like that.

But then once it's ready to go, then I copy and paste to MarsEdit and publish. There it goes. I do it all the time. I wrote when MarsEdit 4 came out, I must have over 25,000 posts to Daring Fireball that have gone through MarsEdit.

User surprises

Rene: Do people use MarsEdit in ways that surprise you still, Daniel, or do you get feedback from people that have discovered tricks or hacks or cool things you didn't expect?

Daniel: There's always things I didn't expect. One of the main things that comes to mind is, after I was a user and I became the developer, how much I became aware of the broad diversity of people who write blogs first of all and, by extension, who use MarsEdit, like large enough genre markets that I thought, "Wow, I should really consider this use case more carefully."

Examples that I don't think jump to most people's minds are a significant number of members of religious organizations, it's a thing if you're a pastor or something to give your sermon on Sunday and then post a text version of it. I don't know. Maybe later that day. I don't know if you're allowed to do that depending on your religion.

That was eye-opening for me. I think coming into it, I was like, "OK, I just acquired this app that's a bunch of nerds like use to write tech posts and quips online." Then to discover, wow, there's this whole huge...

Like I said, the religious market, one of the most gratifying to me is the significant number of people who use MarsEdit because the combination of a native app's accessibility combined with the fact that MarsEdit actually strives to be accessible. Voiceover users are a significant market that I would not have come up with out of my own independent thinking.

It required me being in charge of the app and getting the feedback from people to realize that that was happening. Then sometimes I run in folks that surprisingly...Sometimes surprising at the edge cases. I have had at least one customer who got in touch with me because there was something going on with MarsEdit. It related to the fact that they had 150 blogs in their blog list.

Rene: Wow.

Daniel: I wish it was some awesome super powerful author. It was basically they were using it for in my opinion spammy purposes. They were just trying to get the same content up to 150 different sites, people like that.

Actually, I remember that request. They wrote to me and said, "Hi, I have 150 blogs. There's just one problem with MarsEdit. It won't let me create and publish them to all 150 blogs at the same time."

Rene: We can say this was not Panzer with tennis shoes blogs. We can take him off.

Daniel: He has a different blog for each pair, right? That's an example where I was like, "Wow, I'm proud of that technical shortcoming." They were like, "You should add this immediately because there's a lot of people out there who want to publish the same thing to 150 different blogs." I was like, "Yeah, that's not going to be at the top of my list."

Run into these weird use cases where I'm like, "OK, I'm grateful for the business, but I wish you wouldn't use my app that way." This is the problem with making an app that people use to connect to the rest of the world. Sometimes, especially recently, I have to think about the fact that for instance, there are probably people out there using my app to publish things I would consider hate content.

I can't do anything about that. Same thing for people who make a Twitter client. It's just a fascinating consequence of making general purpose software that people can use in a variety of ways.

Mac App Store — but with trials

Rene: You mentioned business. One of the interesting things about MarsEdit is you get it from the Mac App Store. You have a free trial. But then you can purchase the full license through the Mac App Store. Was staying in the Mac App Store important to you? Was this the best model you came up with for doing that?

Daniel: Yeah, I guess staying in the Mac App Store has been a design goal of mine since the beginning of the Mac App Store. It's a little bit twofold. In retrospect, I could easily see something happening to either frustrate me or outright just prevent me from continuing in the Mac App Store. I could see a version of history where in 2013 I just said, "This is it. This is enough. I'm out."

There's plenty of other companies, Panic, Bare Bones, other ones that aren't coming to mind, but there's a significant number of pretty big apps that have left the App Store. I could see that having happened. With MarsEdit anyway, as I've been able to find a way to stay, I feel like there's a combination of both it's good for my users who like the Mac App Store and there's a little bit of I don't know what the potential upside is.

If I don't get utterly driven out, then I want to be there. I want to be there if, knock on wood, Apple features the app or decides to give it some commendation. I feel pretty pessimistic about the Mac App Store because Apple hasn't really done a lot with it over the past seven years.

Rene: It feels like any time they hire an App Store engineer, they inevitably test them with iOS because it's just so popular and such a behemoth. They just need the resources. Mac App Store, they still don't have gifting. It's been what? Seven years.

Daniel: Exactly. There's a lot of disparities between the Mac App Store and the iOS App Store. To be honest, even if there was parity, there's enough problems with the iOS App Store that I could be getting frustrated. I guess on the one hand it's true that if I left the Mac App Store, I don't think there's anything technically to prevent me from coming back.

Like I said, I think Panic, Bare Bones, they can come back. I guess I felt like it's a good position to be in, to be there ready for whatever good fortune might come with being in the Mac App store.

This strategy I adopted for MarsEdit 4, of using this freemium model, is very directly lifted from the Omni Group's approach. They spearheaded this. I think they spearheaded it in conjunction with, or they were, I don't know the story. I don't know if they were actively instrumental in getting Apple to change their policy.

Gruber: In the early days of the App Store that sort of thing wasn't allowed. You were not allowed to have a free app that was unlocked in a payment.

Daniel: The crux is the same now as it was then, but the interpretation seems a lot different. The crux of it is the app as it's downloaded for free has to be fundamentally useful in some way. Most of us would have agreed in the old days, and I think Apple certainly agreed, that, for instance, the Omni Group's approach, it's useful as a document viewer. You just can't save any changes.

That's a little bit of a stretch. [laughs] MarsEdit is similar. It's useful as a blog post downloader and local editor, but you have to pay if you want to publish any changes. This is the kind of thing where at some point, like I said, around the time Omni came up with this, about a year ago, Apple said, "Hey, not only is our interpretation of what is baseline functionality a little looser now, but we overtly support the idea of this weird kind of in-app purchase that's called a free trial, basically."

A "purchase" that a user has to actively agree to that unlocks a free trial. Everyone who makes Mac software knows that traditionally a free trial happens by default. You download the app. You start running it. You're in a free trial. That is still not allowed on the Mac App Store.

This is where the fine edge of this policy is, is you have to offer to users a way to unlock the app for free if you want to give them a free trial.

Rene: I don't know if you remember this, too, John, but I remember a few years ago one of the big concerns on Apple's end with unlocking or time-based locks was that apps would sucker people in to put a bunch of data, and then effectively hold that data hostage unless they paid them for it. This sounds like a better way of doing that, handling that.

Gruber: The frustrating element is that it took so long to get there. The Mac App Store's been around for a hundred years.


Gruber: It's not new. The Mac App Store is not new. It's not even close to new. It's frustrating that it languished for so long in a state where it was really, really tough for productivity apps, for lack of a better term. Things that aren't games. Things that need to cost more than three or four dollars because they're supporting full-time development of professional developers. There was no way to do it.

Naturally, it's human nature, people don't want to spend $40, or $25, or whatever the app costs without ever even getting to try it. Screenshots only go so far. To pick at another scab, the Mac App Store still doesn't support movies as a preview.

Daniel: It doesn't support anything.

Gruber: A movie to show you the app in action.

Daniel: Also, you have all the sandboxing stuff to deal with. I know you have that on iOS, but most Mac apps were not built with that in mind, initially.

Gruber: That's what chased a lot of the apps out. It's not that BBEdit, for example, couldn't support sandboxing. It did. It was in the Mac App Store for a while. I won't rehash the whole thing, but Rich Siegel, the developer, creator of BBEdit, had a great talk at the Cingleton Conference a couple years ago about why he was taking BBEdit out of the Mac App Store.

To boil a terrific half hour, 40-minute talk down to the nut, it was more or less he's happier not having to deal with it. It's not that there wasn't a market for it. It wasn't that he wasn't making money on it.

It wasn't that there were some users who'd prefer the Mac App Store because then you don't have to worry about licenses, serial numbers, and stuff like that, but that for his own personal satisfaction on a day-to-day basis of being happy doing the work that he was doing, supporting sandboxing and BBEdit was making him insane.



Daniel: I'm unusual in the sandboxing attitude department in that I fundamentally like sandboxing. I just also fundamentally disagree with the number and breadth of sandboxing permission that Apple makes available to developers.

For me, if you want to ask me one thing I'm really satisfied with about this release of MarsEdit 4, to be honest, it was frustrating to sandbox it, and I hate that it had to be a priority. That's one of the things that slowed me down over these past seven years, but it feels really good as a developer to know that effectively, there's no way I'm going to accidentally delete some user's hard drive.


Daniel: For those of us who are conscientious developers, a big part of putting our work out there is always wondering and worrying, "Am I shipping something that can actually harm a user?" In that respect, I think the sandboxing technology is fantastic.

I'm also super frustrated that, for example, another one of my apps, FastScripts, which to behave the way that it does, to be as efficient and as performant as it is, needs to work outside the sandbox. It's one of these funny little apps that it's in the App Store, because it's grandfathered in.

Another way that Apple botched this Mac App Store debut is they came out with the Mac App Store, and then like a year later, they said, "Oh, by the way, everything has to be sandboxed."


Daniel: Everyone's like, "What?" The compromise was they ended up letting people keep non-sandbox stuff in there as long as it's not substantially updated with features. It kind of goes against the goals of the App Store, but MarsEdit was in there until a week ago as a non-sandboxed app, like five or six years after the debut of sandboxing.

Rene: I think that was one of the big projects that Ivan took over when he got to Apple. The timing was not well coordinated.

Daniel: I think it smells to me a little bit like one of those Apple pursuits, where they make a nice big run at something technologically, and then they put it on the shelf. I think we've all experienced those kinds of Apple technologies.

One of the things I liked about Apple, working there as a developer many, many years ago, was -- and I think I've written about this before -- the ways in which Apple is at its best, a sort of bottom-up technology initiative company.

You can have somebody in a group, probably at one point 20 years ago, somebody said, "I've got an idea for how apps could automate each other, and use as this thing called Apple Events, and we're going to put a language on it called AppleScript."

I very much doubt that the CEO at the time, or even one of the executive vice presidents said to anybody from the top, I could be wrong about this, this might be a poor example, but for a lot these things, I doubt that the VPs are saying, "Hey, come up with something that really revolutionizes the way people automate apps."

These things happen because somebody has a great idea on the lower levels. They make a pitch to their boss. Sometimes they make a pitch to their boss with a complete working prototype, and they say, "Hey, can I commit this? Can I ship this?" [laughs]

Then, low and behold, you have...

Rene: Promotion. [laughs]

Daniel: AppleScript. I feel like that happens. Stuff like this can be, the sort of flip side of that, is that once a team, or an individual, or a department, whatever has its day in the sun, then some other important priority comes up, and the thing that was being worked on never gets substantially improved.

I can't help but hope that the people who designed sandboxing, including Ivan, that the vision for it on the Mac didn't stand still, get frozen in the time. Like four years ago they made some minor changes to it, but it's pretty much the same. You could imagine them adding they call them entitlements in sandboxing terminology. They're specific well-defined behaviors that apps have to opt into.

There's whole classes of apps out there that can't exist because the entitlement that might exist to make that app work just isn't available from Apple. I feel like we could be living in a scenario where a lot more software lives in sandboxed environment. As it is now, as it stands now, they're not even encouraged to embrace the sandbox lightly because some deal breaker prevents their app from even working.

Rene: I don't know if you remember, John, but one former Apple employee said that he wished there was some way of handing stuff off better.

For example, if the security team made sandboxing one year but this year they were working on Face ID, it's not sandboxing would get just left behind, but there'd be a team of maintenance or continuation people who would take over and keep pushing those technologies forward.

Gruber: I don't know anything specifically about sandboxing in particular. I think it's easy to tell from the outside that some of that absolutely goes on at Apple. It's funny. We can sit here and laugh at Red Sweater Software, the one-man company that spent seven years on an update to MarsEdit.

You could see a lot of things, especially in Mac OS, there's a lot of things that seem to be not abandoned but just in a perpetual state of we'll get to it soon. Next thing you know, years have gone by. I really don't think anybody looked at the Mac App Store three or four years ago and thought, "Well, this is all done. We don't need to do anything here."

I think if you showed them, that person from three or four years ago, where the Mac App Store is today, they'd be a little disappointed. Somebody in Apple would be disappointed that they made so little progress on it.

Seven years later

Rene: Daniel, MarsEdit 4 beat Mac Apple Store 2.0 to release.

Daniel: There you go. It's funny you mention that, too. Bringing that seven-year thing to light, most of the time I beat the heck up of myself about the fact that it took me seven years ultimately to do this update. There were lots of false starts and hits and misses in there. All the time is not perfectly accountable for. But that's the nature of software. The time is never perfectly accountable for.

I do sometimes comfort myself by thinking, "Oh, there's probably more than one seven-person team at Apple that hasn't done as much in the past year." There's the whole million man...What is it? Mythical man month thing where it's like...

Rene: Nobody put a million developers on a project.

Daniel: The million monkeys who eventually write Shakespeare or MarsEdit 4. What am I getting at? Just the fact that even though that's not true, the mythical man month, there is something to the fact that if I had two or three people working on this, might not have taken seven years.

I cheer myself up that some of this is just the consequence of it takes a long time to do software. Folks at Apple who have significant teams and substantial funding and technology and support from all across the company, they also sometimes end up for a variety of reasons sitting on something that doesn't substantially change for a long time.

Rene: Absolutely. Once in a while, and I won't mention any products in specific, but people probably have a good idea of it, all that stuff, that legacy, that technical debt, comes back and bites you right on your release ass.

Daniel: It's true. I'm knocking on wood and crossing fingers and everything right now. I'm so lucky that it has been now six days since the release. The number one thing I'm satisfied with about this release is just that it got out the door. But the number two thing is definitely that I haven't had any major, super surprising...

I was actually talking with Manton, my other, my main podcasting squeeze, Manton Reece. I was just like, "Oh, you never know when you ship something." Like I alluded to earlier, the sandboxing is a little bit of a comfort for really catastrophic stuff.

But you never know if you just didn't think through something enough or, like you said, the technical debt catches up to you. Something that was impossible to know on release day comes back and makes itself evident on day two. So far, six days in, I'm starting to feel pretty good about where I stand with this. Hopefully I squeaked by on that one.

Gruber: Next thing you know, if you're not paying attention, you have a bug where you can log in as root without a password.

Daniel: Exactly.

Rene: Or your copy of MarsEdit just reboots over and over again every 30 seconds.

Daniel: The thing I said to Manton was from an indie developer point of view, somebody who's just trying to make a living off of one or a few apps, the nightmare scenario is you put something out into the wild that you think guarantees you some income. Then you inadvertently made the terms of it or the way that it's restricted somehow makes it everybody wants it but nobody needs to pay.

Rene: Nobody converts. Last question for you is what's next for MarsEdit? Are you going to take a break first? Do you already have ideas for what you want to do for the next version?

Daniel: I do have ideas. I've been trying to consciously prevent myself from thinking actively about the next big release. I said I got off pretty lucky with this release. But there's still a few bugs that I want to get fixed soon. It's funny. I think John joked with me on Twitter about when's the MarsEdit for iOS coming?


Daniel: It's always in the back of my mind whether and when to focus on that. I won't say that I'm working on it or that I'm going to work on it, but I would say over the past couple years at least, it got to the point where the urgency for me of getting MarsEdit 4 for Mac done finally became so significant that I had to write off any consideration of an iOS version until this was done.

I just couldn't justify working on an iOS version when, in my mind and by a lot of people's estimations, MarsEdit for the Mac had fallen behind to a point where it needed an update. One of the great things for me now about shipping this is feeling like I have a little breathing room. I have a little opportunity to assess, see.

I wasn't sure if this was even going to sell. It's been doing pretty well. I'm feeling like, when you're in indie, every release is kind of like a sanity check on the viability of your whole business.


Daniel: I was thinking, seriously, it's not an exaggeration to say that there was an outcome of shipping MarsEdit 4 that could have drastically changed my attitude about whether I keep doing Red Sweater. That's partially a consequence of investing so much into a release after so many years. I probably could have diversified.

It might have been better to release sooner, but when you get to that point where you're like, "I don't even know. It's been so long since I've engaged with like the core mechanics of this business. I don't even know if it's really viable." I'm encouraged by this. I think it's likely that it's a viable business, now.

Rene: I'm a huge fan. You just tell us what brand of scotch and how many cases, and we will try to...

Daniel: [laughs] I appreciate that, Rene. I said that the best thing has been getting it done and getting out the door. The second best thing has been not having any huge surprises. Easily, the third best thing, and this all comes way ahead of any of the financial considerations.

I mean I'm lucky in that respect, I have some stability in my life. I'm able to put satisfaction of getting the job done, satisfaction of not surprised by horrible bugs. Thirdly, just the satisfaction of everybody being so supportive and congratulatory, working, and being a part of this community for so many years.

One of the huge payoffs of that is you have, not just an "audience," but a group of friends, colleagues, and followers, who are actually invested in what you do, and then to do it, and then to have people appreciate it, it's a pretty good reminder of that kind of privilege of being an indie software developer that...

As great as the work I've done at like my career, at Apple, as satisfied by that as I was, there's no way to ever get that kind of direct support and enthusiasm. I really appreciate that.

Rene: We appreciate you doing it. We were all half scared that you would quit and team up with Gus Mueller, and make some sort of Metal2 accelerated pizza editing app.


Daniel: Now that sounds like a good idea. Now you're talking. I'm going to MarsEdit for iOS on the back burner, literally, as I work on some pizza burner.

Rene: [laughs] Rock it off in 1.0. If people are interested in learning more about MarsEdit or following you, Daniel, where can they go?

Daniel: Easy shortcut online, if you just go to, that's a registered domain that will redirect you to the MarsEdit page at Red Sweater. If you want to check out MarsEdit, it has a quirky personality on Twitter.

I'm also on Twitter as @danielpunkass. My company is on Twitter as @redsweater, all one word, so you can find me a few ways.

Rene: And shout out to Brad Ellis for doing a bang-up job on the new icon.

Daniel: Oh, absolutely. We could probably talk another hour about...


Rene: He'll come on and do it, I'm sure. [laughs]

Daniel: You should get him on. You asked, just to wrap this around to what you asked me earlier in the show, whether there was a plan for MarsEdit. [laughs] A lot of things weren't as well planned as they should be, and the updated app icon and the updated toolbar icons were relatively very late editions.

I really owe a lot to Brad for pulling that off. The impact of those changes has been, I think, enormous, and so I'm really grateful to him for that.

Rene: He's super talented.

Gruber: You know I was on your case to update that stuff, because I knew how much work you had done under the hood, and I think it's just one of those funny things that seven years ago when you started work on MarsEdit for this whole new look and feel of Mac OS that started in like 10.10, whatever version it was, wasn't even there yet.

It didn't need a visual refresh, but the interim, I think it did because psychologically, if it doesn't look new, people don't think it is new. Even though you wrote like tens of thousands of lines of code and update, support all these new APIs, and all these things are improved, if it doesn't look new, it doesn't feel new.

Daniel: John, thanks for mentioning that you were on my case about it. I was sort of omitting that in case you didn't want me to share that, but basically John was like, "This all looks pretty good, but you really need to do this," and I was like at that point in the development process, where I'm like, "Oh, Jesus. I don't want to do anything else."

It was like the last thing I wanted to hear, but in retrospect, it turns out to be one of the most important things that I needed to hear. It really turned out well, and I've thanked you privately already John, but thanks for putting a little fire under me to...

Gruber: My favorite little thing that's new in MarsEdit, I forget when you fixed this, if it was actually 4.0. I've been using the 4.0 betas forever, so I don't remember, but I was on your case for years about the refresh buttons in the toolbar. It's a circular arrow.

For years, they were pointed counterclockwise, not clockwise, whereas the Mac and iOS standard for refresh is clockwise. I don't know why, but it really bothered me.


Gruber: Every once in a while, there'd be like a MarsEdit 3.3.1 minor bug fix update, and I'd write to Daniel and say, "You still didn't fix the goddamn counterclockwise refresh button."

Rene: [laughs] Expect the behavior, clockwise.

Daniel: Finally, at one point, I did. I think I fixed at some point in the last few months, only, of course, to replace the icon for MarsEdit 4.

Rene: [laughs] Brilliant. John, always, whenever I ask him where he can be found, he doesn't really say, so I'll just point it out. It's and "The Talk Show," on your favorite podcast client. Thank you so much for joining us, John.

Gruber: Oh, it was great.

Rene: Thank you, Daniel.

Daniel: Great time chatting with both of you, and really fun to have the levity of spirit after shipping this to be able to talk with you both in an upbeat, kind of confident way.

Rene: I hope you had a good beverage in hand, because I know I did. It just makes...


Daniel: I did not start this holiday party yet.


Rene: All right, thank you both so much. That was terrific. You can find me @reneritchie on Twitter, Instagram, all the socials. You can email me at Let me know what you think about the show, and more shows like this, or other things you'd like to see on the show.

If you haven't subscribed already, you can do so at Apple podcasts, Overcast, Downcast, Pocket Casts, Caster, all the casters. The links are in the show notes. I want to thank you so much for listening. That's it. I'm out.


Rene Ritchie

Rene Ritchie is one of the most respected Apple analysts in the business, reaching a combined audience of over 40 million readers a month. His YouTube channel, Vector, has over 90 thousand subscribers and 14 million views and his podcasts, including Debug, have been downloaded over 20 million times. He also regularly co-hosts MacBreak Weekly for the TWiT network and co-hosted CES Live! and Talk Mobile. Based in Montreal, Rene is a former director of product marketing, web developer, and graphic designer. He's authored several books and appeared on numerous television and radio segments to discuss Apple and the technology industry. When not working, he likes to cook, grapple, and spend time with his friends and family.