Software "Efficiency"

In measuring software "efficiency", there are several addends in the "cost" function, the denominator of the fraction.  A huge weight is given to user inconvenience, next in value is bug-fixing time, next is test/development time, and way at the end, with a weight of maybe .001, is the number of bytes in the package.  In other words, peoples' time is expensive, but hard drives are cheap.

That's kind of hard for a hardware guy like me to swallow.  And I like to understand what I'm doing and why it works or doesn't work.  Interfacing to Firefox 3 bookmarks requires using the open-source sqlite database library, an execellent and excellently-documented relational database published by a very smart guy in North Carolina.  Apple has built sqlite into Mac OS X.  So, I designed Bookdog to use Mac OS X's built-in sqlite library when interfacing to Firefox 3 bookmarks.  Although there was a minor problem that a few users of Mac OS 10.4 had, this design has pretty much worked and not given me any trouble.

The other day I downloaded the latest version of the Firefox source code, which anyone can do, and while searching through their package I found that Mozilla has now incorporated into Firefox: not zero (like Bookdog), not one, but two complete sqlite libraries.  It looks like maybe the cookies database uses and older version of sqlite and the bookmarks database uses a newer version.  Apparently, analyzing the differences between these two versions and the one installed on OS X enough to understand if there might be any significant differences doesn't fit into the project plan.  So, when you install Firefox, you've got three nearly identical chunks of object code on your system.  Well, I  can't argue because each one is only about a million bytes.  Even in a laptop, the marginal cost of a megabyte of hard drive is probably around $ .0002 USD nowadays.  Considering 125 million Firefox users, the total worldwide cost of this extra 2 MB is only around $50,000 USD.  Actually, of course, the cost is borne solely by those with smaller, older computers.  But you can't complain about a free program!

Well, maybe some time in the future, when we catch up with Moore's law...

Jerry Krinock