Skip to content

Plan #1

Closed
Closed
@bmarty

Description

@bmarty

This is the current plan, which will also help to track progress

  • We want to validate and de-risk that using the Rust SDK is possible (and easy!) and performance are good.
  • We want to use Jetpack Compose
  • We want to spend no more than 4 weeks to do that

Goals

Design

https://www.figma.com/file/urDzUwqbnLNuXmqg7hYB83/Element-X-%5BEX1%5D?node-id=1561%3A58213&t=oE1ahxhCa9Vm2iU4-0

Screens

There will be 3 screens in this application, each in a separate gradle module

  • Simple login with Compose (no new auth screen)
    • carroussel
    • wireframe
    • polished
    • server selection
    • internal module navigation -> Postponed. Not resolved yet. Will be required as an example for others
  • Room list
    • placeholder with a fake list
    • polished (Enough done.)
    • pagination -> Postponed. EIX is experimenting it
    • burger menu to sign out
      • with confirmation dialog
    • search v1 where we filter on displayed items (enough for demoing)
    • display name
    • last message if decrypted
  • Timeline
    • polished (Enough done. Figma is not up-to-date)
      • Extended bubbles width
      • corner radii
    • backward pagination (when the loader is displayed)
    • Images
    • Reactions display
    • Text message including HTML
    • Replies (bubble in bubble)
    • Contextual menu
      • bottom sheet
      • (Copy)
      • (Quote (optional))
      • (Permalink)
      • Reply
      • Edit
      • Redact (with no reason)
  • Text composer (Markdown is supported by the SDK)
    • Text/MD
    • Edit
    • Reply
    • (Image with picker. We can reuse the plus button) . Not available in Rust SDK
  • (Minimal design kit where we define constants (maybe a figma export) to quick tuning) -> Postponed. Need design input first
    • (colors)
    • (Font & Font size)
  • App icon (black variation of EA)
  • Release build to check performance

Other

  • Setup nightly builds on Firebase and github action

TBD

  • Device verification
  • History decryption
  • How long will run this demo app?

No goals

  • no DI, except if it's very fast to setup (to be discussed - maybe give a try to anvil)
  • no time spent on DevX and CI
  • Loose time outside room list and timeline screens
  • DesignKit. We do not have it for android. It will be a separate tasks
  • WYSIWYG views in compose
  • Icons. We reuse material ones
  • No OIDC

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions