MMISoftware Blog
News and views of Mac OS X and iPhone Programming
 
 

It has been a busy few days.

JPEGCleaner, quickWebAlbum, websiteCleaner and mailMaker have been updated.

The updates of JPEGCleaner and quickWebAlbum were to correct some ‘blank’ image problems reported by a number of users. The problem was due to slight differences in the meta-data recorded in pictures by different makes of camera, and there was also an issue with certain image resolutions.

mailMaker and websiteCleaner have also been updated. In both cases the update addressed a few minor (rare) bugs

mailMaker (free, fully functional trail version) is a 416 kb download from MMISoftware – download
JPEGCleaner (free, fully functional trail version) is a 256 kb download from MMISoftware – download
quickWebAlbum (free, fully functional trail version) is a 332 kb download from MMISoftware – download
websiteCleaner (free, fully functional trail version) is a 260 kb download from MMISoftware – download

mailMaker has been updated to version 1.2 for Mac OS X 10.4 (Tiger).

The update includes: the addition of version checking (the program, like all MMISoftware programs, will check if a new version is available – this can be disabled); a number of minor changes to make it Mac OS X 10.4 (Tiger) compatible; recompiling the program with xcode 2.0; and the updating of the esellerate sales engine.

During the update (and testing of the program) a major bug was discovered which prevented some large messages from being sent. This bug was fixed!!

The program is a 412 kb download from MMISoftware – mailMaker download

The program is shareware, costs $15 (USD) and there is a free demo version available. The program can be purchased using either the integrated sales system in mailMaker or directly from the MMISoftware store.

Fun and games with SMTP and mail protocols

Work is continuing on mailMaker 2.0.

The problem falls in to two areas:

  1. Sending mail directly from mailMaker
  2. Processing the message – files (attachments), ‘includes’, and text layout for correct handling and transmission via e-mail.

Sending mail:

There are three approaches:

1. The ‘mail’ can be sent using Apple events/AppleScript

- This is the approach currently used by mailMaker. However, this can be flakey, slow, and unreliable. Hence the need for a change!

2. Using NSMailDelivery –

This is an API hidden in Cocoa (see here). In principle it works very well, however, the protocol is limited in that it can only use the ‘default’ SMTP (simple mail transfer protocol) server. This may not be ideal. Also, handling of formated text is a problem.

3. ‘Roll your own’ (or use someone elses) SMTP protocols –

Using a framework from another developer can be an option but is limited in the level of control you achieve, therefore I decided to ‘roll my own’…..

‘Roll your own’ –

This is easier said then done…. And progress is slow…. The use of NSStream (can only be used for 10.3 or greater) has really helped. It is now just a question of handling the ‘chatter’ between the client and the server. At present things are working, but error trapping is proving to be difficult.

Processing the message:

Sending ‘plain text’ is easy! Sending ‘rich text’ and attachments is difficult….

Done:

Processing ‘left’, ‘right’, and ‘centred’ text – solved

Encoding attachments – solved

(BASE64 can be such fun!)

Getting the correct MIME information an attached file – solved (well for most types!)

Getting text colour right – solved

To do:

Lots of stuff. Far too much to list here…..

(Thanks to Jeff Franklin for help with the solving the MIME problem.)

Fun and games with mailMaker, NSMailDelivery, NSStream and SMTP

As I said in an earlier post, mailMaker is undergoing a serious rewrite.

In an attempt to move away from using clients, such as Apple Mail, to send the final e-mails it was decided to add smtp (simple mail transfer protocol) support directly to the program. That is, to give the program the ability to send the e-mails directly.

First stop was an attempt to use NSMailDelivery. However, NSMailDelivery was found not to be powerful enough (main reason is it insists on using the ‘default’ smtp server in Apple Mail and there is no way to change this behaviour!). So the attempt was abandoned as mailMaker needs to be able to control the smtp server settings.

