Windows Live Writer + ATOM Publishing = Awesome!
Ever since I embarked on this blogging expedition I have used a Windows Forms based homebrewed blog client to create my posts. I would hand code the HTML in Visual Studio or notepad++ and then copy/paste the markup into this tool which would call a web service hosted on my blog to create the post. This is what the console looks like:
Well, this worked for a long time and has served its purpose but I have over time realized that the complexity of this process has subconsciously been a bit of a de-motivator. Being essentially lazy, I'd have to get really excited about a topic to overcome the pain of hand coding the HTML. Also, having to open and close tags constantly really doesn't lend itself to a free translation of thought to typing. And finally, not having the services of a spell checker handy meant that many of my posts would go live with every typo in its designated place!
Well, not anymore! I finally got around to fixing my site up to support the publishing of blog posts via the excellent Windows Live Writer! For those of you who don't know, Windows Live Writer (WLW) is a free desktop blog client from Microsoft that allows you to create/edit blog posts and is designed to work seamlessly with most of the popular blogging platforms out there. My blog being a custom written piece of work it wouldn't just work out of the box with WLW. Fortunately, WLW supports a publishing protocol known as the Atom Publishing Protocol (AtomPub) which means that basically any site that implements AtomPub would be able to have its content managed via WLW.
Some kindly souls over at a company called JH Software have made an awesome ASP.NET library (for free!) that makes it somewhat trivial to provide support for AtomPub on your own sites. Long story short, I downloaded the library, fixed up my site by hooking up the appropriate sub classes (and oh, I took this opportunity to upgrade the .NET framework being used by the blog engine to 4.0 from 3.5 and the process went surprisingly smoothly I am happy to report) and with a minimal amount of hair pulling was able to get everything going just right (well, except for the category selection in WLW bit that I'll have to come back to some other time).
This very post for instance was authored in WLW and everything worked just peachy! Here's a work in progress screenshot of this post in WLW:
WLW is truly an incredibly smart piece of software. Not only is it able to handle embedding pictures, script, video etc. directly into posts - I think its best feature is its ability to automatically detect the "theme" being used on a blog and give you an almost exact WYSIWYG authoring experience. It feels like I am typing directly onto the blog. Sweet!