Just thinking out loud here... any comments will be appreciated.
As noted a few weeks ago, I've recently started using Apple Mail, and
I mostly like it, but it has some pretty glaring shortcomings, too.
Chief for me is the lack of a "delayed send" function, that would let
me correct those "oops" realizations I always get shortly after
hitting Send. It also has rather buggy handling of quoted text in a
reply (if you try to trim it -- which of course you always should),
and the way it sets up a reply tends to encourage top-posting, which
is crass and poor netiquette.
On the other hand, it does have a nice clean interface, is easy to
use, fast, and handles styled (HTML) email quite nicely.
But it's made me wonder... would there be any interest in a few of us
coming together and writing an open-source email client in RB? I'd
design it to be very similar to Mail (though cross-platform, of
course), but with some extra features we might want. It would
probably serve as a very useful body of sample code for new RB users,
and we'd get the email client we want.
As part of my previous work at Verified Express, I already have a
large body of code for dealing with email messages, including
properly parsing attachments, extracting email headers, Bayesian spam
classification, etc. I'd be happy to donate this code to the
project. So where are the hard parts to this project?
I guess the chief one would be handling HTML mail. I don't have much
faith left in the HTMLViewer control. We could parse the HTML
ourselves and display messages that are simple styled text messages
just fine, but it will probably break down when you get one of those
advertisements that's fancy HTML full of images and whatnot.
Another tricky bit might be inline display of attachments... the
EditField isn't much good for that. I know of a plug-in EditField
replacement under development that supports embedded objects; there
may be other avenues to consider too. If we get desperate, we could
just display attachments separately, perhaps in a horizontally
scrolling area below the message.
Efficient searching could be another challenge. Might want to store
messages in a database, though I tend to be a fan of flat files. If
we did do a database, I'd want to be sure to include an export to
standard mbox format (and maybe a way to schedule a nightly export,
for backup purposes -- email is important!).
A fun feature we could add would be to make it highly RBScriptable --
add the ability to execute scripts that operate on incoming or
outgoing messages, or add new items to the menubar or toolbar, or
whatever. I'm not entirely sure what that would be used for, but
maybe you can think of something. (Just thought of one: maybe it
could apply syntax coloring to any incoming message from an RB
newsgroup that contains RB code.)
This is probably one of those projects where 90% of it is easy, and
the last 10% is very hard. Still, even a 90% email client might be
better than what we're using now. On the other hand, it seems a bit
silly to write a new email client; this is a very old problem and
there are lots of solutions out there already. But on the gripping
hand, if my ideal email client is out there, I haven't found it yet.
What do you think?
Best,
- Joe
--
Joe Strout
Inspiring Applications, Inc.
http://www.InspiringApps.com
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>
|