Mac OS X 10.3 introduced a new API called NSStream. This looked more promising. However as it is a ‘low level’ API it is more problematical to use and effectively means I am having to ‘roll my own’ smtp client. What fun!

Bottom line. Looks like this is going to take longer than I thought!

(There are a number of frameworks available which could be used to add email capabilities to programs but most of these, upon inspection, really seem to be overkill for what I need.)

Work starts on mailMaker version 2

After completing the update of the MMISoftware website it is now time to start the next project!

mailMaker has been an odd program. It was released towards the end of last year and has never sold very well. It has only had around 800 downloads between VersionTracker and Macupdate. (The server logs at MMISoftware shows that it it is more than 800.)

Why so few downloads? Why so few sales? I use the program daily for e-mailing friends, colleagues and customers, and find it very useful!

One possibility for poor level of downloads and purchases is the misconception that the program is for producing spam, well, it is not, it would be a very inefficient way to spam people! Could the poor level of downloads be a result of a backlash against spam?

The program is now going through a major ‘make-over’ with a number of new features being added….

Watch this space for more details!

The holidays over, and it is back to the programs

After a few weeks of dashing around (Christmas, New Year, and a skiing trip) it is now back to programming.

What will 2004 bring?

Well, some major updates are in the pipeline……

iCalMaker:

Currently at version 1.5.x. Since the release of 1.5 work has been continuing on updating the program. There are a number of changes/improvements planned for version 2. Some of the changes are at the request of users (thanks!), and some of the others are a result of my own needs/requirements*. There is a long list of changes (hence the jump to version 2) and these include, for example (and some of these may not make it through to the final version), expanded output of repeat events in to tab- and comma-delimited formats, improvements in the import of some types of repeating events, generation of ‘I’m free’ times and dates, increased customization via preferences (yes, the dimmed preference menu may become active!), handling of ‘to do’ events, plus many more…. Version 2 will be free-upgraded for registered users of version 1.0. However, the price for new users may be increased from $25 to $30….

Web Photos:

Version 2, has been finished for some time, however, due to other work and programming commitments, final beta testing has not started. Plus, I have now decided to move over to eSellerate for Web Photos so the ‘activation’ and ‘registration’ methods need to be overhauled. The cost of the program will stay the same, it will be a free upgrade for registered users (registered users will require a new activation code).

mailMaker:

Some minor changes are planned. The program will continue to evolve.

Power on X:

No major updates planned, other than moving the program over to eSellerate for sales so the ‘activation’ and ‘registration’ methods need to be overhauled (registered users will require a new activation code).

One trick ponies:

The one trick ponies continue to evolve, and, no doubt, some new ‘ponies’ will be added later in the year.

Changes to all:

As I now use MacPAD to update a shareware site (and I hope the other sites, i.e. Versiontracker and Macupdate, adopt the system) on program releases I am planning to incorporate a ‘version-check’ in all the programs that uses the MacPAD generated update file. The idea is that upon launch the program will automatically checks for newer versions of the program and alerts the user.

*It should be noted that all programs are used by the author, i.e. me, and this tends to drive some of the improvements.

Bug problems with Mac OS X less than 10.3

After several long days of wrestling with bug in mailMaker which only appeared when the program was run on machines not using 10.3 it has been decided to drop support for 10.2 in mailMaker. It is a shame that mailMaker will not run on 10.2 (or 10.1) but I was left with no option (the program now puts up a warning window if you try to run it on a machine pre-10.3).

There were two problems in 10.2 that couldn’t really be nailed:

  1. Unicode support - Unicode (international text) support is a problem is somewhere in the ‘deep depths’ of the OS, hence mailMaker was unable to satisfactorily pass international text to the default mail programs (also, some of the mail programs have poor support for Unicode).
  2. Machine dependent - There is something going on with the configuration of some users machines under 10.2.8 that meant they did not work well with mailMaker. After much chasing it appeared that the problem may be with a component installed by Toast (and for the life of me I can not figure out why that should be the case), but, equally, there was also something else going on….

