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.
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?
- Images and movies flicker and reload constantly.
- 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 WordPress.com). 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:
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.:
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.