<<< Thursday, May 15, 2003 11:22 PM

Home

Saturday, May 17, 2003 11:15 PM >>>


Friday,  05/16/03  09:10 PM

A compendium of software notes...

Joel Spolsky has posted a new rant about how he's given up on software prototypes.  I rarely disagree with Joel - he generally hits the nail squarely on the head - but he's dead wrong about this.  His central point is that creating prototypes are too much work.  His examples are from "years ago", and perhaps in the past creating prototypes was too much work, but with today's tools a prototype can be whipped out in no time.  In fact, for web interfaces or GUIs, the prototype often can be grown into the real product without starting over.

Instead of using computer software, Joel suggests creating prototypes on paper.  This is really living in the past.  By making this suggestion, he's saying is that prototypes are valuable, but that it just takes too much time to create them with computer tools.  So, check out VB, Joel, or C#.  You might be amazed how easy creating this stuff can be these days...

I don't mean to disparage paper prototypes, by the way, they can be very valuable.  So are whiteboard prototypes.  So is any visual tool to communicate an idea.  I'm just saying that the effort to create computer prototypes isn't that great compared to paper anymore.

This article references an older article Joel wrote about "the iceberg problem".  This is a much deeper point and an example of his insight.  The iceberg problem is that the visual part of a program is only the tip of an iceberg, and actually making it do whatever it is supposed to do is much harder and takes much longer.  Non-programmers don't get this.  So you put together a prototype (!), demo it to customers and/or managers, and they say "great, let's do it".  The expectation is that the prototype is the program, and the project is 90% done.  The reality is that the actual program hasn't been started yet, and the project is 10% done.

Tara Calishain asks Why Try to Out-Google Google?  This is a detailed, interesting article, and it mixes great points with crummy ones.  The best point is the biggest - you'll never knock off the market leader by following them.  In order to compete with Google, or Microsoft, or Oracle, or Intuit, you cannot improve incrementally on Google's search engine, or Microsoft Word, or Oracle's database, or Intuit's Quicken.  You have to come up with something dramatic, something different, something to make the market change lanes.

The weaker points are smaller - Tara claims Google didn't win the search engine market with great technology.  This is exactly wrong, because Google won precisely because of their better technology.  I remember in 1999 that Yahoo and Excite and Alta Vista were all competing to become portals, and Google just tried to build a better search engine.  Pretty soon people started to use Google for searching because it gave better results - qualitatively better than their competition.  And before you knew it, Yahoo and Excite and Alta Vista were sucking Google's exhaust.

People love to give examples of products which were "inferior" but still won.  The VHS / Betamax war is often cited, as is MS Internet Explorer vs. Netscape.  I'm not saying inferior products don't sometimes win, but neither of these examples illustrates this.  VHS was not superior to Betamax in the area that customers cared about most - recording time.  VHS could record up to six hours, while Betamax could only do two.  Netscape 3 (8/96) was way superior to IE 3 (8/96), and at that time Netscape had huge market share.  But Netscape 4 (6/97) was only an incremental improvement on Netscape 3, and when IE 4 came out (8/97) it had caught up.  In addition to being backward compatible with Netscape, it was measurably faster and supported CSS, the DOM, and DHTML better than Netscape.  { I'm not saying Microsoft didn't engage in unethical or illegal activities, nor that IE won because of superior technology.  But the myth that IE won despite being technically inferior is indeed a myth. }

Another strong point in the article is that Google has a sense of the Internet's culture.  This is true, and important.  When Google playfully changes their logo on holidays, that matters.  They were always cool in addition to being useful.  I think this helped PayPal, too, another Internet success story.  And eBay.  And Amazon...  Microsoft and Oracle do not have this, they are not cool.

Also related - Tim Bray discusses The Natural Language Fallacy.  I'm conflicted about this; on the one hand if computers understood "natural language" it would make them friendlier to non-technical folk, but on the other hand it is less efficient.  Natural languages are naturally ambiguous, and the ambiguity will necessarily degrade the quality of the search results.

View item as web page
click for screen shot

View item as a post
click for screen shot

I have settled on SharpReader as my favorite RSS aggregator.  I've tried NewsGator and Syndirella, and didn't like either as well.  The main thing I like about SharpReader is that posts easily can be viewed as web pages.  This addresses my main objection to aggregators, that the "style" of each blog is lost and all sites look the same.  The convenience of seeing quickly which sites have changed can't be beat, and neither can the productivity of rapidly clicking through uninteresting posts.  If you haven't tried an RSS aggregator, you should try SharpReader.  Really really.

Matador - click
for screen shot

And speaking of tools I really like, I love Matador.  This spam filter works really well.  It integrates beautifully into Outlook and unobtrusively puts all spam in a separate folder.  Rarely does any spam make it into my Inbox, and even more rarely does a non-spam get filtered.  I've come to trust it to the point where I just delete the spam folder periodically without even looking at it.

Wrapping up, a note about my blog by mail survey; among the respondents so far, the majority say they would blog if it was as easy as sending email.  So they say...  maybe I'll call their bluff.