Skip to content
Fiouz edited this page Jun 4, 2011 · 10 revisions

This is a page intended for developers to sketch and discuss ideas for new features or improvements.

State and error reporting

Purpose: Report all kinds of errors, exceptional states, progress, and pending actions to the user.

Errors to report:

  • Login problems
  • SSL/TLS certificate errors
  • Failing commands (e.g. tried to move a message that was deleted by another client)
  • Caught unexpected exceptions (don't notify, but store for "status" activity)?

Exceptional states:

  • No network connection but network operation requested (push activated, automatic poll overdue, manual poll requested)
  • Mail stored on SD card but SD card not available

Progress:

  • Message synchronization progress
  • Message sending progress
  • Uploading (e.g. a draft) progress
  • Pending actions
  • Compacting account
  • Attachment download progress

UI elements:

  • Notification in the Android status bar (opens "status" activity)
  • "Status" activity
    • Show current and past errors
    • Some errors require user interaction (e.g. accept new SSL/TLS certificate) -> Tap on entry to start?
    • Button to send errors with stack traces per email
    • Show pending actions (button to cancel them)
    • Filter list by type

Related issues in the bug tracker:

New setup wizard

See issue 2331

Full MIME message storage

Needs a new database structure. Is a requirement for S/MIME and PGP/MIME.

PGP/MIME Support

Hand proper MIME message to APG.

S/MIME Support

Once PGP/MIME is working. APG will probably include support for S/MIME, too.

Tablet UI

  • With 2+ panes: drag and drop to move a message to another folder would be nice

Content-based message filtering

Filter should be able trigger the following actions:

  • Move message
  • Suppress notification
  • Custom notification
  • Custom (chip?) color for a message
  • Set message flags

Exchange ActiveSync implementation

Integrate AOSP code.

On-device security

  • Application locked by master password
  • Password-locked accounts
  • Encrypted databases
  • Use the Android Accounts API to store passwords

Saved searches / "Virtual folders"

Message grouping / threading

  • The core computation was implemented as part of the issue258 branch but doesn't save its result

Import/export account settings

Support for proxy servers

  • This will enable users to e.g. use TOR (Orbot)
  • Extra warning if not using any transport encryption

Don't disclose sensitive information in debug logs

  • Don't log (complete) account names as they could be a valid email address
  • Do some extra work to make sure no message contents or headers are written to the log (IMAP responses)
  • Obfuscate folder names?

Catch application crashes

We could use ACRA or something similar:

ACRA is a library enabling Android Application to automatically post their crash reports to a GoogleDoc form. It is targetted to android applications developers to help them get data from their applications when they crash or behave erroneously.

https://code.google.com/p/acra/

Clone this wiki locally