I made the move to Firefox over the last few days, and as a result I've been exploring the wealth of Firefox extensions which is also available. One of them is Performancing, which adds a basic WYSIWYG offline editor for blog posts to Firefox - and this in turn brought me to look more widely at the current state of blog clients: software which enables the offline writing and editing of blog posts for later submission to a blog, using a standard XML-RPC interface. Unfortunately - especially as far as real WYSIWYG editing is concerned (as opposed to editing plain text with a few HTML tags thrown in) -, there still isn't that much out there. I did find at least a couple of promising options, though.
My own blog runs on Drupal, which supports a number of XML-RPC standards, so finding a blog client which integrates well with this system was crucial. I also wanted a freeware solution, which rules out the popular ecto (which, like the freeware mainstay w.bloggar, also doesn't do WYSIWYG). Other options I explored were Zempt and PowerBlog, but both proved to be somewhat buggy - Zempt occasionally crashed if it received an error message from the blog, and PowerBlog similarly froze on occasion.
Which left me with two credible options - Qumana and Zoundry Blog Writer. Both offer good WYSIWYG support, including integrated image and file upload, support for tags (Zoundry supports Technorati, del.icio.us, Flickr and a number of others), and Qumana's 3.0 beta as well as the developer pre-release of Zoundry 1.0 also switch effortlessly between WYSIWYG and HTML view. Making either of them work with my blog required a little Drupal tweaking, though - by default, at least my 4.6 version of Drupal only allows basic HTML tags in blog posts submitted through XML-RPC, and fails to apply a copyright licence to such posts (the blog API doesn't talk to the optional copyright.module). For the record, inserting the following two lines into the blogapi_blogger_new_post() function in blogapi.module helps:
$edit['format'] = 3;
$edit['cpyid'] = variable_get('copyright_default', 1);
And blogapi_blogger_edit_post() needs this one:
$node->cpyid = variable_get('copyright_default', 1);
Of these two clients, then, Qumana is clearly the more flashy one - it incorporates a nice blog manager and comes with a 'drop pad' mini window, onto which the user can drop links and text excerpts to be blogged; for those so inclined, it also has functions to insert Adgenta ads. (Zoundry Blog Writer has a 'recommend' function which lets user link blog posts to merchandise from Amazon and other vendors, with some kickbacks going to Zoundry.) The Qumana image insertion function also looks good, but unfortunately in the 3.0 beta image dragging can still cause the client to freeze (a known bug). More frustratingly, I also wasn't able to make Qumana use my topic categories - while it recognises the categories my blog uses, and allows me to attach categories to blog posts, the eventual posts still weren't categorised properly, whatever I tried.
Happily, there were no such troubles in Zoundry Blog Writer - it recognises the categories, and sets them properly upon posting. It could do with some improvement of the user interface, though - it's hard-wired to use a U.S. date format (mm/dd/yyyy, 12h instead of 24h time codes), there are a number of non-standard (on a Windows system) selection boxes, and it would be great to be able to set some default display styles (using CSS) to make text in the blog client look more like text in the blog itself. So, for now Blog Writer will be my blog client of choice - but I'd be happy to switch to Qumana once it turns more stable and fixes the category problem.
The Performancing Firefox extension itself also isn't bad, by the way - but it comes with very limited text formatting options (doesn't even support indented text using blockquotes), and can only link to images and other files, not upload them. As a tool that's directly embedded in Firefox, it's useful for quick posts, but having a separate, stand-alone editor can be handy for longer posts as well.
Overall, though, I'm surprised there aren't any more well-developed blog clients yet - it's not a good sign that even my picks here, Qumana and Zoundry Blog Writer, are only really useful in their current beta versions, and the standard version of Zoundry as well as the Zempt and Power Blog tools still only exist in pre-1.0 versions; from all I can tell, the rest are simply HTML editors, not WYSIWYG. If there's another blog client for Windows that I've missed here, please let me know - otherwise, for now this post and others to follow are brought to you by Zoundry Blog Writer.
Comments
Fixing the Date Format
OK, a quick fix for the date format as it's displayed in Blog Writer:
Note that this breaks the calendar tool, though, which appears to be hardwired to accept only a U.S. date format.
Also, another minor glitch: Blog Writer doesn't appear to add the time zone offset when posting content (so all my posts from GMT+10 are backdated by ten hours). Not sure if there's a similarly easy fix...
Timezone Fix
Following on from the previous comment: there is a fix for the timezone glitch, by editing Drupal's blogapi.module: in _blogapi_mt_extra(), change the call to the PHP mktime() function to call gmmktime() instead.
Externalzing the calandar date control format
Snurb,
Saw your comment on the calendar control bug. Major bug - did not catch it until we saw your post. Thanks! We have fixed this in build 21. The 'blogui.wx_datecontrol' key now takes the values MMDDYYYY, DDMMYYYY or YYYYMMDD.
ps: All date-time values sent out via xml-rpc is UTC - not local time.
Re: Externalizing the calendar date control format
Fabulous, thanks - works nicely now. Good to see the other developments in the latest version, too!
Still some minor issues with localisation, though:
* in the properties pane, it's possible to change the post modification date to use 24-hour time format - but not the posting date
* it would be great to make the extended post break (<!-- more -->) localisable as well
Great work overall, though...
Axel Bruns