The planning for Conversations 3.0 is mostly complete. I know pretty much exactly what I want to do
eyome · Tuesday, 20 September - 20:26
- Rewrite the entire database layer. Replace everything with Android Room. Get rid of in-memory caching of roster, messages and contacts.
- Add database support for complex messages (full message history (edits, moderation, etc), reactions, references (quotes)
- Use Jetpack Paging. This allows jumping to search result or quoted message. Requires Android Room.
- Use AndroidViewModel (and more broadly MVVM) and two way databinding to significantly reduce boiler plate. Currently Conversations uses one way databinding sporadically.
- Use Jetpacks Navigation Component and switch to ‘Single Activity’ model where most views become Fragments
- With those changes in mind I’m currently not eager to work on or merge PRs for anything that touches the UI or database layer as everything on those layers will be replaced. XMPP layer will remain the same and I’m still working on it. Currently I’m improving the connection speed.
This is a pretty large project. I’m estimating about half a year of full time work. I’m trying to find funding for that. Unfortunately it’s not easy to get people excited about what is more like a code & architecture clean up than something flashy as let’s say “Video calls”.