Therefore, it was decided to concentrate development efforts on mailMaker under 10.3.

Chasing very weird bugs….

I have received a few reports of JPEGCleaner, mailMaker and iCalMaker not exporting correctly to the users default mail program.

A lot of digging, and testing, and I think I have finally tracked the problem down to Toast (not the bread product but the application for burning CDs)!

The clue to the problem was the programs were working fine on the a development machines, an iBook running 10.3.1, an iMac running 10.3.1 and and one running 10.2.8, however a ‘lamp-stand’ iMac running 10.3.1 was producing an error in the logs of:

## Component Manager: attempting to find symbols in a component alias of type (regR/carP/x!bt)

However, the export would work, and the error still appeared in the logs, if the mail application was launched before mailMaker sent the messages.

A quick Google showed that this error had been reported before and linked to Toast and a QuickTime component that it installs (Toast Video CD Support.qtx). However, there was no solution to the problem mentioned on any of the sites, other than removing the component, and nothing over at Apple gave a solution.

The work around appears to be to make sure the receiving application, i.e. the mail client, is running before mailMaker sends the messages, and if it is not, start it! The programs, JPEGCleaner, mailMaker and iCalMaker now do this….

Busy few days bug chasing and adding new features

Bugs are funny things. No matter how much you test a program you can be sure that there is some one out there with a computer set up in such a way that your program won’t work! And ever so often a user will say ‘does your program do X?’ or ‘it would be great if it did Y’, and you think ‘why didn’t I think of that!’ (if you have some idea, or bug reports, please send them to: bugs@mmisoftware.co.uk or feedback@mmisoftware.co.uk)

So a round up:

mailMaker: Added support for export to PowerMail. Also caught a really nasty bug which was causing the program to crash for some users on Mac OS X 10.2 to 10.2.8. There is also another weird bug that I haven’t been able to solve. It appears that if Toast is installed, and the default e-mail program is not running, then mailMaker cannot send the messages to the e-mail program.

JPEGCleaner: No bugs to deal with but support has been added for importing jfif files and exporting as jpeg.

iCalMaker: Added some new features such as support for the export of iCal "invitations" direct to Apple Mail, Eudora, Microsoft Entourage, Mailsmith and PowerMail, and direct support for the export of iCal files to PowerMail. Also caught a number of bugs.

The bugs:

  • some problems with the import of tab- and comma-delimited files
  • problems with unicode text not to be exported correctly to iCal
  • some repeat events not to being correctly formated in vCal (Palm) export
  • solved a problem that was causing the return and delete keys from working as advertised
  • have all been squashed!

Also, corrected some broken links in the ‘Help System’.

mailMaker is finally released!

Today we finally released mailMaker!

mailMaker allows the creation of personalised bulk e-mails (newsletters), which can be sent via the users default e-mail client to friends, family, clients, classmates, or society/club members.

Using mailMaker it is possible to:

  • create an e-mail to be sent to multiple recipients
  • add addresses for recipients from either the Apple Address Book (full integration with mailMaker) or by manually adding addresses
  • add attachments for inclusion in the e-mail (either use drag and drop or browse to the file(s))
  • save all the details for future use or re-use
  • send the e-mails using your default e-mail client (mailMaker currently supports Apple Mail, Eudora, Mailsmith and Entourage)
  • use unicode characters in your e-mails (fully supported in Apple Mail, limited support in Entourage, no support in Eudora or Mailsmith)

Search


 

Subscribe

    Subscribe to MMI news

    Enter your email address:

    Delivered by FeedBurner

    AddThis Social Bookmark Button
 

Categories

 

Archives

 

Spam caught:

 
 

MMISoftware Blog is proudly powered by WordPress
Domain services and hosting by MMISoftware
Entries (RSS) and Comments (RSS).