News

A long time ago I decided that Joel on Software would be non-political. In programming terms, politics are orthogonal to software, and tightly coupling my personal political viewpoint would result in unnecessary arbitrary incompatibilities.

On the other hand I feel guilty every time I delete a post about politics from the discussion group. So I’ve taken some readers’ advice and created a second discussion group, called Off Topic, where you can feel free to flame about political or personal issues that are completely unrelated to software development, marketing, or management. We’ll see how it goes.

In Other News

I’ve been putting off writing new Joel on Software essays because every time I start writing one I realize that it’s much more important to get FogBugz 4.0 out the damn door. With any luck we’ll start trickling it out to beta testers over the next couple of weeks, with wider betas starting in about a month. The beta is only open to existing customers; you can request to be a beta tester here.

I’m totally excited about FogBugz 4.0. It’s our biggest release ever, it’s got lots of incredible new features, all of which make it even easier to enter and track bugs, features, and respond to customer email and even run online discussion groups. One of my favorite writers, Mike Gunderloy, who wrote Coder to Developer, is coming out with a book about FogBugz. One of my favorite web designers, Dave Shea, who created the famous css Zen Garden and has designed supernaturally beautiful templates for FireFox, TypePad, Blogger, and Fog Creek, has redesigned the visuals in FogBugz. Oh, and do you remember Jill McFarlane, the tester I raved about as being measurably 12 times as productive as average? She’s working on FogBugz QA. When this thing ships you can tell me if you think having a great team is worth the trouble or if I should have just farmed the development out to the cheapest bidder.

News

Pure CSS Slideshows

CSS expert Eric Meyer came up with a pretty awesome slide show system called S5:

“S5 is a slide show format based entirely on XHTML, CSS, and JavaScript. With one file, you can run a complete slide show and have a printer-friendly version as well. The markup used for the slides is very simple, highly semantic, and completely accessible. Anyone with even a smidgen of familiarity with HTML or XHTML can look at the markup and figure out how to adapt it to their particular needs. Anyone familiar with CSS can create their own slide show theme. It’s totally simple, and it’s totally standards-driven.”

Even cooler, CityDesk expert Brian Cantoni created a very slick CityDesk template for S5 so you don’t even have to know HTML. CityDesk is free for sites with less than 50 files which should be enough for most presentations, so this is a pretty cool free, standards-compliant improvement on PowerPoint that lets you put your presentations on the web.

IIS Bug

I am completely at wit’s end debugging this strange (apparent) IIS bug…

… Update: Fixed! So far, at least. Since it’s one of those intermittent things I can’t be 100% sure yet, but it looks like Tim Chaffee got it right:

“I would look at the MTS/COM+ package that IIS creates when you choose HIGH isolation. What user is that configured to use? It may be IWAM And you may need to switch it to the user you need.”

That seems to be it. If you look in the Component Services control panel, it is indeed the case that the COM+ application that IIS created has its identity set to the IWAM_Machinename account. Changing that fixed the problem. I’ve moved the whole story here.

Thanks to Sean Timm, Yakov Shafranovich, Simon Fell, Mike Surel, Sasha Do, Mike Openshaw, Marcus Tucker, Max Skibinsky, Scott Durow, John Christensen, Tim Chaffee, Steven Afdahl, Nick Parker, John Waterson, Beau Hartshorne, Olivier Dagenais, Gil Bahat, Robert MacLean, Nicole Calinoiu, Scott Wisniewski, Matthew Randle, Lars Bergstrom, Sikko2Go, Glenn Deschen, Brendan Tompkins, Bill Loytty, Sean Wheeler, and Justin Bowler for their helpful and intelligent suggestions.

News

Gary Cornell: “While the reason we published the essays collected in “Joel on Software” is obvious to anyone who has read anything Joel has written, the cover of the book has given rise to more than a few questions!”

I’ve gotten lots of great nominations for essays that deserve a place in the next book, tentatively titled “// comment”. It’s going to be your book: the 30 best essays about computer software over the last year… the kinds of things that Joel on Software readers want to read, edited and introduced by me. Check out the list of nominations, vote for the ones you like, and add your own nominations.

News

