MarsEdit 2.1

January 31st, 2008

It is with great pleasure that I announce the immediate availability of MarsEdit 2.1, a significant update to Red Sweater’s Eddy-Award winning desktop blog editing application.

Download MarsEdit 2.1 From The MarsEdit Home Page

I’ve updated the high-level “what’s new” page, but of course I also love the sound of my own keyboard, so I thought I’d spend some time going into detail about what I’ve added to this release.

In summary, MarsEdit 2.1 has a new search feature, a new capsule-based tags editor, support for Movable Type tags, support for saving drafts to the server, massively improved preview performance and usability, and a bunch of other performance boosts and feature tweaks.

Now, how about some details?

Searching Drafts & Posts

While MarsEdit doesn’t completley mirror your blog’s post history, you can download a good number of your most recent posts, so that they’re handy for any edits you want to make. When you combine these posts, your local drafts, multiplied over a few blogs, it gets easy to lose track of things.

MarsEdit’s new search field makes it a snap to focus in on only the posts that match the search terms you provide. Let’s see, I could swear I wrote about NetNewsWire recently…

That was easy! I modeled the search after Mail, which means it’s sort of more accurately a “filter” than a search. It doesn’t have any of the fine-grained controls that Mail offers, but who knows where this feature might lead in future releases. Let me know!

Enhanced Tags Support

One of the things that the blogging systems of the world haven’t been able to get their story straight about over the years is whether to support tags, categories, or both. What’s the difference? In a nutshell, think of categories as hierarchical categorization, and tags as more for indexing purposes. For example, the City of Lincoln and President Lincoln both deserve the tag “Lincoln,” but one belongs in the category “Cities” while the other belongs in “Presidents,” while both belong in the category “America.”

The growing consensus seems to be that there is a place for both tags and categories, so lately there has been an increase in support for “proper tags” on blogging systems, and a corresponding increase in demand for proper support in MarsEdit.

MarsEdit 2.1 includes stunningly Mac-like support for tags, which work great with WordPress and Movable Type systems:

The Movable Type support is completely new, while WordPress users were previously able to enter tags in the “Keywords” field. The Keywords field is now disabled for WordPress, and replaced with the new Tags field, which offers better editing abilities, and keeps a history of tags you’ve previously entered.

Dramatic Preview Improvements

Ironically, one of MarsEdit’s finest features has also been one of its most frustrating. The basic idea is while you’re editing a post in MarsEdit, you can open up a preview window right alongside it. As you edit your entry, you’ll see an updated view of your post as it would be rendered by a typical web browser (Safari).

While this feature worked great in MarsEdit 2.0 and earlier, there were a couple really annoying quirks that I’m sure many of you have run into personally. Do either of these sound familiar?

  1. Images and movies flicker and reload constantly.
  2. Preview jumps to the top of the post when I’m editing a long entry.

They will soon be unfamiliar to you, as MarsEdit 2.1 uses a dramatically improved technique for updating the preview smoothly and almost immediately.

The preview scroll bar now “sticks” intelligently, so if you’re writing a long entry and you want to always see a preview of the end of your post, just scroll to the bottom of the preview and that’s where the preview will stay.

Finally, I noticed that for many users, the usefulness of the preview window was not immediately apparent because the default template looked too much like plain text. While I recommend customizing your template to look more like your own blog, I thought users who didn’t have the time or inclination to do so deserved something a little bit snazzier, while still quite subdued:

What I hope is that by seeing a little bit of finesse in the preview window, users will be more inspired to edit the template to their own liking. It also makes the default previews in the main window look a little nicer.

Save Drafts To Server

I bet many of you are currently choking on your coke, sprite, beer, whatever, as you read the heading above. Because requests for this feature have been pouring in for so long, and because I’ve been persistently hesitant to implement it, I’m sure it comes as a surprise that it’s finally happened.

Why did I resist so long? Because frankly the situation on WordPress and Movable Type, two of the most popular blogging platforms in existence, makes it impossible to provide a truly A+ user experience when it comes to drafts on the server. While the Movable Type interface that both of these systems use offers clients such as MarsEdit the ability to specify whether a post is a draft or not, they infuriatingly do not offer a means of distinguishing a draft from a published entry when posts are refreshed from the server.

