Comprehensive Organizer for PalmOS

The project was made for a company specializing in creating software for various mobile platforms such as Windows Mobile, PalmOS, BlackBerry, Symbian. Typical purpose of these applications is to provide personal time management, call management, arrangement of meetings and conferences, tracking of expenses, synchronization with desktop applications such as Outlook, etc.

This project involved bug fixing and additions to the existing version of the application which contained over 8MB of code which was forsaken by previous development team for some reason be it departure of the team or changed priorities. Further task was implementation of a brand new version of the application.

Obviously handling such project required investigation of considerable amount of existing code, refactoring of unstable code, investigating, analyzing and correcting existing issues as well as adding new functionality and at the same time keeping code structured, well styled and readable.

Solution

The application is positioned as a universal organizer for mobile devices running on PalmOS operating system. One single application contains numerous functions used by mobile computer owners on daily basis. Comprehensive organizer among other features allows sending SMS messages to all upcoming conference attendees, making calls, organizing multiple attendee calls and conferences, sending emails to various recipient sets based on complex criteria. It is integrated with organizer and address book built in PalmOS operating system.

The application is tightly integrated with hardware capabilities of Treo communicator series. It has significant multimedia capabilities such as support for real-time capturing and transition/receiving of voice and video.

This functionality is supported by convenient and carefully polished user interface which includes over 100 forms and dialogs.

Among miscellaneous functionality it supports automatic receiving and presentation of weather forecasts, trading indexes and other information from vendor site. All information stored in the database on the mobile device can be synchronized with desktop computers.

Architecture

The application consists of the following major sections:

Main application representing organizer front-end and providing UI for accessing its functions.

Email client with SSL support and thus providing comprehensive security level to guarantee high level of information safety.

Attendees module directly using Treo communicator series hardware capabilities to handle SMS messaging, call processing and conference arrangements.

Multimedia module handling such tasks as recording / sending / playing video and audio.

Synchronization module responsible for synchronizing data with applications running of desktop computers.

Tools and Technologies

  • C++;
  • CodeWarrior;
  • Telephony API: sending sms, calling to contact;
  • Internet API: sending emails, surfing web pages;
  • HotSync mechanism;
  • Treo smartphones support;

Benefits

Development team managed to get acquainted with considerable amount of source code in short time and proved the ability to deal with code written by 3rd party teams as well as to enhance it making it bug-free and adding new functionality.

The application itself provides unique set of features for time management, contact storage and meeting organization means of one single application (which typically require a bunch of programs with poor data synchronization and exchange resulting in duplication of data and a need to update the same information in several applications) by.