A year and a half ago I was playing around with blogging clients on Windows. That happened to be shortly before I bought my MacBook Pro and so I never really kept playing with them. I wasn't blogging much and it dropped even more for much of the last year so I hadn't even installed a blogging client on the MBP. I'm finally getting back to more consistent posts and composing in the browser is really starting to bug me again. I find I prefer to keep a draft around and tweak it before publishing and I travel quite a bit so offline writing is common for me. I'm an old-skool, text kinda gal and I love me some Textmate so I have mainly been composing my posts there and then doing copy/paste into the browser when I'm ready. Yes, Textmate has a blogging bundle and no, it doesn't work for me for some reason. The random times I've tried to set it up I always have some sort of connection issue and it simply doesn't work for me to post directly from Textmate. Maybe someday it will magically start working for me but I suspect I will be using a full-blown client by then. I suspect this because I've downloaded Ecto and MarsEdit to give 'em a spin and see if I can get something that just makes it easy for me to type and post at long last. I've written a few posts using both of them and while not an extensive test, it let me get comfortable enough to decide.
My needs are simple. I don't do much fancy stuff in my posts and I'm not a fan of the WYSIWYG. All I need is something that lets me type HTML with some nice tag helpers for things like links and lists which are tedious to type out every frickity time. Occasionally I also add images to my posts but I don't use Flickr and so if the client can upload the image to the right place on the server and make the right img tag, then I'm in heaven. My only last must-have is that I can see my terms and freetags to categorize posts properly. It would be lovely if I can add tags from the client but it won't break me if I can't - I'm not a tag whore and all of my common ones already exist. Aside from these meager requirements, it of course needs to just work, i.e. post stuff correctly to my Drupal 6 site.
In this corner we have Ecto ($17.95), which is available for both Mac and Windows. This was the one that I chose over Windows Live Writer in my last review so long ago and I chose it because it actually worked with my Drupal site while WLW didn't at the time. Ecto still "just works" with my Drupal site, now using Drupal 6.1. Setting it up to see my blog was easy and it immediately saw my Drupal taxonomy so that I could check off the terms I wanted for my post. I prefer to write things in HTML (I don't trust WYSIWYG - they always do something weird to my text) so I set about fixing that up to be my default and playing with the colors. Ecto has a keyboard shortcut to close HTML tags which is about all I need. You can add your own custom snippets as well as we'll see later.
The first thing I noticed about the existing posts it retrieved from my site was that the line breaks were all fubar. As in, it didn't recognize regular ol' line breaks and seems to really need HTML tags for that (Drupal has a filter for them so I don't bother typing in
<br /> tags.) That was bummer since this is true for the post previews as well, so basically my previews look slightly weird due to missing line breaks. Speaking of filters, Ecto does recognize that my posts can be posted in Filtered HTML, Full HTML or PHP and lets me select my input format per post.
Finding how to add an image was a pain (i.e. an "I feel stoopid" frustration experience) because I went straight to Import Media which only has my iPhoto pictures. I have a ton of pictures not in iPhoto. I had to use the help to even see the "Insert image" button on the post toolbar (versus the editor toolbar where the Import Media button is.) The help didn't actually even tell me about the button specifically, it just intimated there was something to do that. The help did also let me know about using dragging and dropping directly into the editor too, which is nice. So once I got that figured out adding images was a breeze and it let me set the image size I wanted to upload. You can set all kinds of things if you want, like a CSS class or specific inline styling, rename the filename on upload, etc. Once I had things the way I wanted it uploaded the image to the server, made the right img tag and all that other fun jazz. Basically, pick image, manipulate the settings on it (if you want), done. Ecto takes care of all the work part.
I also made a new custom tag for my photo captions. This entailed clicking the Custom Tags button, filling in the form for what HTML tag I wanted along with the class I wanted to add, etc. Then I selected a button to add to my post toolbar. I wasn't quite sure what the button setting was at first but now that it is there I can highlight any text in my editor, click the button and it gets wrapped in the correct markup for my site's CSS to make it purdy. I can also assign a keyboard shortcut.
In terms of my needs and generally impressions I'd have to say that Ecto has more "things" that I don't need (Rich text editor, Flickr and Amazon thingies) but I'm sure others find those useful. Overall the interface is "fine." Not stunning, but definitely workable, especially once I cleaned up my toolbar and removed junk I don't use. I wish I could remove the Rich text editor button since it is dangerously close to buttons I do use and I clicked on it once and everything got right screwy.
The other contender is MarsEdit ($29.95), a Mac-only application. The setup here was a little rockier than Ecto but didn't take too long for me to sort out what was going on. The first hurdle I had was retrieving existing posts. It turns out that MarsEdit assumes that I am using a blog content type (which I don't since I just have a single-user blog.) After a short Googling I found out that I just needed to change the "Blog ID" in the blog settings to "story" (the content type I do use) rather than "blog." The next head-scratcher was the fact that I couldn't get any of my taxonomy. Back to Google I went and this time I turned up a Drupal problem, not really MarsEdit's fault. There is a patch in the issue queue for core to fix this little bugger and once I applied that, my taxonomy showed up and worked fine. EDIT: this is now fixed in Drupal core as of Drupal 6.5.
One thing I liked about MarsEdit from the start was that it has no WYSIWYG (though I know many people will cringe at that) and overall the interface felt much cleaner and saner. It also handles the line breaks in my posts so that the local preview actually looks correct rather than all mooshed together. Ahhh. Even though it does not have a WYSIWYG editor, it does have numerous options for text editing, including regular ol' HTML, Textile, Markdown and others. I'm not a fan of various markup filters myself and just used HTML, but it is nice to have a selection. The one bummer here is that it only lets me select Filtered HTML or None for my format. I couldn't find a way to set it to Full HTML.
MarsEdit does have handy shortcuts for HTML editing and also allows you create custom tags. Again, the interface for this is much simpler and cleaner - more my style. It does not let you create a button in the toolbar for your custom ones but it does allow keyboard shortcuts and adds it to the overall markup dropdown so it works swimmingly for me.
The images bit started out well for me with high hopes, but ended up not being a win in the end. The Media button does just what it says and lets me get pictures from iPhoto, browse anywhere on my machine or drag and drop into the Media popup. I love having it all there under one button. Again, score for interface. I was then a little disappointed that I couldn't do anything else with the image. It created the img tag for me and then I needed to manually edit the HTML. That isn't a biggy but not being able to resize the image really kinda sucked since I take pictures at sizes that won't fit into a post on my site. That means I have to manually resize in some other graphics editor before I go to add it to a post. The other slight annoyance was that it immediately uploaded the image when I added it t the post. If I decide later that I don't want that picture, I can remove the img tag from the post but the image itself is still sitting on my server taking up space. No biggy, but Ecto defaults to uploading upon publishing and gives you the option to immediately upload if you want. So interface, yay!, features, fine.
Basically, I really like the interface and simple, clean feel of MarsEdit. It is a little lacking in the features but definitely feels good and solid in what it does offer.
So aside from the core bug that effects MarsEdit's taxonomy work, there is a Drupal bummer that no software can currently work around. Neither of these programs can add new tags to posts. I can use my existing taxonomy terms but that's it. This is due to what Drupal makes available in its XMLRPC. Apparently WordPress has got it working by creating an extension to the Movable Type API (which is the XMLRPC API that Drupal and many other blogs use.) I haven't actually found out any details about that (though I didn't search very hard) and so my info here is taken from a MarsEdit thread. If anyone has details on this, or even better a patch, please do tell. At the end of the day, I am not a tagging maniac so most of what I want to use already exist on the site. In the instances where I really do want to add something, I'm fine with logging in and adding it.
For me, at the end of the day, they both pretty much do what I need. I prefer MarsEdit's interface but Ecto has some nice image features and is cheaper. If it was just a question of the price, I'd so pay the extra $12 to get the MarsEdit interface and feel but the image handling is seriously enough of a win that I bought a license for Ecto. Overall I feel that, in that "random reviewer, i'm-making-stuff-up cuz that's how it feels" way, that MarsEdit is a really solid, well thought-out product that is moving slower in features to make sure they implement them right the first time while Ecto has more of a bolted-on, getting-it-done feel. I appreciate the careful, solid approach but, as a typical end user, I want my features so I don't have to think/work so hard. I'm using Ecto but that doesn't mean I won't keep an eye on MarsEdit down the road.