This is an old revision of the document!
Table of Contents
Description of features
1v1 messages
Client is able to send, receive and display text messages to / from friends.
If client doesn't implement Message splitting, message size is limited to 1372 bytes.
Audio
Client is able to capture, send, receive and play audio to / from friends, using toxav.
Audio filtering
Client is able to filter out noise from captured audio using libfilteraudio1).
User should be able to tun on / off audio filtering.
Audio notifications
Client should be able to play sound upon receiving message / call / other. There should be an option to turn those notifications off, or tune them according to user needs.
Avatars
Changing nospam
Support for changing nospam via UI. NoSpam is a small part of a Tox ID that can be changed with an explicit action from the user to prevent friend request spam, if the client supports it.
Chat logs
Client should have support for saving, loading, displaying and removing chat logs (history) of conversations.
Contact aliases
Client should allow user to set, display and remove alias for any friend.
Contact blocking
Client should allow user to block / unblock contacts.
Blocked friends would be unable to contact user, and user would appear to them as offline
even if user is online.
Desktop sharing
Ability of the client to show the user's desktop in a video call, instead of camera input.
Proxy support
Proxy support can be HTTP or SOCKS5 (or both). For an example of a proxy configuration, see Tox over Tor.
Message splitting
If client supports message splitting, a user sending a message larger than the maximum size means the message will be split into several separate messages and sent as normal.
Faux offline messaging
Faux offline messaging is a partial support for offline messaging. If client supports it, it is possible to message offline contacts, in which case the message will be stored by the client and sent immediately once both contacts are online.
File resuming
File resuming is the ability of a client to resume broken file transfers. Partial support is support for pause and resuming file transfers.
Inline images
Ability of the client to display sent and received images.
Screen/Desktop notifications
Support for notifications appearing on the user's desktop or phone screen when receiving a new message, call, or status change.
Persistent group chats
Ability of the client to keep track of group chats and rejoin them automatically on reconnect / restart. Supported by c-toxcore.
Features
qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox | |
---|---|---|---|---|---|---|---|---|---|---|
Interface | Desktop | Desktop | CLI | Desktop | Mobile | Mobile | Desktop | Mobile | Mobile | Mobile |
Linux | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
OSX | Yes | Yes | Yes | Untested | No | No | No | No | No | No |
Windows | Yes | Yes | No | Yes | No | No | Yes | No | No | No |
BSD | Yes | Yes | Yes | Untested | No | No | No | No | No | No |
Android | No | Minimal3) | No | No | Yes | Yes | No | No | Yes | Yes |
iOS | No | No | No | No | No | No | No | No | No | No |
SailfishOS | No | No | Yes | No | No | No | No | Yes | No | No |
Audio features | qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
Audio | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | No |
Audio filtering | Yes | Yes | No | No | Yes | No | Yes | No | No | No |
Audio notifications | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes |
Group audio | Yes | Yes | No | No | Yes | No | Yes | No | No | No |
Video features | qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
Desktop sharing | Yes | Yes | No | Yes | No | No | Yes | No | No | No |
Video | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | No |
Messaging | qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
1v1 messages | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Chat logs | Yes | Yes (export possible) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Emoticons | Yes | No | No | Yes | Yes | Yes | Yes | No | Yes | Yes |
Inline images | Semi4) | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Yes |
Message splitting | Yes | Yes | No | Yes | No | Yes | Yes | Yes | Yes | Yes |
Faux offline messaging | Yes | Yes | Semi5) | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
File transfer | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
File resuming | Semi6) | Yes | Yes | Yes | Untested | No | Yes | No | Semi7) | No |
Spell check | Yes | No | No | No | No | Yes | Yes | No | No | No |
Screen/Desktop notifications | Semi8) | Yes | Yes | Unknown | Yes | Yes | Unknown | Unknown | Yes | Yes |
Typing notifications | Yes | Yes | Yes | Yes | Yes | Semi9) | Yes | Yes | Yes | Yes |
Group chats | qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
Group chats | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | No |
Persistent group chats | Yes | Yes | Yes | Prealpha | Yes | No | Yes | No | No | No |
Group chat history | Planned10) | No | No | Unknown | Yes | No | Unknown | No | No | No |
Group file transfers | No | No | No | No | No | No | No | No | No | No |
Group inline images | No | No | No | No | No | No | No | No | No | No |
Group offline messaging | No | No | No | No | No | No | No | No | No | No |
Group typing notifications | No | No | No | No | No | No | No | No | No | No |
Profile & Contact Management | qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
Avatars | Yes | Yes | Semi11) | Yes | Yes | Yes | Yes | No | Yes | Yes |
Changing nospam | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No |
Contact aliases | Yes | Yes | No | Yes | Untested | Yes | Yes | Yes | Yes | No |
Contact blocking | Yes | No | Yes | Yes | Untested | Semi12) | No | No | No | No |
Name lookups | Yes | Yes | Yes | Yes | Untested | Yes | Yes | Yes | No | No |
Multiprofile | Yes | No | Yes | Yes | No | Yes | Yes | No | Yes | No |
Profile import/export | Yes | No | Semi13) | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Save file encryption | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | No |
tox: URI | Yes | Yes | No | No | Yes | Yes | No | No | No | Yes |
General | qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
Multilingual | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Proxy support | Yes | (Socks5 only) | Yes | Yes | (Tor only) | No | Yes | No | No | Yes |
qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
Unmaintained client features
See unmaintained clients.
libfilteraudio
is not a strict requirement, but it is supposed to make filtering audio in Tox clients easier. In a case where it fails to ease filtering, an issue about this should be made.