Skip to content

Road to Kontalk 5.0

Daniele Ricci edited this page Nov 14, 2017 · 8 revisions

Kontalk is starting to become a big project and lately it's been growing a bit uncontrollably. Some refactoring is needed at this stage, before implementing OMEMO which is expected for version 5.0. Special care must be taken for:

  • modularization of app components, especially for the UI part
  • drop usage of intents and broadcasts for message center service communication. Use AIDL or some other sort of IPC
  • move the message center to another process
  • convert Smack classes into Smack managers
  • use DI for UI views (also investigate other uses to simplify code)
  • use a database library or build something easier to use without exposing too much low-level stuff
  • read contact information directly from system contacts (that is, store only phone:hash associations)
  • support for multiple encryption methods
  • refactor compose fragments after having modularized everything inside it. Ok for the common parent class, but the father was designed too much "to be for the children"
  • unit and automated tests

The redesign will happen gradually within the 4.x series, until OMEMO is completed and 5.0 will be released.

This page will contain technical design notes about this major redesign of the app.

Clone this wiki locally