Ipswitch’s IMail customers seem to be in open revolt over a new pricing scheme. IMail is a popular email server for Windows-based servers. Ipswitch is a normally smart company in Massachusetts. This story will be interesting to follow for anyone making pricing decisions about software and trying to move upmarket.

Disclosure: We use IMail for email at Fog Creek Software. The only reason we were using IMail is for historical reasons, when we only wanted to have one public-facing server, and it had to be Windows so it could run FogBugz. Now that FogBugz is available for Linux, and, more importantly, we can afford to run as many servers as we want, IMail is a lot less compelling than Postfix or qmail, which are free.

Now, on to Ipswitch’s new price strategy. Clearly, management was drooling over the Exchange/Notes market and wondered why Microsoft was getting so much more money for Exchange than they were getting for IMail, and they probably misunderstood the reason. What they were thinking was, “oh, Exchange has all these other collaboration features besides email. Let’s add some collaboration features and then we can charge as much as Exchange. In fact if we even go halfway towards the price of Exchange and be an even better value than Exchange. Mo’ money, mo’ money, mo’ money!”

First mistake: they underestimated how much more Microsoft can charge for the same junk simply because Microsoft is the market leader. In MBA terms, Microsoft can capture a larger portion of the consumer surplus because they’re the true market leader, a “safe” choice, and they have a worldwide sales force about 200 times larger than the entire staff of Ipswitch. These are people who spend every minute of every day explaining to customers why Exchange is great even if it isn’t. Second, Ipswitch misunderstood that Microsoft is in the market for Large Corporate Email Systems and Ipswitch is in the market for small-medium ISPs and smaller businesses without dedicated IT staffs. These are two different markets with very different willingnesses to pay.

The second mistake was a fundamental pricing blunder of misframing the value equation. The price of software has very little to do with cost, and everything to do with perceived value. The classic book about pricing is Nagle and Holden’s The Strategy and Tactics of Pricing: A Guide to Profitable Decision Making, a book which is offered in hardback and paperback, with the paperback sold at a higher price than the hardback in a brilliant pricing strategy (Thomas Nagle practices what he preaches). And one interesting point in this book is that customers perception of value is always based on comparisons to some baseline. IPSwitch was hoping their ISP customers, who have never remotely considered using Exchange due to the extremely high per-user cost, would compare their new price to Exchange, but of course, what they really compared it to was the price of the old version of their product, with which it compared very unfavorably.

By the way, if you’re wondering what a good example of this strategy is, look at the four editions of Microsoft Visual Studio. There’s a super expensive “Enterprise Architect” edition at the top of the line that hardly anyone ever buys; it’s only there to make the other prices look reasonable by comparison. Consumers don’t really know how to judge the value of software so well, so they grope around for nearby products to use as baselines. Pricing 101 says you give them something really expensive to think about so your product seems cheaper by comparison and thus a better value.

If Ipswitch really wanted to compete against Exchange and Notes, first of all, they shouldn’t be competing on price in that market, because IPSwitch does not have any inherent price advantage. In fact Microsoft probably has the price advantage in that market because they can distribute development costs over so many more customers and they already have a sunk cost of a huge marketing force. Never compete on price when you don’t have a price advantage. If you’re the small company, you don’t have the price advantage.

And secondly, Ipswitch shouldn’t be abandoning their existing market to chase after an elusive new market in which they’re going head-on against Microsoft and IBM (Lotus Notes). They can’t win that way. There’s a Will and Grace episode that proves it.

My sources inform me that this was a decision made by the MBAs in the company over the strong objections of the developers. It’s ironic that the MBAs don’t even get the basic MBA stuff right; this is entirely a bad move for reasons that business school graduates should be able to figure out without understanding the technology at all.

News

It’s That Time of Year Again

Once again my company Fog Creek Software is looking for A Few Good College Students to work as interns next summer. We’ve doubled the size of the program, from two interns to four, and we’re looking for both interns in Software Development, for CS types, and Software Marketing, for MBA types.

The application deadline is February 1st.

News

Hoo boy, almost let an entire month go by without posting!

