This blog is part of a series, Checklist for Starting Your Own Blog Business.
When starting my blog, I wanted to find a tool that would allow me to quickly create blogs, with powerful yet flexible functionality. Here’s my checklist of “must have” and “nice to have” features:
- Setup:
- Ability to post to my Visual Studio development server as well as the production web server.
- Writing the Blog Content:
- Quick and easy to compose/write the blog posts
- Easy to include a picture in the post
- Writes clean HTML that renders nicely across multiple browsers (i.e. standards & semantic web compliant)
- Easy to format code (syntax highlighting)
- Gives me full control of the final HTML
- Edit the Blog’s MetaData:
- Manage Posts:
- Edit existing posts
- Delete existing posts
The following is my ranking of tools for writing blogs. The rest of this post will provide more detailed reviews, in this order.
- Windows Live Writer (MY PICK) – the best combination of features, cost is free, very clean output
- Using the blog server software’s online post editor – less robust editor, but available anywhere
- Microsoft Word 2007 – hands down the best editor, but the HTML output and ability to manage blog metadata and posts was too weak
- BlogJet – not quite as robust as Windows Live Writer, also not free… however, the tool itself looks much more polished than WLW
- ScribeFire Mozilla plug-in – nice if you like to blog about web pages you discover while browsing with Firefox
- BlogDesk – less features than Windows Live Writer, did not try
- Web page HTML editors – good HTML output, no blog management
- Contribute – wouldn’t post to my ASP.NET development server
- Blogger for Word – discontinued product for older versions of Word; did not try
- RocketPost – poor support; did not try
Conclusion
In an ideal world, there would be a tool with Microsoft Word’s editing power and portability – along with WLW’s ability to insert blog metadata – plus better overall blog management screens – and better image management. In the real world, I am using several tools to write blogs and manage my blogs: composing and publishing with Windows Live Writer, taking screenshots with SnagIt, and using Microsoft Word to share post drafts with my editor.
Hopefully I gave you some helpful information about these blog writing and publishing tools. I learned that there still wasn't a perfect tool for writing, publishing, and managing blog content. In my opinion, Windows Live Writer provided the best combination of usability and features. I'd love to hear what tools you are using and how you view their pros and cons.
My favorite tool is Windows Live Writer (WLW). It was very easy to set up and rich with features. Setting it up with my ASP.NET development server was possible by entering the localhost address in the Weblog Homepage URL and also editing the Proxy Settings with the development server port number.
Setting up WLW on my production web server was easy. The hardest part was remembering to take off the Proxy settings. With BlogEngine.NET 1.3, WLW could automatically detect my blog and its settings. If auto-configure doesn’t work, you will get the Update Account Configuration screen. If you get this screen, your blog engine’s documentation will tell you how to connect. For BlogEngine.NET 1.3, the wiki and Al Nyveldt provided me with the necessary info.
If your network connection settings aren’t correct, you might get one of these error messages. The “400 Bad Request” message is especially confusing. I got it when I left my proxy settings configured for the ASP.NET development server (currently port 4266), but was trying to connect to my production web server.
WLW wanted to make a temporary post to my blog. I chose to do this. I have appreciated the ability to do a "Web Preview" before posting. The temporary post didn't impact my blogsite.
When you get it right, you'll see this happy screen. Then you’re good to go!
All of the tools I reviewed allowed basic WYSIWYG editing. Writing the content of a blog in WLW was a little cumbersome. For example, changing text to a Heading 2 will scroll the screen to the top of the file. Also, it did not provide an easy method for adding background color. Sure, I can switch to HTML view, wrap the text in a <span style=”color:Yellow;”>, but it would have been great to have that functionality baked into the editor.
The HTML output was nice. However, it did have some occasional quirks. If you want a “Heading 2” that contains a link, you have to highlight your text, Insert Hyperlink, and finally convert it to a Heading 2. Doing it in another sequence (i.e. make the H2 and then add a Hyperlink to it) will result in an orphaned H2 tag and a regular sized link, as seen in this HTML code:
<h2></h2>
<a href="http://get.live.com/writer/overview">Windows Live Writer (WLW)</a>
Another quirk was dealing with bulleted lists. Copy, paste, and move operations with bullets was kind of unpredictable. For example, I tried to paste some bullets from one list to the end of another list. It put the <li> after the </ul>, essentially making these become orphaned bullets. When “cutting” an entire line containing a bullet, WLW only took the text content of the bullet, not the bullet itself.
A copy & paste from Word to WLW gave nice HTML markup. There was some “fixing” to do, but overall, the output was very clean. For example, it converted my Heading 2 from Word to <h4> tags. It also did not preserve the bulleted and numbered lists. The pictures, font coloring, and hyperlinks all copied exactly as I wanted. However, copying images from Word to WLW severely degraded their quality and resulted in cryptic image file names.
Adding pictures was somewhat easy. I could use the Insert Picture button, paste them from the clipboard, or even drag them from a file folder. However, pasting pictures from the clipboard will result in cryptic filenames like “image_2.png” (which is not good for accessibility or SEO).
Copying pictures from the file system retained their file names and also produced good quality images. Using .PNG pictures (of screenshots) gave better picture quality with smaller file sizes. WLW had a nice feature that showed the file sizes in the lower-right corner of the screen. I disliked the default picture settings. For each picture, I changed the WLW image settings to original size, no borders, and no links. It would have been nice to configure those as my default options.
Personally, I prefered to have the full-size image right there in the blog post unless it was too wide to fit in the display area or the file size was too big to be appropriate for a blog home page. I prefered the full size image especially of screenshots. It broke up the reading to click to another screen just to read the contents of a screenshot. Often, the file size of a screenshot's thumbnail was not small enough to justify making one. The thumbnail file size was a lot smaller when using JPG pictures from my digital camera.
I used SnagIt to take screenshots, saved them as PNG with nice filenames, dragged them onto my post, and finally edited the WLW picture settings.
I found a good solution for code syntax highlighting. Using Jeff Atwood’s FormatToHtml Visual Studio macro and WLW’s Paste Special feature (Keep Formatting), I was able to include beautifully formatted code.
You can also edit the HTML by using the View menu and selecting HTML Code. It usually kept my customized HTML, but not always. It did convert some code, like HTML Coded Characters, back to “human readable” ASCII.
The biggest strength of this tool was its ability to edit the blog’s metadata. By default, you can see the categories and publish date editors at the bottom of the window. Clicking the little double arrow gives you the rest of the form, allowing you to edit Tags (Keywords), Slug, Description (Excerpt), and open/close comments.
It is important to notice that WLW calls normal tags by the name “Keywords” and the Insert Tags menu item will insert things like Technorati Tags.
You can save local drafts of your blogs in WLW. You find them with the Open button, then the Drafts tab. The drafts are saved to your computer, so they will not be available anywhere else (online) unless you “Post Draft to Weblog.” This feature is compatible with BlogEngine.NET online drafts. The locally saved drafts also must be opened in WLW. At this time, you cannot easily open them with another tool, like Microsoft Word.
Managing posts was easy. It allows you to open a post from your locally saved drafts, drafts saved to the web server, or already published posts. One complaint I had was that, when opening a post from the blog web server, I could not tell the difference between draft posts and published posts.
As described by Michael Arrington from TechCrunch, what makes WLW stand out is that there was a community of people who are making extensions and plug ins. This active community greatly expands the feature set.
For BlogEngine.NET 1.3, it would be great if there was a WLW extension that allowed me to add file links to my blog!
Since the help that comes with the software was not very helpful, here are some good WLW resources:
Compared to word processors like Microsoft Word, writing with this tool was slow and awkward. Luckily, most blog posts only require basic formatting, so the editor capabilities of WLW were good enough. On rare occasions, I needed to clean up the HTML code being produced, which was annoying but tolerable. It turned out that it was quicker to write the posts directly in WLW than to write them in Word and copy/paste them into WLW.
The real selling point for me was the ability of this tool to manage a blog’s metadata and the extensions API. In the end, I decided to use this tool for composing and publishing my posts.
Using the blog server software’s online post editor
BlogEngine 1.3 uses TinyMCE as its online WYSIWYG post editor. There are two main advantages for using the built-in post editor. First, it is available from anywhere (because it is online). I do almost all of my blogging from my office, so this was not an important feature for me. Second, it includes all of the special features that come with your blog engine. For example, the BlogEngine.NET Add Entry form includes the ability to upload a file and link it from the blog post. I didn’t see that with any of the other tools.
A copy & paste from Word to TinyMCE did not include the images that should have been copied over. It also inserted proprietary Word markup (MsoNormal).
A big disadvantage for me was that the TinyMCE editor automatically reformatted the HTML of my posts. Usually, that did’t matter. For the times that I needed complete control over the rendered HTML, that was unacceptable.
Another disadvantage was that the online post editor didn’t come with as many advanced features as software like WLW or BlogJet. For example, WLW had image editing and Technorati tagging capabilities.
Yet another disadvantage is that the editor window inside these online forms is typically very small. When writing anything larger than a trivial post, it would get frustrating to be limited to such a small piece of the screen.
Basically, using the online post editor was a distant second choice compared to WLW. The online editor was acceptable if I was away from my main computer and wanted to write a quick post. For regular writing, it was nowhere near as nice as using a tool like WLW.
Microsoft Word 2007
Publishing blogs is a somewhat unknown feature of the current version of Word. To find it, open a new document and select Installed Templates, then New Blog Post. (Thanks to Michael Lotter for providing a walkthrough of setting up blogs with Word 2007.)
It will prompt you to add a new provider. You can click Cancel to skip provider setup and start writing your blog post.
To set it up with the ASP.NET development server, remember to include the port number and the url directly to the API.
BlogEngine handles the pictures just fine, so the default setting worked.
You also don't have to start with a special blog template. Sahas Katta at Skatter Tech explained how easy it was to publish a typical Word document (.DOC or .DOCX) to a blog, by simply using the Publish menu:
Sahas goes on to advocate that you write your blogs in Word, publish them as drafts to the web server, then go back with another tool to edit the metadata.
Phil Bernie wrote a thorough post describing the benefits of blogging from Word. My favorites were “You’re probably already writing your posts in Word anyway” ... “Word is THE Swiss army knife of editors” ... ”Publishing to Multiple Document Types” ... and the ability to save drafts or “Ctrl + S”. He also explained that you have a backup of your blog content that can be quickly reformatted for print media or converted to PDFs.
Your draft blogs are saved to your computer, so they will not be available anywhere else (online) unless you “Publish as Draft.” The online draft feature is compatible with BlogEngine online drafts.
Adding pictures was extremely easy. It let me paste them from the clipboard, drag them from a file folder, or use the Insert Picture button. Like most blogging software, Word will upload the images for you. Colin Neller demonstrated the beautiful image styling you can apply with Word 2007.
Joe Friend from MSDN Blogs stated that writing blogs with Word 2007 wasn’t committing “HTML suicide” anymore. Sarah from The Official Everything TypePad weblog wrote, “Better yet, the HTML the tool writes to your blog is in a simple, blog-friendly format. If you’ve ever found yourselves cleaning up complex HTML after copying and pasting from Word, you’ll be sure to appreciate this!” Several people commented on Joe Friend’s blog that the Beta 2 version didn’t product XHTML-compatible markup because the element & attribute names weren’t all lowercase, not all attribute values were wrapped in quotes, and empty elements didn’t end with />. I just checked the HTML output from the final version and these issues have been fixed. Jon Udell further wrote about the pros and cons of the HTML produced when using Word 2007 to post blogs.
In my experience, the HTML output by word was fairly clean, but still not good enough. I tried to make a hyperlink that was also a “Heading 2.” Word created the following output when published to my development server. This markup worked in IE. But it did not work if opened up by Windows Live Writer. The problems with this one code snippet are:
- the </a> should be contained within the <h2>
- the blue underline style should not be added inline (this was Word’s auto-formatting for hyperlinks)
- there should not be an extra <h2>
- the whole thing should not be wrapped in a <p>
<p><a href="http://get.live.com/writer/overview"><h2><span style="color:blue; text-decoration:underline">Windows Live Writer (WLW)</span></h2></a><h2>
</h2></p>
Word has an awkward bug that truncated hyperlinks when I published a blog post. For example, I set a hyperlink to navigate to “http://codex.wordpress.org/Glossary#Category” in a post where I was talking about categories. When I published the post from Word, the hyperlink was truncated to just “http://codex.wordpress.org/Glossary” – notice that the “#Category” was stripped off. This was significant! The “#Category” part of the URL refers to a named anchor… which means it will scroll the browser down to a specific part of a web page. Usually this didn’t matter. Sometimes it was very important. Based on a tip from this discussion, I learned that the issue was the way the “Insert Hyperlink” dialog defines the hyperlink field codes. A workaround was to manually edit those definitions. Use ALT+F9 to toggle the field codes. Now you can see how word constructs hyperlinks.
This is the field code for an incorrect hyperlink that will truncate the named anchor when published:
{ HYPERLINK "http://codex.wordpress.org/Glossary"\|"Category" }
This is the field code for a correct hyperlink that will preserve the named anchor when published:
{ HYPERLINK "http://codex.wordpress.org/Glossary#Category" }
Pictures published from Word retained barely acceptable quality on the web. I noticed that the white background in dialog boxes was turned into a grayish color. However, they did not retain good filenames (for example, a picture from this blog entry was renamed to 040708_2253_ReviewofToo1.png. The Alt text was not filled in.
Formatting code was identical to the other tools. I used the FormatToHtml Visual Studio macro mentioned earlier.
Word 2007 did not give the option to view or edit the HTML being produced. For posts that require more control over the final HTML, you need another tool.
Word was surprisingly lacking in editing the blog’s metadata. I could enter categories, but that was all. It did not support editing tags, description, slug, comment management, or the published date. It was possible to open an existing blog post, but the Open Existing dialog was not a tool for managing a blog’s posts. There was no ability to delete an existing post. One rather nasty side effect occurred when opening a blog post that already had metadata, like tags. Editing an existing post and republishing it from Word 2007 erased the previously saved metadata. Yes, the tags I wrote so carefully were deleted.
Trying to find help was frustrating. The built in help about blogging was the same as their online help and getting started article. This help from Microsoft was weak. Due to Word being used for “regular” writing much more than blogging, I had a difficult time finding resources about "blogging from word" with Google searches. The Word team’s blog also didn’t give much coverage to the blogging feature.
CAUTION: do not save your blog post in Word 97-2003 format. Doing so will remove the ability to publish the post later. You’ll have to go through an annoying workaround to get the post to publish to your blog.
I like writing in Word. I am extremely familiar with it and very productive. In the ideal world, I would like to see Word’s editor combined with WLW’s metadata support plus better management tools for managing existing blogs. If they did a better job generating the HTML and preserving image quality, then I would seriously consider “Blogging with Word.” However, due to the malformed markup and images, I cannot fully endorse using Word for publishing blogs.
BlogJet seemed very similar to WLW. If the appearance of the software you use is more important than the functionality, then choose BlogJet. However, I found the disadvantages to be significant enough to make me stick with WLW.
The differences I noticed between BlogJet and WLW were:
- It was not free. WLW was.
- It looked a lot nicer and more polished than WLW. Much more polished.
- It was harder to add pictures. I could not drag & drop them. Copy & paste wasn’t as reliable as with WLW. For example, copying a picture from Word included lots of proprietary Microsoft formatting HTML (like the class=”MsoNormal”). WLW simply kept the picture.
- I could not edit the Excerpt (description) for my blog. The field was disabled (greyed out).
- I didn’t see the ability to edit the Slug.
- It did not perform on-the-fly spellchecking. This meant that I did not get the familiar red squiggly line underneath incorrectly spelled words. It did have a spell checker that you can run from the menus.
- The screen to open an existing post from the web server was much nicer than in WLW.
- The editor was a little more predictable (user friendly) than WLW’s editor.
If you decide to use BlogJet, it was fairly straightforward to set up BlogEngine.NET on the Visual Studio Development Server. Here are screenshots from the account setup wizard:
ScribeFire was a popular tool seems similar to the IE plugins for WLW (BlogThis) BlogJet (BlogJet This!). I didn’t try out this tool since I am primarily an IE user. If I was a regular Firefox user, I would have installed it.
From the BlogDesk website, it appeared that this tool didn’t have as many features as WLW, so I didn’t try it.
Web page HTML editors
Using HTML editing tools, like Microsoft Expression Web, provide you with rich functionality to create compelling design for your posts. However, they do not provide any support for editing a blog’s metadata or managing posts. Copy & paste from Microsoft Word tends to retain the proprietary Microsoft formatting HTML. You also have to upload your pictures by hand. Though it may be a tempting option from an HTML purist or designer perspective, the lack of support for managing blogs kept me from seriously considering this option.
Contribute
I tried writing a blog with Contribute. It was difficult to set up and the editor was restrictive.
I didn’t successfully set it up to test with my Visual Studio development server.
Ignoring the connection issues, pasting images from Word was problematic. Here’s the error I got:
Note that Blogger for Word is different from the built in blogging functionality in Word 2007. This product was a discontinued add-in. If you have an older version of Microsoft Word and want to try out this discontinued product, you can still download it from the blogger website.
The features listed on the RocketPost website looked absolutely incredible.
I did find a positive review of the product, but most of the comments I found about this product were negative. In fact, there was so much negative hype that I didn’t even try the product. Here are some of the comments. Neville Hobson described his frustrations with the lack of technical support from the company that makes this product. Aaron from Wired Prairie gave some straight advice: “don’t buy it.” Lee Hopkins wrote a post that starts “Giving up on RocketPost….” T. L. Pakii Pierce described his experience with this software as unpredictable and it even sometimes lost his work.