Summary
After hunting around and comparing options, I finally settled on CityDesk to author my news weblog. After using it for a few months I was pretty pleased with it, and gave it a qualified recommendation. But after it committed the unforgivable sin of silently deleting 1,000 words of text, I can no longer recommend it in good conscience.
Advertisement
After hunting around and comparing options, I finally settled on CityDesk to author my news weblog (advisories) at Citizens' Advisory. I've been using it for a few months now, and overall I'm pretty pleased with it.
Note:
I know. Someday I really have to switch over to
Linux or Max OS 10--something that has a decent shell.
CityDesk is a small content management system that runs on windows. It was written by Joel Spolsky and company at FogCreek Software. It can publish over an FTP connection or to disk. It generates static web pages, using a pretty nice little macro-substitution language. You insert the macros into your HTML template, and publish what you want.
CityDesk doesn't let me edit my weblog from anywhere, like I can with Artima's web-based weblog. But it's handy when traveling-access isn't the prime consideration. (Plus, I don't have to worry about a remote site being inaccessible right when I want to blog something.)
CityDesk articles are stored in an MS Access database, so you can access them directly, if you like.
CityDesk does have some bugs, but most have workarounds, and I've generally had good support, even before paying for the product. (It's $300 US, but you can write 50 articles with the free starter version.)
Joel Spolsky is an interface specialist, so the interface is pretty good. There are some egregious mistakes, though. (It was written quite a while ago. He says he would do many things differently if he were writing it today, but it apparently needs a ton of refactoring before it will accept change gracefully. Don't we all wish we could take back our early code?)
For example, the "else" construct in the macro language applies to FOR loops. There is no "else" in the IF construct. That messed me up for a while. (For me, a programming language is an interface to a computer, and an API is an interface to a library. I apply user-interface thinking to everything.)
The editing is done using Microsoft's HTML editor. It's something like Word, but it's inexplicably missing buttons or menu items for headers. You can edit the HTML directly, so it's easy to get around, but it's a strange ommission. (All HTML is supported, but not all of it is in the interface.)
Other interface oddities:
There's a big Save and Close button where you can get to it easily, but the
Save option is only on the menu. I write longish-articles and save a lot,
so I experienced "premature capitulation" frequently until I finally trained myself
not to use it until I was really done.
The spell check option is on a menu that has only that one option. It would more
convenient if it were a button.
The "About the Author" field is useful, but you can't simply identify the author
and pick up the text
from some common location--you have to paste it
into each article you write. (A fairly odd ommission,
since CityDesk stores everything in a database.)
There are two fields you can use for anything you
want (extra1 and extra2) -- but once you've decided
how you're going to use them, there's no way to
change the labels or add a comment that tells you.
I guess my final comment would be that it's quite as easy to set up as it sounds. You need to create a copy a template, and you need to figure out the macro language to get things where you want them. On the other hand, there are defaults for everything. So it was up and running in a couple of hours, so I could see if I liked the interface. A hour or two for the next couple of days saw the templates created, so I was publishing in my (graphically weak) format. A few tweaks here and there over the next couple of weeks, and everything settled down to where now things are as simple as write and publish.
For people who want better-looking results than I was able to produce (who wouldn't?), several third-party wizards for constructing templates are listed on the CityDesk News page. There's even tools to help you manipulate the database.
Now that I have things working, I much prefer it to authoring in DreamWeaver, which is what I use when posting articles to my TreeLight/Health website. It's major advantages:
The word count is right there where I can see it. (In DreamWeaver I have to
start another editor to get a word count.)
The indexing is taken care of automatically, so I don't have to manually add entries.
It's as easy to have two index pages as one, so I have one index for recent articles
and other for an archive of everything.
I can generate an RSS feed as well, which let's people keep up to date on the latest
info.
When I need heavy duty features like tables or dynamic pages, DreamWeaver is the way to go. Plus the index pages I generate in DreamWeaver are nicely formatted and organized. And it's nice to know how many people are listening. I can look at the size of my mailing list to know that.
Question: Is there a way to find out how many people are monitoring an RSS feed?
But for day in, day out article generation, CityDesk is hard to beat. The bottom line: It's working for me. What more can I say?
Update, 10 Apr 2005:
I just added a small diagram to an article in a <blockquote><pre> paragraph. CityDesk didn't format it very well. So I filed a bug and reformated the paragraph. To my surprise, though, I found that in the publishing process, CityDesk silently truncated the article, removing the last 1,000 words. Worse, the act of publishing replaced the previous HTML version that was my backup.
I don't trust programs that delete my work. That is the one unforgivable sin, in my book. I can live with anything else, but not that. So CityDesk will now be replaced. One respondent pointed me to a Macromedia product--Contribute . Time to try that.
and download it. You get most of a decent Unix environment right there; I almost never need to run a cmd.exe shell any more on XP and tend to always have two or three bash windows open.
I maintain my blog with CityDesk, too. It is a great piece of software.
> There's a big Save and Close button where you can get > to it easily, but the > Save option is only on the menu. I write longish-articles > and save a lot, > so I experienced "premature capitulation" > frequently until I finally trained myself > not to use it until I was really done.</li> > <li>The spell check option is on a menu that has only that > one option. It would more > convenient if it were a button.
You could simply hit Ctrl-S.
> The "About the Author" field is useful, but > you can't simply identify the author > and pick up the text > from some common location--you have to paste it > into each article you write. (A fairly odd ommission, > since CityDesk stores everything in a database.)
You can include CityScript in the "About the Author" field, i.e. {$ include "About/Eric Armstrong" $}.
> There are two fields you can use for anything you > want (extra1 and extra2) -- but once you've decided > how you're going to use them, there's no way to > change the labels or add a comment that tells you.
Which version of CityDesk do you use? As of version 2 you can rename any field: open the template windows, select a template and click on "Properties" in the toolbar.
> Is there a way to find out how > many people are monitoring an RSS feed?
Do you have access to your server logs? Any log analyzer will tell you how often a given file was requested.
I used CityDesk as a blogging tool for a little over a year, and also as a website templating tool. It's pretty nice for less technical users--I would definitely recommend it for a lot of situations.
I ended up abandoning CityDesk as a blogging tool because I wanted to be able to blog from anywhere, and the CityScript "language" was sufficiently limiting and frustrating that I stopped using CityDesk altogether.
According to some of my coworkers, Macromedia Contribute solves a lot of the same problems, and does it pretty well. I never got around to trying it, though, so I can't speak from experience.
ERB < http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/ > is a templating engine for Ruby, whose syntax happens to be very templating-friendly. Someone needs to write a CityDesk-like front-end and back-end around this... :)
It's funny, I use Ctrl-S *ALL* the time when I'm writing in any of the other editors I use. In fact, I stopping use anything that doesn't have a Ctrl+S = Save mapping about 10 years ago. But that button is so big, and so inviting, and so close, that it just drew me to it like a magnet.
It's good to know about that cityscript capability. I'll stop using the About the Author box! It's liable to mess up my older posts, but I can live with that. Thanks for the tip!
I do use version 2. I didn't know I could rename fields. Thanks again!