Convert Figma logo to code with AI

deltachat logodeltachat-android

Decentralized private messenger with chat-shared tools and games for Android

1,407
183
1,407
22

Top Related Projects

A Matrix collaboration client for Android.

A private messenger for Android.

8,847

Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network

Session Android - Onion routing based messenger [DEPRECATED SEE README]

Quick Overview

DeltaChat Android is an open-source email-based instant messaging app for Android devices. It uses existing email servers for communication, providing end-to-end encryption and a chat-like interface while maintaining compatibility with standard email clients.

Pros

  • Uses existing email infrastructure, eliminating the need for additional servers
  • End-to-end encryption for secure communication
  • Decentralized architecture, enhancing privacy and reducing single points of failure
  • Compatible with standard email clients, allowing communication with non-DeltaChat users

Cons

  • Requires an email account for each user
  • May have slower message delivery compared to dedicated messaging platforms
  • Limited support for rich media features compared to some modern chat apps
  • Learning curve for users accustomed to traditional messaging apps

Getting Started

To get started with DeltaChat Android:

  1. Download the app from the Google Play Store or F-Droid
  2. Install and open the app
  3. Enter your email address and password
  4. Wait for the app to configure your account
  5. Start chatting with other DeltaChat users or invite contacts via email

For developers interested in contributing:

  1. Fork the repository on GitHub
  2. Clone your fork: git clone https://github.com/your-username/deltachat-android.git
  3. Set up the development environment following the instructions in the project's README
  4. Make changes and submit pull requests for review

Competitor Comparisons

A Matrix collaboration client for Android.

Pros of Element

  • More active development with frequent updates and contributions
  • Larger community support and user base
  • Extensive feature set, including end-to-end encryption and cross-platform synchronization

Cons of Element

  • Higher complexity and steeper learning curve for new users
  • Larger codebase, potentially leading to more maintenance challenges
  • Heavier resource usage due to advanced features

Code Comparison

Element Android:

private fun handleSyncRequestStateChange(action: SyncAction) {
    setState {
        copy(
            syncRequestState = syncRequestState.copy(
                isRunning = action.isRunning,
                incrementalSyncRequests = action.incrementalSyncRequests
            )
        )
    }
}

DeltaChat Android:

private void handleSyncRequestStateChange(SyncAction action) {
    setState(state -> state.copy(
        syncRequestState = state.syncRequestState.copy(
            isRunning = action.isRunning(),
            incrementalSyncRequests = action.getIncrementalSyncRequests()
        )
    ));
}

The code snippets show similar functionality for handling sync request state changes. Element uses Kotlin, while DeltaChat uses Java. Element's implementation appears more concise due to Kotlin's language features.

A private messenger for Android.

Pros of Signal-Android

  • More robust end-to-end encryption implementation
  • Larger user base and more active development community
  • Advanced features like disappearing messages and voice/video calls

Cons of Signal-Android

  • Requires phone number for registration, potentially compromising user privacy
  • Centralized server architecture, which may be less resilient to censorship
  • Less flexible in terms of server choice and customization options

Code Comparison

Signal-Android (Kotlin):

private fun initializeSignalProtocolStore() {
    val protocolStore = SignalProtocolStore(context)
    val preKeyStore = PreKeyStore(context)
    val sessionStore = SessionStore(context)
    val identityKeyStore = IdentityKeyStore(context)
    SignalProtocolStoreImpl(protocolStore, preKeyStore, sessionStore, identityKeyStore)
}

DeltaChat-Android (Java):

private void initializeDeltaChatCore() {
    DcContext dcContext = new DcContext(getApplicationContext());
    dcContext.open(accountDir);
    dcContext.configure();
    DcHelper.setContext(dcContext);
}

The code snippets show different approaches to initializing the core functionality. Signal-Android focuses on setting up the encryption protocol stores, while DeltaChat-Android initializes its core context and configuration.

8,847

Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network

Pros of Berty

  • Decentralized architecture using IPFS for peer-to-peer communication
  • Built-in support for offline messaging and mesh networks
  • Cross-platform development with Go and React Native

Cons of Berty

  • Relatively newer project with potentially less stability
  • Smaller community and ecosystem compared to Delta Chat
  • More complex setup due to its decentralized nature

Code Comparison

Delta Chat (Java):

public class DcChat extends DcObject {
    public DcChat(long chatId) {
        super(chatId);
    }
    // ...
}

Berty (Go):

type ProtocolService struct {
	protocolClient protocol.Client
	// ...
}

func NewProtocolService(client protocol.Client) *ProtocolService {
	return &ProtocolService{protocolClient: client}
}

Delta Chat uses Java for its Android app, focusing on a more traditional client-server model. Berty, on the other hand, utilizes Go for its core protocol implementation, emphasizing its decentralized architecture.

Both projects aim to provide secure messaging, but their approaches differ significantly. Delta Chat leverages existing email infrastructure, while Berty builds a completely new decentralized network. This fundamental difference is reflected in their codebases and overall project structures.

Session Android - Onion routing based messenger [DEPRECATED SEE README]

Pros of Session Android

  • Focuses on privacy and anonymity with decentralized architecture
  • Implements end-to-end encryption for all communications
  • Supports group chats with enhanced privacy features

Cons of Session Android

  • Less mature project with potentially fewer features
  • May have a steeper learning curve for users new to privacy-focused messaging
  • Smaller user base compared to more established messaging apps

Code Comparison

Session Android:

private fun createOnionRequestAPI(): OnionRequestAPI {
    return OnionRequestAPI.create(this, database)
}

DeltaChat Android:

private void initCore() {
    core = new DcContext(dcDir.getAbsolutePath());
    core.setStockTranslations();
}

Both projects use different programming languages (Kotlin vs Java) and have distinct approaches to their core functionality. Session Android focuses on creating an onion request API for enhanced privacy, while DeltaChat Android initializes its core context for messaging operations.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Delta Chat Android Client

This is the Android client for Delta Chat.

Get it on Google Play Get it on F-Droid

Other download options and downloads for other platforms can be found at get.delta.chat.

For the core library and other common info, please refer to the Chatmail Core Library.

For general contribution hints, please refer to CONTRIBUTING.md. For building the app, refer to BUILDING.md.

Screenshot Chat List Screenshot Chat View

Translations

Android metadata and changelogs are translated using Weblate.

Translation status

App strings and website are translated using Transifex.

Credits

Many of the user interface classes were based on the Android Signal messenger when we ported it from the former Telegram-UI base in 2019. Meanwhile, development has diverged in many areas.

License

Licensed GPLv3+, see the LICENSE file for details.

Copyright © Delta Chat contributors.