[A picture of private offices at Fog Creek Software] Alert! This ancient trifle retrieved from the Joel on Software archive is well-past its expiration date. Proceed with care.

Joel on Software

What Does CityDesk Do?

by Joel Spolsky
Friday, October 12, 2001

CityDesk is a Windows program that makes it easy to manage a web site which changes often.

With CityDesk, people who don't know anything about HTML or web servers can easily add, edit, and remove articles from a web site, using a program that is as easy as a word processor. CityDesk will automatically apply standard formatting, according to templates you provide, to those articles. Then it copies them to your web server automatically. Each article can include pictures, sounds, and other media elements.

Here are just a few examples of the kinds of things you can build and maintain with CityDesk:

  • A daily newspaper, a monthly newsletter, or a web-based magazine
  • A personal journal or weblog
  • A company's list of job openings
  • A real-estate agent's list of currently available properties
  • A company worldwide knowledge base

The real power in CityDesk comes from the fact that you only design the formatting of your site once. After that, it's easy to create new articles which use the same design. Because CityDesk keeps the text of the articles separate from their design, you can change the design in one place, and every article on your site changes accordingly.

Once you set up your site, updating it is just as easy as using a simple Windows-based word processor. The built-in word processor is WYSIWYG ("What You See Is What You Get") and includes a spell checker, word counter, find and replace, and formatting commands.

CityDesk is built around a powerful, robust database engine. This means that different people can update the site simultaneously without any risk of conflict or corruption. You can even have a whole newsroom banging away at the same time; even a virtual newsroom, with contributors all over the Internet!

When you need to manage a site with several different versions, CityDesk is invaluable. Suppose you want to publish a newsletter every week in two languages. CityDesk provides a nice interface for translators where they can see a list of untranslated articles and translate them on the spot in a split-screen environment. If you try to publish the site before everything has been translated, you'll see a warning.

Or suppose you produce a newsletter that has different regional editions. Most of the articles are the same, but you don't want to run your poem "Every Civilized Person Loves the New York Yankees" in the Boston edition. CityDesk keeps track of that and publishes both editions completely automatically.

CityDesk can also keep track of articles that need to be held until a certain date. Just write the article and set the date range, and CityDesk will never publish it before or after those dates. This is a good way to keep fresh content on your web site when you're on vacation.

Many web sites appear in multiple formats. For example, you might have:

  • the normal web version
  • a "printer-friendly" web version without ads or navigation elements
  • a version for Palm Pilots without pictures
  • a large-font version for the web site for people who like larger fonts
  • a printed version that you hand out on street corners to passers-by (who use it to line bird-cages, those scurvy knaves)
  • and so on and so forth.

Setting up template families for each of these versions is a one-time operation. After that, you only have to type in the article once, and it will automatically be published in each and every format without any additional work. Ta da!

We think you'll find that CityDesk is an extremely powerful tool, but one that's quite easy to understand. There's a tutorial which will take you on a whirlwind tour in about ten minutes. After that, you'll only need to consult the documentation occasionally.

CityDesk will be in beta from Oct 15 - Nov 30, 2001, after which it will be shipping. Click here if you would like to apply to be a beta tester.


Have you been wondering about Distributed Version Control? It has been a huge productivity boon for us, so I wrote Hg Init, a Mercurial tutorial—check it out!

Want to know more?

You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.



About the author.

I’m Joel Spolsky, co-founder of Trello and Fog Creek Software, and CEO of Stack Exchange. More about me.

© 2000-2014 Joel Spolsky