ConMail 1.7.0b1

by gerard ziemski, frank nießen and tomoya konishi

License

ConMail is provided "AS IS," without a warranty of any kind.
gerard ziemski, frank nießen and tomoya konishi DO NOT WARRANT THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE SOFTWARE WILL BE CORRECTED. IN NO EVENT WILL NEITHER gerard ziemski NOR frank nießen NOR tomoya konishi BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE.

Copyrights

We are releasing ConMail and its source code as public domain. Among other things, this means that you can do the following, without having to seek our permission:

- include ConMail on a CD-ROM distribution
- bundle ConMail with your software distribution
- sell ConMail (?)
- modify ConMail and then copyright it yourself

We would appreciate it, however, if you could notify us if you are going to do any of these actions.

Warning!

ConMail is still in beta, it may crash or freeze your system! It was tested by us and several other people, but it is by no means a finished product!

For a list of know problems and bugs see the Known bugs section.

What is ConMail

ConMail, at its core, is a simple POP3 email client that will periodically check whether you have waiting email. ConMail is also a launcher for some of the most frequently used Internet related applications. Lastly, it is a PPP dialer for those who use modems.

ConMail consists of three different programs. The file "ConMail" hosts an extension that installs and manages ConMail's system menu. It also hosts control panel which is a simple application that is responsible for setting up preferences and accounts. "ConMail daemon" is an application that runs in the background. It is responsible for managing the floating windows and for networking.

ConMail supports an unlimited number of email accounts.

I (gerard ziemski) have written ConMail because I liked some of the already existing Macintosh programs that feature similar functionality. Unfortunately, I do not like the way they display information. Moreover, I could not use them as they were shareware and I did not feel like paying for them. Therefore, I decided to write my own program and after some work I came up with ConMail.

frank nießen has joined me in working on ConMail starting at version 1.7.0b0

tomoya konishi has joined me in working on ConMail starting at version 1.7.0b1

ConMail requirements

In order to run ConMail you need a PPC Macintosh Appearance and Open Transport installed. If you want to use ConMail as a launcher, you need to have Internet Config installed. If you want to use ConMail as PPP dialer, you need to have both ARA and Network Setup installed. If you want ConMail to use speech, you need to have Speech Manager installed. If you want ConMail to detect changes to your TCP/IP setup, you need to have Network Setup installed.

ConMail requires Mac OS 8.5 or later.

To compile ConMail, as provided, you will need Metrowerks CodeWarriorPro 5.0 or later.

Installation

To install ConMail, drag the "ConMail" and "ConMail daemon" files onto your "System Folder". They will be automatically placed in correct folders. Alternatively, drag "ConMail" to your "Control Panels" folder, and the "ConMail daemon" file to your "Extensions" folder. You will need to restart your computer.

Known bugs

- Custom palettes in 8bit color are screwed up, reverted to System color palette (?) (1 report).

- An empty menu bar is shown while running certain applications that hide the menu bar (1 report).

- Clicks destined for floating windows stop working after a certain amount of time (1 report)

To do list

Here are the following features and additions we plan for ConMail:

- add feature to check only for new messages as opposed to checking for waiting messages
- add feature allowing to check subjects and authors of emails
- add support for IMAP
- create control strip module
- add a feture that would let ConMail automatically connect/disconnect when checking for email
- localize ConMail for Japanese

If you have any features you would like to see implemented let us know.

gerard's thank you notes

I would like to thank my parents, Nelli and Piotr Ziemski, for putting up with me ;-) I am a little cranky sometimes when I am hard at work on my projects.

I would like to thank my M.Sc. thesis advisor, professor Robert E. Webber, for understanding that I simply had to work on ConMail, and GL4Java and BombWar and ... ;-)

Thank you notes

We would like to thank the following people who helped us tremendously by providing their criticism and comments, and by helping us test ConMail:

Yves Laumonier
Shmulik Regev
David Schultz
David Snyder
Adriaan Tijsseling
Juan Valencia
W!d
Peter Wong
Donato Zipeto

And thanks to all the people who emailed us saying how much they like ConMail, we really appreciate that.

Credits

Thanks to Metrowerks for CodeWarrior.

Thanks to Cache Computing for DCon demo.

Thanks to Neil Green for the terrific icons.

Thanks to Eric Okholm for "OTVirtualClient" source code.

