Overview
Ever since I started blogging, I have felt that I lacked decent tools for the task. I live in a world based on DotNetNuke. While I love the platform, the individual modules do not always measure up to their standalone cousins. Blogging is certainly one of those areas where the modules have some serious work ahead of them to remain competitive. Editing and posting blogs is one of the main issues that confronts me every time I want to write something.
I find that the online Rich-Text editors (RTE) are fine for short one or two paragraph blogs, but when crafting longer discussions, the RTE based approach falls short. One of the main limitations of these editors, is that it is too easy to lose your work. There is nothing more frustrating than spending an hour or more crafting your blog only to have some error on postback cause you to lose your work. I quickly determined that I needed an alternate method for composing my blogs and subsequently posting them to the site.
As a result of this frustration, I have started looking at various tools for composing and posting blogs.
Windows Live™ Writer
Windows Live Writer (WLW) was recently released as a beta from the Windows Live™ team. This tool has gotten a lot of great press lately as the blogging editor tool of choice for many bloggers. The main benefit of the tool is that it provides a very simple interface for composing blogs and then uses the appropriate blogging API (Metaweblog API or Moveable Type API) for posting the blog to the site. WLW provides a rich text editor that is tuned for writing blogs. It can go to your site, and pull down your blog stylesheet, and then use that style sheet while you are editing your blog. This allows you to preview your blog and know how it will look once it is posted to your website. This is a very important feature.
Another key benefit for WLW is the ability to post your images online and then fix the blog html to reference the posted images. This is a big time-saver. This is a step that I typically would have to do by hand unless I was editing my posts online.
All of these features, however, would just bring this tool on par with other blogging tools that are already available. Where WLW truly shines is its plugable architecture. WLW allows developers to create plug-ins for inserting and editing custom content types. Plug-ins are popping up for inserting tags, flickr images, maps, syntax highlighted source code, video and much more. This is where I think WLW truly outclasses the other options I have seen.
The one downside to WLW is that it wants to be in control. It wants to post to your blog. It wants to "automatically" link your stylesheet and perform several other tasks for you which would normally become quite tedious. This is great if you use a blogging engine that is supported by WLW. Unfortunately, the DotNetNuke Blog module is not such a blogging engine. Metaweblog support is one of the high priority features that will be coming in a future version of the module. Until it gets here, you will really have to jump through some hoops to get WLW to work for you as a blog editor. Because of this, I have not spent much time trying to figure out how to use all of the features of WLW. Once the DotNetNuke blog supports Metaweblog, then I will probably come back and re-evaluate this tool.
Expression Web
Microsoft's primary html editor for many years has been FrontPage. When it was first developed (before it was sold to Microsoft), FrontPage was considered a cutting edge HTML Editor. Over the years, FrontPage has been eclipsed by many other editors and due to some poor design choices by Microsoft, it is actively shunned by web professionals. Enter Expression Web!
Microsoft made a commitment a couple of years ago to developing a family of tools aimed at design professionals. These are the graphic artists and other designers who provide the fancy graphics and layouts for desktop applications, web pages and print publications. These design professionals demand tools that are geared towards the visual aspects of design. For a long time, Microsoft has only provided tools that targeted the developer community. As a result, most web authors gravitated to tools like Adobe Go-Live or Macromedia DreamWeaver. These tools provided a rich set of features for easily creating and editing standards compliant websites.
Expression Web (EW) is the tool that is specifically aimed at web designers. It is a brand new tool from the ground up, yet it borrows many concepts from FrontPage and Visual Studio, without all of the baggage. This is not just a stripped down Visual Studio or an upgraded FrontPage, but rather a new tool with a very specific audience in mind. Everything about this tool is geared towards what the design professional needs to create great, standards compliant, web pages.
So far I really like working with Expression Web. Editing seems very natural. I love the stylesheet editing abilities (so long TopStyle Pro). When it comes to creating and editing my blog text, Expression Web is to WLW as Microsoft Word is to Wordpad. Expression Web has so much more power and control available to the author. This is truly the Bentley of web editors.
Most blogs, however, don't require even a tenth of the power that is offered by Expression Web. This editor is definitely a bit of overkill, but I am ok with that. The reason is that I don't like to be forced into using 10,000 different tools. I would love to have just a handful of tools that lets me get all of my work done. I want to be able to use the same editor for my blog, my html documentation and for laying out my ASP.Net application interfaces. Even if I only use part of the functionality for any given task, I am only having to learn one tool. The problem with the WLW approach is that you are forced to learn several different tools to accomplish all of your web development needs. Each tool differs slightly in how they address common problems. Using EWD means that once I am comfortable with editing styles and stylesheets (whether I use the task panes or just drag elements around on my screen), that I can apply this knowledge to every web editing task. I still do not know how WLW wants me to edit styles. It is not intuitive and it is completely different from how I edit styles in Visual Studio.
The downside to EW is that you have complete control. There is no API for posting to your blog or uploading your images or any of the other things that WLW does for you. In short, EW knows nothing about blogs. I hope to solve this in the future through the use of some custom extensions. EW does support extensions (although I can't seem to find any documentation). EW also supports FTP and WebDAV. The trick will be how easy it will be to create extensions to handle things like syntax highlighting for code or inserting pictures from Flickr (or other similar photo sharing sites). I think that if specific extensions can be built that are blog aware, that EW will truly outclass WLW. I just wish, that instead of building a new tool, that the WLW team had instead spent their time adding some custom extensions to EW. Now that would have made for a truly kick-ass tool.