I’m going on vacation, back July 17th. Emails and phone calls will be responded to slowly, if at all.


When I go to a company’s web site and it says that their product “provides Internet-scale event routing solutions that seamlessly integrate information among Web services, applications and users,” I want to barf. More specifically, I have no idea whatsoever why I should care, so I leave, and I don’t come back.

Did you know that KnowNow is “enabling the real-time enterprise to fully leverage the Internet to drive revenue, reduce costs and enhance business relationships”?

What does that mean?! Who cares? Who are the morons who write this stuff? Tell me what it does! I’m a software designer! I’m your target audience, and I can’t make head or tail of it!

(KnowNow is not the only company that has no ability to communicate using their home page. GrandCentral is equally inscrutable. “Grand Central provides a Web Services Network that enables companies to connect, integrate and manage their business processes with those of their partners and customers.” Good for you. I already connect, integrate, and manage with my partners, thank you very much. If you can make it as far as the white paper, you’ll see sentences like “At a feature level, the Grand Central Network provides four main categories of functionality.” I think that means “Grand Central has four features.” Maybe somebody thought that it didn’t sound cool enough that way.)

I have a feeling that both of these products are interesting and useful. But listen, bubbie: if I can’t understand it, and I’ve been writing software for twenty years, then I don’t know who will. Rohit, Halsey: you’re ruining your products because you can’t explain in two sentences what they do in a way which would be meaningful to the people who are going to make the purchase decision.

Software Testing

Eugene Vinsky has been hard at work on a web site with everything you ever wanted to know about software testing (and then some!) Check it out at SQATester.com.


With all the uproar over SmartTags it’s hard to believe Microsoft is actually going to ship with them, but I’ve disabled them on most Fog Creek web sites just to make sure.


If you’ve been working in the software industry, you’ve probably seen zillions of good new product ideas quashed by some executive who asks, “what if Microsoft enters this space and makes all the profits go away?” More…


I first worked with Adam Bosworth when he was designing Microsoft Access, and I was designing the application programmability strategy that became VBA. He is an incredibly fast thinker and incessantly right. Unlike most fast-thinkers who are always right, he also knows how to listen, and if he discovers he was wrong (as he did within one hour in 1992 when I convinced him that macro languages needed to be object-oriented), he’ll change his mind without emotional attachment to his old ideas. Adam set a better example for the role of Program Manager than anyone I’d ever met.

Adam has designed and shipped more world-shaping software than anyone else I can think of. Borland’s old Reflex relational database. Microsoft Access. ODBC. Internet Explorer’s “Trident” editor and document object model. Soap. XML. Now a new company called Crossgain is in the works.

And I’m not exaggerating when I say that one of the goals of my own company, Fog Creek Software, is to create a place where we stood a snowflake’s chance in hell of getting superstars like Adam Bosworth to work. It’s an ambitious goal and it’s going to take a few years, but I’m confident we’ll do it.

In the meantime, anybody working in the software industry needs to listen to Adam, attentively. When he talks about n-tier architectures, read every word he says. If you can’t follow it, ask someone to explain it to you. If he drops an acronym like WSDL that you don’t understand, study it so you don’t miss his points. Understand why all the six hundred demos you’ve seen of a SOAP service that returns stock quotes are unrealistically simplistic and don’t scale up to the real world. After you read that article, think about how the fact that it’s almost impossible to display a progress indicator in a web browser while the server does some 2 minute task came as close to killing the entire online travel-agency industry as Nikita Khrushchev came to destroying the world by putting missiles in Cuba.

As usual Adam is incredibly right, and he’s high-bandwidth, and if you can’t follow what he’s saying, don’t apply for a job at Fog Creek!

Google Searches Images

… and, typical of Google, it actually works.


It’s here!

My book User Interface Design for Programmers, which originally appeared in these pages, is now a dead-trees book from Apress.

The printed version of the book has several bonus chapters which are not on the web version. It has lots more illustrations and it’s been beautifully designed by the great folks at Apress.


Cool Toys Department

I’ve been playing with MP3pro, a new file format that is exactly half the size of MP3s, with higher sound quality. The even neater part is that you can play MP3pro’s with your old MP3 player. It sounds great. And it eliminates Windows Media’s technical advantage.

You can download an MP3pro encoder and player from RCA. (Remember RCA? I thought they were long gone.)

News.com writes: “None of the Big Five (record labels) are going to distribute without security,” said Gartner analyst P.J. McNealy. “Unless that’s there, (MP3 proponents) are unlikely to get any of the Big Five.”

Hello? Who cares what record companies do?


One of my neighbors abandoned this cool stereo receiver. It’s a Beomaster 2400 from 1980. In 1980, I really lusted after these kinds of things. So I took it home.


I know, it looks the same to you … but this version of Joel On Software is actually running on a new server inside the Fog Creek offices.

I’ve been having a lot of fun (!) discovering all the places in Manila where URLs are hardcoded. Even though we’re going to redirect the URL joel.editthispage.com to the new computer, I’d like to get rid of as many hardcoded URLs as possible to make sure the site stays portable. There are zillions of links to static.userland.com, a server back at UserLand, which I’m manually adjusting to point to some machine inside Fog Creek.


New experiment: working 9 to 5.

Today I actually left work at 5 PM, not because I was done, but because I have a distinct theory that if you force yourself to leave work after 8 hours, eventually you train yourself not to waste time during the day.

I just read Slack, by Tom Demarco, one of the authors of my favorite software management books, Peopleware . Demarco is a big fan of the 7.5 hour workday, which got me thinking about it again.

It’ll never last.

Slack itself is one of those books that should have been an article. It’s got one very good idea at the beginning, then it repeats some of the good ideas from Peopleware (like Lister’s Law: you can’t think faster, so trying to force knowledge workers to work “faster” in the same way you try to get Nike shoe makers to make more shoes per hour will never work.) But then Slack devolves into a typical lightweight bizniss who-moved-that-cheese kind of book about Managing Change, albeit an intelligent one, but I didn’t learn much after the first couple of chapters.

TechInterview: A man has two cubes on his desk. Every day he arranges both cubes so that the front faces show the current day of the month. What numbers are on the faces of the cubes to allow this?

(P.S. Michael and I are going to move TechInterview to a faster server in the Fog Creek office as soon as we can. This is taking longer than expected because he is on a fishing trip and I’ve been leaving work at 5!)