I’m editing a new book: a collection of the best software essays published anywhere — on the web or in print — during 2004. Please nominate essays by posting a new topic here. Please include the title, the author’s name, and a URL where the essay can be found. If you’ve read one of the essays mentioned and want to comment on whether it belongs in the book, please reply to the topic nominating it with your comments. Full names and email addresses are required to nominate or comment. Writers are encouraged to nominate their own works… don’t be embarassed! The deadline for nominations is November 20th. The best articles will be published in a book by Apress (assuming we can secure the rights).

In other news…

The whole company (and four outside consultants, phew) has been concentrating on trying to get FogBugz 4.0 out the door. Exciting stuff there: this release, I think, will really show the benefits of our policy of listening to our customers, not our competitors. If all goes well we’ll be pushing out the first beta in a couple of weeks.

The goofy name FogBugz is an historical accident which I rather regret, but the brand name is so well known by now that we’re not going to change it. We have subtly reduced the number of capital letters (FogBUGZ became FogBugz) which makes it a little bit less embarassing, but I think for now we’re stuck with the stupid name. I have actually gotten email from people who say they can’t buy FogBugz because the name doesn’t sound “professional.” Sorry! Get over it, or you may have to use the professionally-named “Bugzilla” forever!

News

Doug Kaye interviewed me for IT Conversations; you can listen to the audio interview. Dave Walker also interviewed me for the Sydney Morning Herald and Melbourne’s The Age; an extended verison of that article is on his site Shorewalker.com. Finally, Mary Jo Foley came by the Fog Creek office to interview me for Microsoft Watch, which is a subscription-only newsletter.

News

Incrementalists versus Completionists

Rands: “Completionists are dreamers. They have a very good idea of how to solve a given problem and that answer is SOLVE IT RIGHT. Their mantra is, ‘If you’re going to spend the time to solve a problem, solve it in a manner that you aren’t going to be solving it AGAIN in three months.’”

We Won’t Be Fooled Again

Dan Appleman: “Sure, if you’re writing software with a lifespan of a few years, Windows Forms is a great way to go. But we all know that software, enterprise software especially, lives a long time. Can Microsoft categorically promise to maintain a full commitment to development, maintenance and support of Windows Forms for the next 15 years?”

Discussion Group Software

We’ve been quietly making some improvements to the beta discussion group software.

Today we rolled out Brett’s new full-text search feature. It relies on the database engine to provide full-text search, and we’re running Microsoft SQL Server, which has rather poor full-text search capabilities: for example, it requires a manual process to rebuild the index, which we schedule for every 15 minutes, so it won’t find anything posted in the last few minutes.

I also added an RSS feed. Originally I wanted to provide full text of all topics and replies in the last three days so that you could use an RSS reader to read the discussion group. Unfortunately that would have resulted in a huge download, and since RSS readers bang on the site every hour or three, our bandwidth usage would have been absurd. So I had to settle for full text of the original topic but not of replies.

And finally we got Summer Intern Ben’s excellent Bayesian filtering code working… due to a couple of configuration problems it wasn’t running right. The idea is to delete comment spam before anyone sees it. It’s hard to tell if the filter works yet because it needs more training, but so far it’s doing pretty well. If you think comment spam is not a big problem, you haven’t moderated a discussion group lately… this is the number one priority for spammers these days, since email filters are starting to work pretty well and spamming a lot of discussion groups is perceived as a good way to trick Google into giving a site prominent placement.

We admit to three strategies to prevent comment spam:

  1. Bayesian filtering which can be trained to remove comment spam instantly
  2. Not allowing new comments on old posts, so that comment spam can’t be hidden in posts which nobody but Google visits any more
  3. Using a META tag to ask search engines not to follow URLs from discussion topics. Although this technique prevents comment spam from working it doesn’t prevent it from happening because spammers don’t seem to particularly care if a given spam works or not.

By “we admit to” I imply that there are other things we do which we don’t talk about too much because revealing them would make it that much easier for spammers to work around them, thus reducing the cost of spamming, thus making it more economically feasible.

One side affect of the Bayesian filter is that if it finds a suspicious topic, rather than letting it through, it will flag it for a human moderator. The moderator can then allow it to be posted (which trains the filter) or leave it unshown. The effect of this is that rarely, new posts won’t appear until a human approves them. This should happen less and less as the filter learns more.