Software design
Tinymail has been designed with design patterns and modern programming techniques in mind. It's highly adaptable and flexible.
It is possible to reimplement every component without breaking compatibility with existing applications built on top of tinymail. Each such significant type is also represented by a unit test.
Differences in screen size, availability of memory, availability of hardware components and aggressive changes in the world of mobile and embedded software development, make these design decisions the reason why you need tinymail in stead of another framework for accessing E-mail services.
More information about tinymail development can be found on the Trac website of tinymail.