Well, last year MMISoftware started work on a number of applications for the iPhone and the iPod Touch.
Working on iCalMaker2
iCalMaker is being renamed iCalMaker2, updated to work with Mac OS X 10.5 (Leopard) (Amazon Link), and rewritten to take advantage of the latest features in 10.5, and Xcode 3.0.
iCalMaker becomes iCalMaker2
As I said in an earlier post, iCalMaker does not play well with Mac OS X 10.5 (Leopard) (Amazon Link), and that MMISoftware was working on a fix.
Core-data, a predicate and a loop
Just been doing some work in which we needed to parse some data in the thesnowsite.com database. Basically, the problem was to take the data and then do a series of ‘internal’ consistency and comparison checks. Essentially there were several hundred pieces of data needed to be compared against themselves.
Making iCalMaker Universal
I have just spent the last 15 hours making iCalMaker ‘universal’.
On one hand the process, as Apple promised, has been easy. If your code-base is up to date, and doesn’t use any ‘old’ calls, then it is literally a case of clicking a few buttons.
mailMaker updated for Mac OS X 10.4
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.
Power on X updated
Power on X has been updated to version 1.6.5
Power on X is a tool for the calculation of statistical power (more information on power calculations and Power on X). The program can perform calculations of required sample size to achieve a desired power, and calculations of power for previously run studies/experiments. In addition, the paid version can generate power/sample size tables.
The update has been tested on Mac OS X 10.4 (Tiger) and recompiled using xcode 2.0
Click to download: Power on X
The software is shareware ($30 US, approx. £17 GBP) and can be purchased through this site. A demonstration version can be downloaded. The demo version has a disabled ‘power table’ feature and a ‘nag’ screen.
iCalMaker update
iCalMaker updated to 1.6.5
iCalMaker has been updated to 1.6.5
The update includes a number of bug fixes and a few new features.
New Features:
- Added the option to allow the expansion of repeating events in tab- and comma-delimited export
- Major improvement to the help system – searching (10.2 and greater) and context-specific (10.3 and greater) help now works correctly
Bug Fixes:
A number of minor bug fixes
- Recompiled using Xcode 1.2
- Updated the eSellerate integrated purchase engine
mailMaker 2.0 – the work continues…
Fun and games with SMTP and mail protocols
Work is continuing on mailMaker 2.0.
The problem falls in to two areas:
- Sending mail directly from mailMaker
- 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.)