News

Eric Sink: “It‘s okay to be in awe of these great hackers. But as a practical matter, small ISVs would be much better off hiring professionals.” Agreed!

Which reminds me, I can’t wait for Johanna Rothman’s new book on hiring geeks to come out. I’m reading the manuscript now and it’s a great book on a topic that doesn’t get a lot of coverage.

News

SoftwareCEO.com has a feature about Fog Creek Software on their home page this week: “In fact, Spolsky takes a skeptical view of almost every bit of received wisdom he’s ever heard about running a software company. His views are refreshing and thought-provoking, and they certainly work in his niche.” (Read it this week, as SoftwareCEO archives are open to paid subscribers only.)

News

I know that Rome empties out in August, but if any Joel on Software readers plan to be there on Monday, August 16th, it would be nice to get together for dinner. So far, we’ve done these dinners in Berkeley, Oslo, and Montréal, with great success. We’ll take over a room in a restaurant, eat, drink, be merry, and talk about software development. If you can attend, or would like to suggest a good place to meet, post a message here.

Marshall T. Rose, in RFC 3117: “Counter-intuitively, Postel’s robustness principle (‘be conservative in what you send, liberal in what you accept’) often leads to deployment problems. Why? When a new implementation is initially fielded, it is likely that it will encounter only a subset of existing implementations. If those implementations follow the robustness principle, then errors in the new implementation will likely go undetected. The new implementation then sees some, but not widespread deployment. This process repeats for several new implementations. Eventually, the not-quite-correct implementations run into other implementations that are less liberal than the initial set of implementations. The reader should be able to figure out what happens next.”

News

One of the biggest weaknesses of Microsoft Outlook has been the search feature. It takes so long for Outlook to search that the feature is almost useless.

Searching is not a hard problem, and a lot of plug-ins sprang up to solve this problem. Lookout was one of the best. It just works. Searching five years of accumulated email takes less than a second. Indexing is done quietly in the background and never slows down your system. Suddenly email is useful again.

So what happens? Microsoft buys Lookout. That’s nice, good for them.

But look more closely at the Q&A:

Q: Why can’t I download Lookout anymore?

We will be focusing our efforts on integrating our expertise and working on next-generation technologies.

Huh? What’s going on?

Q: What is Microsoft going to do with Lookout? …

The existing Lookout product will no longer be available, but its technology will be part of an exciting vision that MSN has for delivering new and innovative search services.

MSN?! Lookout is going to be part of MSN? What about Outlook?

Our vision is to take search beyond today’s basic Internet search services to deliver direct answers to people’s questions, and help them find information from a broad range of sources.

What? What the hell does this have to do with searching email? Could Microsoft have possibly bought Lookout just to shut them down? Even at my most paranoid, I can’t for the life of me figure out why Microsoft wants searching in Outlook to be worthless. Maybe just Hanlon’s Razor: “Never attribute to malice that which is adequately explained by stupidity.”

Update: They figured it out on the discussion group. Lookout is using an open-source component for searching, which Microsoft can’t redistribute. The only part of Lookout that Microsoft allegedly cares about, the search engine, is released under the Apache license. The only part of Lookout which Microsoft can use is the Outlook integration, and they don’t seem to care about that. Methinks this is one of those “HR Acquisitions,” wherein Microsoft buys a company for a few bucks because it’s the only way to hire someone they want.

News

Ah, finally, my second book is on its way to the printer.

Yes, it’s mostly reprints of articles which you’ve already read on this site over the last four years. But there are three huge advantages to the book version. 1) It has been professionally edited. I have finally learned to use semicolons instead of commas to separate complete sentences, and somebody smarter than me has sorted out all the “whiches” and the “thats.” 2) You don’t have to read it on a computer. 3) You can hurl it at your boss or coworkers to make a point, and the impact will be much more powerful than emailing a URL.

I’m hoping it will be out in a month or so.

News

Brendan Eich recently wrote: “The best way to help the Web is to incrementally improve the existing web standards, with compatibility shims provided for IE, so that web content authors can actually deploy new formats interoperably.”

Dave Shea nicely summarizes the conversation about web applications. “The recession is over, the slump is ended. Web development is in demand, and the demand is only going to increase.”

Patrick Breitenbach pointed me to General Interface, a company that has built a commercial windowing/UI system on top of DHTML allowing almost-rich-client-apps inside the browser. They lean a bit too heavily on IE-only features for now and the overall look is more like a rich client app than a web app (very much like Oddpost), but hey, it’s one way to do it.

Ben Nolan has a dusty library called phplive. “It’s event driven programming for the web – but the whole page isn’t refreshed – whenever you click a button, focus an element, or fire any event that has a handler on the server – an RPC call is dispatched to the server…”

Ian Hickson of Opera: “Our own position was that any successful framework would have to be backwards compatible with the existing Web content, and would have to be largely implementable in Windows IE6 without using binary plug-ins (for example using scripted HTCs). We were the only ones to even remotely suggest that the solution should be based on HTML.”

Espen Antonsen shares his wishlist: “As a web developer I find many tasks more time consuming and difficult to accomplish when building a web application – we develop a web-based ERP system.”

SysAdmin Week

I just wanted to announce that SysAdmin Week will hence be known as “SysAdmin Fortnight.”

News

SysAdmin Week

New server at Peer 1 NetworksThis week is sysadmin week, in which I catch up on a few months of accumulated system administration headaches.