So why did I give in, then? Because there’s only so much high ground to stand on, and the screams and pleas from my users have been quickly eroding that foundation. Bottom line? This is a useful feature that users want, and while I can’t promise a perfect experience for everybody, I hope that users who need it most will be able to “make it work” for themselves, in spite of the drawbacks.

To take advantage of the new feature, just open the Options panel in MarsEdit and select the post status from the popup menu:

Server Draft Usability Workarounds

As I said, I resisted implementing this feature for a long time because of the problems associated with it. So I feel it would be irresponsible of me not to detail the types of problems you will run into, and how you might work around them.

Blogger: No Problem!

Blogger uses an Atom Publishing-based interface that doesn’t suffer the problems described for WordPress and Movable Type. Bottom line? If you’re using Blogger and want to set the draft or published status of posts, have at it. Things will just work. Thanks, Blogger, you guys are champs! If everybody handled drafts like Blogger, this feature would have been done a long time ago.

Forcing Draft Status

Remember that annoying issue where I said MarsEdit can’t tell whether a post is a draft or not? It’s only true for WordPress and Movable Type. And the good news is that WordPress is fixing this in WordPress 2.5 (already fixed on But in the mean time you may be be interested to know about a little hack I built into MarsEdit so that you can effectively work around the problem.

This idea came from one of my beta testers (thanks David Chartier!): add a category “MarsDraft” to any of your posts, and when MarsEdit sees the category, it will automatically assume that the post is to be treated as a draft. So to make sure you don’t accidentally publish something early, just add the magic category, and remember to turn it off when you change the status to Published.

Enabling Movable Type Support

Unfortunately, things are even worse than already described, when it comes to Movable Type. Not only does Movable Type fail to provide a means for telling the draft status of a post, but by default, they don’t respect the draft status flag that MarsEdit sets on the post, either. At least, not in the way you would think it should.

Movable Type uses the “draft” status to mean “don’t rebuild the site yet.” But as soon as you do something that triggers a rebuild, your “draft” will go public automatically. Yikes! In order to make it interpret the status of a draft as you might expect, you need to alter your configuration file, adding the following line:

NoPublishMeansDraft 1 

On MT4 and later, this configuration file is called mt-config.cgi, while on earlier releases it is called mt.cfg. Apparently this configuration directive will cause your Movable Type installation to treat the draft status as you would expect if you’re using an application such as MarsEdit.

And… The Kitchen Sink

I’ve covered the vast majority of interesting changes that went into MarsEdit 2.1, and this blog entry is already way too long. I’m impressed that you got this far, so I’ll just let you know about a few other enhancements that made it in for this release, in case you’re interested:

  • LiveJournal blogs now get a real Title field!
  • Markup Macros are available from a contextual menu. Just control-click or right-click in the text area of the post editor.
  • Autosaving performance is dramatically improved, reducing the “pause in typing” that some people experienced periodically.
  • Heck, LOTS of performance is dramatically improved. Something feels faster? It was on purpose :)
  • The date editor sheet is now resizable. Some people have date formats that didn’t quite fit in the default. If this applies to you, just stretch the sheet wide enough to suit your needs.
  • There is now a preference for grammar checking, right there with the preference to do spell checking.

I don’t know about you, but I’m ready for a nap. I hope you enjoy this important update to MarsEdit 2. I look forward to getting to work on the next update!

Also Featuring … A Bug!

Update: I have so far been pretty lucky in that nothing terribly wrong has been reported by people trying out the new release, but one thing that’s biting quite a few people is a problem with the preview templates, when placeholders are used as attributes in HTML tags, e.g.:

<a href="#url#">Hello!</a>

I guess this behavior was just not common among either myself or my beta testers, so we didn’t catch it. I’ll be sure to get it fixed for 2.1.1.

Workaround: it looks like if you use single-quotes instead of double-quotes to wrap the template name, it prevents the bug from rearing its ugly head. Thanks to Michael Tsai for noticing this.