Thanks to Matt Slot for "SysMenu" and "appe Windows" source code.

Thanks to K.J.Bricknell for "MACINTOSH C: A Hobbyist's Guide to Programming the Mac OS in C" book and all the source code accompanying it.

Thanks to Bruce Partridge for "ShowInitIcon" source code.

Thanks to the authors of "Tricks of the Mac Game Programming Gurus" book for "ScoresDemo" source code.

Thanks to Quinn "The Eskimo" and Peter N Lewis for "Internet Config" and related source code.

Version History

Version 1.0.0b0 - 05.13.1999
- initial release

Version 1.0.1b0 - 05.19.1999
- limited support for multiple accounts added
- changed the timing out algorithm
- the strings storing account information are initialized with random characters
- slight changes to displayed information
- other minor changes

Version 1.0.2b1 - 06.14.1999
- ConMail runs as faceless background application
- support for multiple accounts added
- the floating window will always stay on top
- added ConMail system menu icon
- changes to the OT code to make the connections more reliable
- changed the user interface
- added more icons
- other minor changes

Version 1.2.0b0 - 06.19.1999
- new ConMail icons created by Neil Green
- added extensive error notification
- rewrote global data section to make ConMail more stable
- fixed a race condition bug in OT
- fixed a bug that caused ConMail to crash if user entered very long account name, user name, mail host or password.
- changed the status window display
- added detail window
- using offscreens for double buffering
- about ConMail item selected from menu, no longer displays the preferences window
- cleaned up the code
- other minor changes

Version 1.2.1b0 - 06.21.1999
- added hotkeys to show/hide the floating windows

Version 1.3.0b0 - 06.24.1999
- registered ConMail 's creator type (CnMl) with Apple
- changed the technique for sharing global memory location from one that used resources to one that uses Gestalt functions, as suggested to me by Tim Herzog

- ConMail will now display its icon at startup
- other minor changes and bug fixes

Version 1.3.1b0 - 06.25.1999
- fixed the bug where ConMail would sometimes fail to open selected email client; I am using now aliases instead of FSSpec

Version 1.3.2b0 - 07.02.1999
- in case Navigation Services is not available ConMail will use the old style Open dialog.

Version 1.4.0b0 - 07.04.1999
- changed GUI to better support multiple accounts
- the password is never visible as plain text
- added an option to specify time out for email server
- any changes in "Email options" section take effect immediately

Version 1.5.0b0 - 07.13.1999
- redesigned GUI from scratch
- added support for Internet Config
- using Internet Config to determine user account name, email server address, user name and user password when creating default/new account
- using Internet Config to determine which email, web, ftp and ICQ client to launch
- added more options to ConMail system menu, simplified others
- added speech notification
- added sound notification
- using Internet Config to determine if and which email sound notification to play
- added an option to include/exclude account in notification
- added an option to use hot key to check for email
- added an option to use hot key to use speech
- added an option to show/hide ConMail icon at startup
- added an option to install/not install ConMail system menu icon
- added options to disable/change ConMail fetch email icon
- removed ConMail section on "User Manual", it is now a seperate document

Version 1.5.1b0 - 07.17.1999
- slight icons modifications - among other changes, using little mail flag by Peter Wong
- corrected spelling mistakes in "Read Me" and "User manual"
- updated "User manual" to reflect icon changes

Version 1.5.1b1 - 07.17.1999
- fixed "-49" error occurring (only Claris Emailer?) when trying to launch already opened helper application

Version 1.5.1b2 - 07.26.1999
- the "Rename..." and "Delete..." buttons are disabled when no account is selected
- added "Start ConMail daemon" and "Kill ConMail daemon" menu items to ConMail control panel.

Version 1.5.2b0 - 07.28.1999
- replaced Matt Slot's hand crafted jGNE filter with PPC only GetNextEventFilterUPP filter. hopefully this will take care of (very rare) crashing when closing floating windows.
- removed Matt Slot's fat init loader, no going back to 68K. hopefully this will take care of the bug displaying generic Finder icons, on some systems, when ConMail icon was shown at the startup.

