Skip to content
andrewachen edited this page Mar 5, 2012 · 24 revisions

While students are welcome to apply with their own well-formed project ideas, here are some for inspiration:

Table of Contents

My awesome example feature request

  • Description: detailed explanation of the idea.
  • link to a bugreport or feature request if one exists.
  • Requires: knowledge of Java and the Android SDK
  • Difficulty: easy/medium/hard
  • Mentor(s) interested in this project: include a name and email address here if applicable. You can propose an idea without necessarily being willing to mentor it.

Improve message list

  • Description: Improve the message list to deliver an awesome user experience
    • While ListView is not too bad at handling a gazillion of list items our current adapter makes things difficult by always loading all messages (not completely, but still) into memory. Optimizing that is the most important part of this project.
    • Implement pull-to-refresh to start checking mail
    • Add section headers to visually separate messages by sort key (usually the date)
    • Populate the unified inbox temporalily evenly between folders (Issue 4086)
    • Implement SectionIndexer for fast scrolling through the message list.
    • Small UI tweaks like hiding the "Load up to x more" footer when there are no more messages on the server
  • Requires: knowledge of Java, the Android SDK, and basic understanding of (SQL) databases
  • Difficulty: medium/hard
  • Resources: The World of ListView
  • Mentor(s) interested in this project: cketti

Proxy server support

  • Description: Modify K-9 Mail to be able to use a proxy server for all network connections. This will allow K-9 Mail to work with Orbot even on non-rooted phones.
  • Requires: knowledge of Java, the Android SDK, and IP network fundamentals
  • Difficulty: medium
  • Mentor(s) interested in this project: cketti

Home screen widget (message list)

  • Description: Create a (resizable) home screen widget that displays a (scrollable) message list.
  • Requires: knowledge of Java and the Android SDK
  • Difficulty: medium
  • Mentor(s) interested in this project:

Improve message composition

  • Description: Make composing messages with K-9 Mail fun and exciting...
    • WYSIWYG editing: bold, italic, underline, insert links, insert images (handling inline images using the current LocalStore is probably difficult)
    • Add optional spell checker
    • Always show the currently selected identity. Allow changing the identity used for sending by clicking on it.
    • Make it easier to remove individual recipients
    • Allow selecting contact groups
  • Requires: knowledge of Java and the Android SDK
  • Difficulty: medium
  • Mentor(s) interested in this project:

Undo

  • Description: undo for operations like delete/archive/send(?).
  • Requires: knowledge of Java and the Android SDK
  • Difficulty: medium
  • Mentor(s) interested in this project:

Improve security & privacy

Proper error reporting

See "State and error reporting" here: Feature-sketch-pad

  • Mentor(s) interested in this project:
Clone this wiki locally