version 1.1.12 available for preview

April 13, 2009

Version 1.1.12 started out with only one objective – to provide support for STARTTLS – to allow sending mail via hotmail. Since then a number of problems and some ideas have come up, that have also been addressed.

Providing support for STARTTLS requires changing an active connection from being in plain text, to being protected by TLS. Folklore says that it should be possible to do this from within the BlackBerry API, but after several weeks of trying, I gave up and started using the TLS capabilities within the open source Bouncy Castle package. tiggit mail now includes a cut down version of Bouncy Castle. The module is called Bouncy Tiggit.

A number of users have asked for the ability to play a sound when a new mail is received by tiggit, and so version 1.1.12 includes the ability to assign a ring tone – via the profile manager – to new messages arriving in tiggit. Also, tiggit will now play audio attachments directly from the message viewer to allow users to listen to emailed voice mail messages.

Version 1.1.12 has an improved network configurator that makes reference to the Service Book to understand the available network settings. The network configurator still attempts to make http and socket connections, but it attempts to make these connections for each entry in the Service Book. In the event that tiggit cannot find a Service Book entry that works it will attempt to make some direct http and socket connections as a last resort. There is also a new setting serviceBook that allows the user to specify the Service Book UID to be used by tiggit.

Service Book based configurator

Service Book based configurator

A number of users have complained that html messages are displayed ‘twice’. Actually this is the HTML attachments being displayed as well as the plain text attachment. Version 1.1.12 no longer displays plain text attachments if there is a HTML attachment.

This version includes refactoring of the message sending code to improve reliability for sending messages and uploading sent messages to a Sent Items IMAP folder. This includes a new technique to send data to smtp and imap servers in blocks, rather than a continuous stream. As a result there are two new configuration paramers – socketBlockSize and socketBlockWait. These set the amount of data that is sent in a single block, and the amount of back off time allowed prior to sending the next block. These values may need to be optimised for different data networks.

Here is the detailed list of changes in version 1.1.12

  • integrated bouncy castle and implemented starttls
  • logic to detect whether starttls should be used for SMTP
  • logic to detect authentication mechanism for SMTP
  • mp3 attachments
  • play sound when mail arrives
  • fixes bug where full message was not always downloaded via POP3
  • fixes bug in handling message move responses
  • improved useability of file chooser when adding and saving attachments
  • servicebook based connections
  • don’t display plain text if HTML has already been displayed
  • new parameters for socketBlockSize and socketBlockWait
  • servicebook based configurator
  • fixes bug in reload functionality
  • fixes bugs in sorting behavior
  • ability to set delete preference
  • Registered users can download version 1.1.12, by clicking here and entering the email address that was originally used to register for tiggit mail. Exisiting license tokens will continue to work with this version. Users are advised to take appropriate precautions when upgrading to this version as all messages on the handheld may be lost.

    what’s cooking ?

    April 6, 2009

    It has been a while since I posted a new version of tiggit mail – although there have been a couple of rapid patch releases to resolve particular problems – which poses the question, “what have I been working on ?”

    Well the weather has been slowly improving and I have been trying to spend more weekend time out of doors, but my bike is still missing me. I have added a number of enhancements to tiggit, not least of which is the addition of the bouncy castle libraries for STARTTLS, and indeed reducing the bouncy castle libraries in size. There are a number of improvements to the file chooser for attachments. The ability to play a ring tone when a new message arrives, and the ability to play mp3 files that may arrive as email attachments. (It is quite common for voice mail systems to email voice mail messages these days and some users would like to play these via tiggit, rather than saving them to the SD card and then using the media player to play them.)

    The thing that has taken the most time, and is still not finished is increasing the reliability of sending messages (done) and appending messages to a sent folder (done, but not by the tunnel). I started by writing a number of auto-test harnesses to work out why so many people were having problems, and then all of a sudden I could see so many bugs in the code. It is going to be a little while before I finally work through all of the issues. I only have to solve some mailbox lock problems and appending via the tunnel and I am done.

    I have also upgraded the network configurator to pay attention to the RIM service book. I am really hopeful that this will reduce the number of people that have problem getting started in the first place. The configurator now reads the service book and attempts to make a socket and http connection on each service book entry. It allocates a score to each sucessful service book record and then chooses the ‘best’ as the configuration option to use. It will be interesting to see if this makes any difference to the number of service calls I get about being unable to connect.

    Lots of people have commented that it is a little odd that tiggit mail shows the HTML mail, and then also shows the plain text underneath. Well this is now gone. If there is a HTML attachment then all plain text attachments will not be displayed.

    There is not much more (in terms of a list) to be done to release version 1.1.12, but I expect that it will be after Easter before it comes out. So, I am afraid that this is another post without any screen shots of something new.