29 Responses to “MarsEdit 2.1”

  1. Max Says:

    Oh my god! I can save drafts on server! I finaly bought my upgrade just for this feature. Could you offer a way that the Command-S shortcut will save the posting as draft on the server? Pleeeeeease?

  2. Grayson Says:

    Sweet Jesus! I would have paid again for search support alone. Thanks for the great update.

  3. Michael Mistretta Says:

    Awesome update! Thanks a lot. Those Preview bugs were really annoying.

  4. Peter Andrén Says:

    Coming from the pc world and searching for the right tools its pure joy to have a tool like MarsEdit at your hands. Well worth the license fee.

    Thanks for a great program!

  5. Chris Thomson Says:

    Great work! I’m lovin’ the save to server feature! :)

  6. Dr J Says:

    THANKS for adding the draft to server feature. Big help for many of us.

  7. Brent Simmons Says:

    Great update! Congratulations!

  8. Jamie McFarlane Says:

    Am I missing something because I downloaded 2.1 and when I start a new post there is no tags field at all, I’m using a WordPress blog. I can’t find any option to turn it on or anything either. Help?

  9. Daniel Jalkut Says:

    Jamie: are you using a version of WordPress that supports tags? I think it was 2.3 when they were added. If so, you should be able to choose

    View -> Tags

    From the main menu, while editing a post. There are many options which are not visible by default because I don’t want to clutter the UI for people who are not interested in them.

  10. Ryan Ballantyne Says:

    “This idea came from one of my beta testers (thanks David Chartier!): add a category “MarsDraft” to any of your posts, and when MarsEdit sees the category, it will automatically assume that the post is to be treated as a draft. So to make sure you don”™t accidentally publish something early, just add the magic category, and remember to turn it off when you change the status to Published.”

    Maybe I’m misreading this, but it looks like it’s saying you have to add the category by hand. What’s stopping MarsEdit from just handling it transparently? As in, adding the tag for you when you set the status to “Draft” and removing it when the status is changed to “Published”?

    But anyway, looks like a fine update to a fine app. If I ever start blogging I’ll definitely be doing it with MarsEdit.

  11. Daniel Jalkut Says:

    Ryan: the main problem with doing it automatically is not every system is broken, and I wouldn’t want to impose this kludge on every user. So to do it automatically I’d have to take responsibility for guessing whether it’s broken or not.

    For this kind of “hack” I’d rather build it in as bluntly as possible and hope that things are fixed properly on the server instead. So instead of putting to much time into perfecting an already-broken situation, I’d rather offer a modest workaround and move on to developing other features.

  12. Charles Says:

    Oh, lordy, the fix for the preview is so big I’m surprised it wasn’t in Steve Jobs’s keynote speech :-)

    And all the rest is a huge improvement too. Fabulous.

  13. gaba Says:

    Can’t even believe that we suddenly get so many great features, out of the blue! Oh, how badly I wanted to have search, tag-support, and server-side drafts! Now I got them all! Thank you so much!

    However, I’m still learning it: I can’t enable the Tags Field on my WordPress 2.3.2 blog (it’s grayed out, I have only the Keywords Field), and can’t find any way to distinguish drafts and normal posts in the main post list (but if I open the individual posts, I can see its Post Status), but I will hopefully find the solution to those sooner or later.

  14. Daniel Jalkut Says:

    gaba: try opening up your blog settings in MarsEdit. Does it list “WordPress” as the system type? In any case, try clicking the “Auto-Detect” button. It will make sure MarsEdit is up to date with your blog’s capabilities. Then see if the Tags field is an option in the menu.

    As for the Published/Draft distinction, there is currently no UI differentiation. That’s a good idea, though.

  15. gaba Says:

    Daniel: thanks, the Auto-Detect button immediately fixed my program. And how elegant is the tag handling! I really admire you. :)

  16. Jesse Says:

    On top of the usefulness of the search box, its presence gives a more balanced look to the main window – makes the toolbar look more complete. Awesome update. Thanks Daniel!

  17. Jens Alfke Says:

    Thanks for showing LiveJournal users some love! I think it may be time for me to buy a copy now that it works with both my blogs =)

  18. Dave Dash Says:

    I upgraded to WP2.3 because of this, and after doing the autodetect settings, tags are still grayed out for me…

  19. Daniel Jalkut Says:

    Dave can you confirm that a post editor window is open when you check for the tags menu item? Are ANY of the items not grayed out?

    And if you’re still seeing the other items, e.g. Keywords, can you look in the weblog settings and confirm it got your system right as “WordPress” ?

    I just tried on my copy of MarsEdit and it seemed to detect everything right, and Tags are available.

  20. Dave Dash Says:


    I got it to work, somewhat, when I deleted spindrop from my blogs list and created a new one entirely.

    I got the tag bar to show up, but now when I post, the tags don’t go through. It’s like the tags just disappeared.

    I can talk to you “offline” if you’d like if you want to try posting to my server with an account.

  21. Jono Says:

    I had the same problem as Dave. But it’s all OK now I’ve gone to blog settings, selected WordPress as the blog type then auto-detected.


  22. Tom Biro Says:

    Definitely having the same problem here that Dave Dash and Jono are talking about, but my settings already had all that info in there. I key my tags, they seem to “take,” but after sending a post, there are now only ????? in the tags field when I go back to look at the post(s) I’ve uploaded since upgrading to 2.1. My tags worked fine in this template using the keywords field before 2.1, and now they just don’t seem to be saving.

    I’ve got “WordPress” chosen as the blog in my settings, and I did another Autodetect just to be sure, but no dice. Tags are *available* for me to key in, but they’re just not posting to the blog itself when I publish.

  23. Daniel Jalkut Says:

    Anybody having the “Tags just don’t show up” problem on WordPress, please consider moving conversation to the forums:

    Something is going on and I am working with a couple people now, to look at their Network Logs. I hope to discover something soon and will keep that forum thread updated.


  24. Chris Pinard Says:

    Are there any plans, anytime soon, to expand Livejournal support closer to parity with some of the other blog systems? The one feature I’m most keenly interested in is being able to set a post private or friends-only/custom friends filter only.

  25. Daniel Jalkut Says:

    Chris – the big issue limiting my work on LiveJournal has been sort of wondering whether they’re going to take AtomPub seriously and implement that protocol to a degree that I can take advantage of all the features, or whether they’re going to take it slowly and let their custom “LiveJournal API” remain the standard way of accessing all the extra features.

    Right now, MarsEdit uses a sort of dumbed down Blogger-style interface to LiveJournal, and I’ve thought about using the specific LiveJournal API, but I don’t want to put a lot of work into that if it’s going to be subsumed by a new AtomPub based implementation.

    In short, it seems to be a time of flux so I am sort of waiting until the dust settles before I decide one way or the other how to best handle LiveJournal support.

  26. gigasoft Says:

    I’ve just upgraded my MarsEdit installation but with some problem.
    I use WordPress 2.3 (the last version) and because of this I can see the new Tag input.
    However, I fill this with every tag I want, then post and none of them are displayed on the site (also reopening the post in marsedit the tag input is empty)..
    ..oh, off course I can’t use keywords input because is disabled.

    Don’t know why.. :(

  27. gigasoft Says:

    SOLVED: those who have OsX 10.4 have to download the beta ( in order to get tag fixed.

  28. Matthew Smith Says:

    I’m the author of QTM, a (mainly) Linux desktop blogging tool. I recently upgraded to MT 4.1, and your advice regarding “NoPublishMeansDraft” seems no longer to hold on Movable Type 4; I have NPMD1 set in my config file and it still posts it Scheduled when I submit it from QTM as draft. (I’ve not tried MarsEdit.) Oh yeah, MT 4.1 broke other things about my setup as well, like the whole search facility.

  29. Daniel Jalkut Says:

    Hi Matthew – that’s a shame. I don’t run MT myself so the advice was sort of “on blind faith” – but I wonder if somebody else reading can offer any advice.

Comments are Closed.

Follow the Conversation

Stay up-to-date by subscribing to the Comments RSS Feed for this entry.