From Visual Developer Magazine #49, April/May 1998


New Threads for the King



While the Browser Wars rumble up and down the Left Coast, it would pay the rest of us-especially smaller developers-to remember that the Web is by no means the largest single use of the Net. Email is king. And the king is dressed in rags.

Who says there are no fortunes still to be made in application software? In response to far too much whining from certain quarters, I started looking around a month or two ago, to spot unfilled niches not yet owned by unshakable incumbents. To my surprise, the biggest single hole I saw dwarfed all the others put together: email. The best of the email clients is Eudora Pro, which works well as a thinnish coating around POP and SMTP, but does not recognize any of email's current and future potential. And Qualcomm's main business is manufacturing telephones. Email to them is just a sideline.

You who do not have a hardware manufacturing facility to distract you, well, grab a pad and take some notes. Here is the feature set of an email client that could make somebody millions. Why not you?

  1. Threads as the central metaphor. The inbox/outbox/mailbox metaphor is passe. Messages don't always stand alone—and when you can't locate all the components of a useful email thread, the rest of the thread loses coherence. Allow threads to have separate names, and browse messages on a "thread explorer." Allow space for a thread abstract.
  2. Thermonuclear antispam techniques. Parse the full mail header, and have a Spam button that both deletes the message and adds the sender of the message to the killfile. Look closely at a quantity of typical spam messages and create a "spam-o-meter" algorithm that examines the first fifty lines of messages for clues and rates messages from 1-10 on their likelihood of being spam. Allow automatic "cloaking" of email addresses in messages against address harvester robots.
  3. List server support. Let the client build subscribe and unsubscribe messages for major list servers like majordomo.
  4. Contact and paper mail management. Paper is still with us. Make the seam between paper space and cyberspace as seamless as you can. Include support for real-world addresses as well as email addresses. Print mailing labels and address book pages, too. In general, support paper mail as a fallback for contacts without email addresses, especially when messaging groups.
  5. Full-text searching and indexing. You can buy text indexing and searching components from companies like DT Software ( Finding something in a mountain of email is a huge problem for people like me, who get from 50-100 email messages per day. (Not counting spamů)
  6. Internet phone support. More and more people leave their mail clients "on" all the time, especially with the rise of DSL and cable modem connectivity. Allow other iphone clients to call yours, and include voice mail support if an incoming call isn't answered.
  7. "Request robot" support for binary resources. Allow email requests for unattended return-mail attachment of files like documents, ZIP archives, software, etc. The client should parse subject lines and bodies listserv-style and return an immediate message with the requested binary resource attached.
  8. "Personality module" support for special applications of email. Figure out how to customize the client for certain applications like e-newsletters, party and wedding planning, or even genealogy. The high road here is to open the interface and allow third parties to create custom modules without your involvement.

Think this is a lot? Think again. It's not a lot of coding—huge chunks of this stuff can be had in the form of drop-in software components. You don't have to implement POP or SMTP or text searching. The value that you add (and the tough part in creating any really good software) comes by thinking through the way end users make use of email, and modeling the application on those uses.

I've been surprised at how many people these days don't bother much with the Web. The killer application of the net is other users, and what you're creating here is a 21st century communications hub that understands email, paper mail, and Internet Phone. Basically, the hole I'm describing was left by people dividing up application space in all the wrong ways. Carve away anything that isn't person-to-person communication, and you have the next "killer app"—the billion-dollar one that everybody else has missed.