aTalk (Android)

- Reading time: 7 minutes -

Foreword

This is about installing, setting up and using the XMPP messenger aTalk for Android. This very feature-rich client from an apparently Asian developer has been around since 2014 and is definitely worth a mention!

Basically

aTalk describes itself as „an encrypted instant messaging with video call and GPS features for android“ and has certain advantages over other well-known clients that use the XMPP chat standard. In addition, the source code can be viewed (“open source”).

Once you get used to the user interface, you get a very feature-rich client and can not only create chat rooms but also configure them in detail. This is otherwise only possible with the desktop program “Gajim” (the “Swiss army knife” among clients).

Very good and detailed descriptions as well as answers to regularly asked questions (FAQ) (external) are provided. For example, why a first login after creating a new chat account sometimes does not work immediately (for security reasons).

Installation

aTalk can be installed either via F-Droid (external) or the PlayStore (external)

Operation

When using aTalk for the first time, it is advantageous to know the basic structure and basic operation. There are several “pages” that are virtually next to each other and you can switch between them by swiping to the left/right:

  1. contact list
  2. list of chat rooms (groups)
  3. the overview of “recent messages”
  4. the call history and
  5. a “pod list”

A page can also be empty and initially display no content.

As a general rule, you can simply tap or long-tap on almost all displayed elements anywhere in the app to display the corresponding context menus.

From aTalk’s description of user guidance:

  • ViewPager:
    aTalk uses the android ViewPager concept to present multiple menus. The user slides left/right to access other menus of the same category. ViewPager navigation is used in the main UI and during chat sessions for 1:1 chats and group chats.

  • Pull-down menu:
    Each menu is usually accompanied by additional user-selectable options. These options are accessed via the tool icons displayed in the navigation bar or via the pull-down menu for overflow options. On some older Android devices there is a dedicated menu button.

  • Access to Chat/Info:
    Some of the information or aTalk features can be accessed by short tapping/clicking on the item or icon displayed on the view page, e.g. presence status icon, call buttons, profile picture, etc. Clicking on the contact or chat room starts the chat session.

  • Context menu:
    All aTalk context menus are called up by long clicking/pressing on the element. A long press on a contact element in the main menu opens the context menu, e.g. to activate Text->Language for incoming messages during the chat session.

  • Heads-up notification:
    A heads-up notification is displayed for an incoming call or message. The heads-up notification is used by the user to accept or reject an incoming call. In the case of an incoming message, the user can mark the message as read or reply directly to the message without opening the chat session. You can set the incoming message to snooze mode for half an hour.

  • Event notification:
    aTalk implements systray notifications for many of the incoming events, e.g. incoming calls (busy, missed, secured), incoming messages etc. There are custom notification options for many of these events, e.g. pop-up, sound playback and vibration. aTalk notification events

Functions

Here is an excerpt:

  • Instant messaging in plain text and end-to-end encryption with OMEMO or OTR
  • SSL certificate authentication, DNSSEC and DANE security implementation for improved secure connection establishment
  • OMEMO encryption in group chat sessions to improve privacy and security
  • OMEMO Media File Sharing for all files including stickers, bitmoji and emoji content
  • Support for HTTP file upload for sharing files with offline contacts and in group chat
  • Support for stickers, bitmoji and emoji rich content sharing via Google Gboard
  • Send and receive files for all document types and images, with thumbnail preview and gif animation
  • Automatic acceptance of file transfer requests with maximum file size option
  • Support for sharing, quoting and forwarding messages and media with preview before sending
  • Implementation of call waiting to answer a second incoming call by putting the ongoing call on hold and to allow switching between calls
  • Multi-user chat Entering or creating rooms with full support of room configuration for the owner (see below)
  • Integrated Captcha-protected room user interface with retry on failure
  • Supports both voice and video calls with ZRTP, SDES and DTLS SRTP encryption modes
  • Unique GPS location implementation as a standalone tool to send locations to the desired contact for real-time tracking or playback animation
  • A 360° street view of your current location can be used for a self-guided tour. The street view tracks and follows the line of sight.
  • Built-in demo for GPS localization functions
  • Built-in photo editor with zoom and crop, user can easily update their avatar
  • Last message correction, message copy and offline messages (OMEMO)
  • Support for user selectable themes

Chatrooms

One of aTalk’s unique selling points is the option for room owners to configure the settings provided by the respective server.

Possible settings are, for example

  • Marking whether a private group or public chat room
  • Store/change description text
  • Language (e.g. de, en, fr, …) that should be used
  • Set password for access
  • Specify who can see the chat addresses
  • Options such as …
    • Indicate whether the chat room should be permanent or whether it should be deleted when there are no more participants
    • Allow access to (invited) members only
    • Permission to customize the topic of the room
    • Switch for moderation (guests can then only read)
    • Allow/prohibit entry in public directories
    • Set storage duration of messages on the server

-> So for group owners a precise tool for more possibilities than is “normally” possible.

References

Project page: http://atalk.sytes.net (external)
FAQ from aTalk: https://atalk.sytes.net/atalk/faq.html (external)
Source code: at Github (external)
Installation: F-Droid (external) or PlayStore (external)
Video: YouTube (external)