Version 1.6.0b0 - 08.06.1999
- removed remaining 68K code
- rewrote strings module to make it more reliable for fixed strings size
- using system memory for double buffering, this gives me better control over the memory requirements of ConMail daemon
- added helper clients icons to ConMail system menu
- added telnet to helper clients
- helper clients that are not set in IC are disabled in the ConMail system menu
- checking for changes to IC preferences (every 1 second) and updating ConMail if neccessary
- added "Enable automatic checking for email" option
- added support for PPP, including addition of "PPP connect"/"PPP disconnect" menu item
- fixed a bug ("black window") that corrupted windows' contents when switching screen depth
- checking for changes to TCP/IP (every 5 seconds) and updating ConMail if neccessary
- rewritten most of the OT related code in Network module
- OT task is no longer run when not fetching email, this should save processor time
- other minor changes

Version 1.6.0b1 - 08.07.1999
- increased memory setting of ConMail control panel
- compacting memory when switching panels
- fixed "NetworkIsEnabled" to always return true (it probably has different meaning from what i expected)

Version 1.6.0b2 - 08.08.1999
- added extra checks when starting up ConMail daemon

Version 1.6.0b3 - 08.09.1999
- corrected ConMail daemon behaviour when the ARA or Network Setup library is not installed

Version 1.6.0b4 - 08.10.1999
- removed the automatic checking for changes to TCP/IP. I find it inefficient to use Network Setup even at the interval of 5 seconds (hard disk drive accesses). Unless Apple provides low overhead routines for checking for changes to TCP/IP, like Internet Config does for checking for changes to its preferences, I will not put it back in (if they do provide such routines I am not aware of them).
- added support for "Flash Icon" and "Display Dialog" options provided by Internet Config. Notice that Apple's "Internet" control panel has a bug in it. The two options are reversed. The "Internet Config" application works correctly. For ConMail I have decided to work around the Apple's bug. This means that ConMail does the opposite of how "Internet Config" is setup, also, in the future when they fix it, I will have to update ConMail in this regard.

Version 1.6.0b5 - 08.13.1999
- changed the way I test for system capabilities. now if there is any reason at all ConMail (including the INIT) cannot run, the user should be informed about it in a dialog box.
- I now lock the handles to icons of helpers applications, hopefully this should fix the bug which would crash a foreground application when accessing ConMail menu.

Version 1.6.0b6 - 08.15.1999
- added back the automatic checking for changes to TCP/IP. Using Network Setup only when the default interface changes. I test the default interface using OTInetGetInterfaceInfo which is low overhead.
- using system memory for speech. Speech now works if high quality voice is selected.

Version 1.6.0b7 - 09.14.1999
- fixed jGNE related bug that would cause a crash when attempting to kill ConMail daemon if there were other programs running that also used jGNE filter (fixed by implementing JMP island as per Technote 1060)

Version 1.6.0b8 - 09.15.1999
- fixed a bug in scrambling/unscrambling algorithm that caused ConMail to "forget" some passwords, accounts' names or other text entered in ConMail's preferences

Version 1.6.0b9 - 09.27.1999
- using jGNE filter to handle key shortcuts

Version 1.6.0b10 - 09.27.1999
- fixed a bug introduced in 1.6b9 where "Show summary window" and "Show detail window" menu items did not work

Version 1.7.0d0 - 10.19.1999
- frank nießen joins me in working on ConMail
- added the ability to change the default account port number
(by gerard ziemski)
- implemented APOP protocol
(by frank nießen)
- implemented autoshow/autohide feature for the summary and the detail window (opens the window if there is a mail; closed the window if there is no mail)
(by frank nießen)

Version 1.7.0b1 - 11.04.1999
- tomoya konishi joins me in working on ConMail
- replaced "Launch ... helper application" texts in ConMail system menu with corresponding applications' names
(by gerard ziemski)
- fix for multiple email server response
(by tomoya konishi)

Updates

You can always find the latest version of ConMail here:
<http://members.home.net/gziemski/ConMail.html>

tomoya konishi
kon@glass.mm.t.u-tokyo.ac.jp

frank nießen
FNiessen@adobe.com
<http://www.niessen-online.de/en/index.html>

gerard ziemski
gziemski@home.com
<http://members.home.com/gziemski/>

19 October 1999

enjoy


Original file name: Read Me - converted on Thursday, 18 November 1999, 12:55

This page was created using TextToHTML. TextToHTML is a free software for Macintosh and is (c) 1995,1996 by Kris Coppieters