![]() |
|
| Daemon News Ezine | BSD News | BSD Mall | BSD Support Forum | BSD Advocacy | BSD Updates |
In Praise Of the Lowest Common DenominatorBy David BogenIn most contexts, titling something the "lowest common denominator" is faint praise, if not an outright insult. Most people consider the lowest common denominator in social groups to be those traits and urges most closely associated with our base instincts: food, shelter, warmth, safety, procreation, etc. Some examples that social and technology critics might offer:
Unfortunately, the fundamental appeal of the lowest common denominator has been lost with its stigmatization. When selecting software and administering systems, the lowest common denominator is very much your friend. The Internet Message Access Protocol, IMAP, was new and sexy years ago, but is now supported by nearly every single mail user agent with a significant user population. In fact, there are widely used mail user agents (squirrelmail comes to mind) that support IMAP out of the box, but do not support POP3 very well or at all. When support of a protocol becomes ubiquitous, that protocol becomes the lowest common denominator. The ubiquitous nature of IMAP usage means that you should consider using and installing it for yourself and your users. Because it is the lowest common denominator, you can be reasonably assured that nearly any mail user agent you select will support it. Pretend for a minute that you chose to use MAPI as your server-client e-mail communication protocol. How many clients that are not Microsoft Outlook or a derivative fully support MAPI? Five? Seven? How many of those clients are free or low cost? MAPI may have more functionality than IMAP, but at what cost are you willing to get it? Is it worth being locked in to a given subset of mail user agents and servers? XML is very much the hot language in software and web development circles these days. More and more PDF documents appear on-line every day. And yet, HTML remains the lowest common denominator on the World Wide Web. HTML is such a low and common denominator that it is the default type of message composition and display in many mail user agents. There is nothing wrong with spending hours crafting Javascript to work around some obscure browser bug or to simplify some on-line task. PDF works great to digitally transmit forms from one location to another without distortion. XML is a godsend for transmitting arbitrary information between applications and processes. Even XHTML has its place in the world and some very nice features. However, if you really want your message to reach the broadest possible audience, much like any advertiser will tell you, use the lowest common denominator. In this case, that means well crafted, plain old HTML. Opening a PDF from lynx is certainly no fun. A document full of XML does not do the average person much good. A Microsoft Word, Excel, or PowerPoint document does not help those without Microsoft Office or one of its disk-filling and compatible brethren. Those who surf the web without Javascript will certainly not bless your name when they cannot access information because they are unable to manipulate some little Javascript widget. For all that some might like XHTML to eventually become the page creation language of choice on line, does anyone truly think that browser makers will one day wake up and say, "XHTML2 does not have an IMG tag so we will no longer support it in our browser." Of course not. As long as there are millions and millions of documents on-line with IMG tags, browsers will support it and the lowest common denominator will win out again. Writing and choosing software to run on your systems is also an exercise in the lowest common denominator. I'm sure that Java is a great language for something. I admit to not having seen what that something is yet, but I'm sure it is out there somewhere. That hasn't stopped thousands, if not millions, of people from writing applications in Java with the idea that it will "run anywhere." Those folks are of the opinion that Java is very much a lowest common denominator. Unfortunately, Java support on the various BSD's is spotty, at best. As such, supporting software written in Java can be a trial on a BSD system. For instance, I wanted to use the Apache Forrest project on a BSD. However, my research led me to believe I could not do so without running a JRE in Linux emulation due to lagging native Java support on the various BSD's. Software written in languages closer to the lowest common denominator, however, has no problems running on the various BSD's. perl, python, and PHP, among others, constitute the lowest common denominator of software languages today. Software written in those languages generally compiles and runs flawlessly on the various BSD's without extensive customization. At the same time, much of the same software can be run on Linux, Solaris, Windows, HP-UX (shudder), OS X, etc. So, while I cannot run Forrest on my BSD systems, I can run Geeklog, SquirrelMail, phpMyAdmin, and TMDA. Those packages all function without excessive monkeying around with compatibility libraries because they have all been written in languages with nearly universal interpreters. While the lowest common denominator can get us into trouble (think "Macarena" in the USA a few years ago), it does not deserve the general vilification it has received. The lowest common denominator can be your friend. Just keep a wary eye on it in case it flips on the TV to some sort of "Greatest Commercials of All Time" special. |