Chat-like message types and interface #1616
Labels
No Label
bug
build
dependencies
developers
documentation
duplicate
enhancement
formatting
invalid
legal
mobile
obsolete
packaging
performance
protocol
question
refactoring
regression
security
test
translation
usability
wontfix
No Milestone
No project
No Assignees
1 Participants
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Bitmessage/PyBitmessage-2024-12-04#1616
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
During development of the android interface I realised that a chat-like interface may be more user friendly than an email-like interface. I propose a protocol change for chat-like objects. They would use a new message type, and a bit in the pubkey bitfield would indicate whether the address should be used for chat message types instead of email-like message type.
The chat message type would contain a reference to previous objects (so that ordering can be done by the client), and could contain UTF-8 text, images or audio (maybe with separate message types for each, or all in one). Video wouldn't fit within maximum object size, so can probably be skipped. For audio, I tested the Opus codec, which produces about 7kbit/s file at the minimum size and still is understandable. Opus codec is widely supported by open source implementation and a python package.
For compatibility outside of kivy, the QT interface would contain another tab for a chat interface. The API would have to be updated too.
For storing, a new table is proposed.
I also propose to extend the messagetype class to allow not only encoding / decoding, but also saving/loading/searching/etc. For old message types it can be refactored later.
This proposal can be implemented independently of my recent proposal for getting rid of pubkey objects #1612 .