On Monday I went down to Peer 1 Networks’ colocation facility in New York, where the main Joel on Software server lives. Peer 1 provides free bandwidth and a wee shelf (shown at right) for Joel on Software, for which I am extremely grateful. Michael and I installed the original server there about a year and a half ago, and it’s been running fine ever since, down only because of Windows Updates. (Don’t get me started.) Sometimes the server didn’t come back up properly after one of the reboots required for patching Windows, so we installed a remote controlled power strip, which has a web interface allowing us to power cycle the server. There’s supposed to be such a thing built into the server itself, something Dell makes called RAC, but it crashes more often than the server, requiring a full power cycle to get it back to life, which defeats the purpose…

Anyway the reason I went down on Monday was to slide in another 1U Dell server into the rack which will serve as a “hot backup” in case the main server dies. I’m going to set up some simple replication from the main server to the hot backup so we should be able to switch back and forth between the main server and the backup server without more than a few seconds of downtime. The replication will use robocopy for files and log shipping for SQL databases like the database behind the discussion group.

Peer 1, by the way, is doing incredibly well. When I installed the server there last winter they only had two rows of racks, mostly empty. On Monday when I went down there the whole data center was crammed with racks and they were turning away new customers until they could arrange for a bigger data center. Joe Cooper, the NY manager, told me they had gone from 20% to 90% capacity in their colo facility and were trying to reserve the remaining 10% for existing customers. A nice problem to have. I couldn’t be happier with their hosting services and they’re the nicest people, so even though I’m completely tainted since they host my site for free, I most heartily recommend them if you’re looking for colocation (or wicker furniture, har dee har har).

News

Dean Jackson, who’s responsible for applications at the W3C: “The good news is that it seems we have many of the big players ready to go in this area. Joel may get some of his wishes sooner than he thinks (let’s hope!)”

Rhys Jeremiah: “I’ll outline the features that I would like to add.”

Jeremy Hartley: “I have spent the past two years web-enabling my company’s HRM System. My intentions have always been to make the web version of the application as similar to the Win32 version as possible—no compromise allowed. To do this I have had to use every trick in the book as well as making up quite a few myself. The process took me two years. I think I could have done it in six months if I had had the following…”

Yoz Grahame: “The current Javascript security philosophy can be easily summarised thus: ‘No.’”

Jeremy Smith: “I want a way to access a browser’s right-click menu.”

Mike Marshall doesn’t agree. “Here is the real solution. Microsoft is coming out with ClickOnce in VS 2005 (‘Whidbey’). What’s that, too platform independent? Java will come with something similar, in fact Java Web Start apps are pretty much already there. You will have your pick at this time next year, believe me.”

News

The Web Hypertext Applications Technology Working Group is working on extending HTML4 forms to make Web applications work better.

In the previous rounds of HTML enhancement, the world’s great graphic designers (like Jeffrey Zeldman) made the most noise and got us things like CSS which allow the kind of pixel-perfect page layout that the marketing people like, done in an intelligent way that separates content from presentation. Kudos. They got what they wanted, mostly, and quieted down. Now it’s time for us application developers to start clamoring for the features we need to develop great web applications. Here are some examples of the kinds of features I’d like to see in web browsers:

  1. Improved inline editing (step one: make contentEditable work in Gecko just like it does in IE 5.5+)
  2. Javascript features to do fast REST queries back to the server, so I can implement things like a lush spell checker with the dictionary on the server. It should be possible to have a 300,000 employee directory on the server and create a web app that has a list box where you can type the first few letters of an employee’s name and see a filtered list as fast as you can type on the screen.
  3. A rich set of standard controls for application development that provide better ways to upload files, better ways to drag and drop with the desktop, etc
  4. Compiled or compressed JavaScript, so that web applications can use really large amounts of JavaScript with decent performance
  5. Better standardized windowing features. At the very least I’d like modal and modeless dialogs that pop up instantly, a standard way to do a menu inside a web page (with ONE consistent UI, not everybody’s wacky DHTML menu that are all a bit different), TreeView and ListView controls, and a standard way to make a toolbar/button bar
  6. The ability to get a “device context” (in a platform neutral way) on an HTML control and wail on it to paint just about anything you want
  7. A far richer set of events. At the very least I need to be able to use the entire keyboard. Combined with #6 I should be able to develop any custom control I want that is 100% client side.
  8. Media integration, so I can play sounds or stream music in standard ways without relying on <objects>
  9. Graceful degradation for legacy browsers (IE. It’s time to make Microsoft play catchup again. Fire and Motion Baby.)

This is just a random list, nothing organized. These things would have happened if browser development hadn’t ground to a halt in the late 90s due to the misguided Netscape-rewrite-project and the lock-IE-developers-in-a-dungeon project.

What I do not want to hear about:

  1. Proprietary tools like Macromedia’s or Java Applets that embed clever widgets in rectangles in a browser. I want this stuff integrated with DHTML and CSS, deeply in the fabric of the web
  2. Things that don’t have any chance of degrading gracefully on legacy browsers. You have to be able to construct an interface that gets better if you install Firefox, but still works on IE, without too much testing on the part of the developer.
  3. Boil the ocean schemes that require 400,000,000 users to install some thingamajig before you get anything useful. Such schemes will not go anywhere.

What are your ideas for improving the HTML/CSS/JavaScript infrastructure to make web app development better? Write them up and post them somewhere; I’ll point to the best ones from my blog. Please don’t email me your suggestions — post them on the web and email me a link so everyone can benefit. I just don’t have enough time for private email conversations (yesterday’s API Wars article generated well over 200 thoughtful email messages which I can never hope to respond to adequately). It’s time for application developers to start clamoring for the next generation of the Web now that the graphic designers got their wish list taken care of.