Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Effortless Chat features with Stream and Compose (Droidcon Webinar)

Marton Braun
December 09, 2021

Building Effortless Chat features with Stream and Compose (Droidcon Webinar)

🎤🎤 This is a joint talk with Filip Babić. Follow him on Twitter and LinkedIn!

Learn what the new Jetpack Compose Chat SDK from Stream offers and how the team built it in just a couple of months.

We’ll show you a live demo where you’ll get to see just how awesome the Compose SDK is and how quickly you can build messaging features in your app using our Compose components. We’ll also show you how flexible and customizable the components are, allowing you to fit your product’s needs.

Marton Braun

December 09, 2021
Tweet

More Decks by Marton Braun

Other Decks in Programming

Transcript

  1. GETSTREAM.IO
    Building Effortless
    Chat features with
    Stream and Compose
    GETSTREAM.IO

    View full-size slide

  2. GETSTREAM.IO
    Speakers
    ——
    Márton Braun
    Android Developer Advocate
    ——
    Filip Babić
    Lead Compose Developer

    View full-size slide

  3. GETSTREAM.IO
    Agenda
    • What is Stream Chat?
    • Why Compose?
    • Core concepts
    • Live Demo!

    View full-size slide

  4. GETSTREAM.IO
    A Chat API for all your
    messaging needs
    • Powerful backend Chat API
    • Server-side SDKs
    • Client-side SDKs including UI components

    View full-size slide

  5. GETSTREAM.IO
    Backend Chat API
    • Basically magic, powered by Go, RocksDB and Raft
    • Scales to millions of users
    • High reliability and availability
    • 99.999% SLA available
    • Low latency Edge infrastructure
    • Real-time event handling
    • Unlimited message storage
    • Plus a CDN to store files & images
    • Secure and compliant

    View full-size slide

  6. GETSTREAM.IO
    Get Started for Free
    • 30-Day Free Chat Trial
    • Full feature access
    • No credit card required
    • Maker Account
    • Free indefinitely for qualifying users
    • Usage caps, no surprise overages

    View full-size slide

  7. GETSTREAM.IO
    Frontend SDKs
    • Native APIs on all platforms
    • Open source on GitHub 🌟

    View full-size slide

  8. GETSTREAM.IO
    What we already
    built for you
    • Real-time event handling
    • Offline caching, retries, synchronization
    • Push notifications
    • Rich UI experience
    • Performant lists with complex data
    • Attachments and reactions 👍
    • Threads, quote replies

    View full-size slide

  9. GETSTREAM.IO
    Our Android SDK
    client
    offline
    ui-components compose
    NEW

    View full-size slide

  10. GETSTREAM.IO
    • Native UI, built with XML layouts
    • Extensive theming and customization
    • Localization support
    • Full tutorial and sample app
    • Drop-in Activities and Fragments
    • Customizable Views
    • ViewModels for easy API access
    UI Components

    View full-size slide

  11. GETSTREAM.IO
    • Built from scratch for Jetpack Compose
    • More flexible and customizable
    • Full tutorial and sample app
    • APIs designed for Compose
    • Screen components
    • Bound components
    • Stateless components
    • Feedback needed!
    Compose SDK NEW

    View full-size slide

  12. GETSTREAM.IO
    Building the Compose SDK
    • Built during the betas, released on day 1
    • Customization and flexibility
    • Slot APIs for many components
    • Theming via ChatTheme wrapper
    • Full detailed documentation
    • Built in the open on GitHub

    View full-size slide

  13. GETSTREAM.IO
    Core concepts
    • User
    • Channel
    • Message

    View full-size slide

  14. GETSTREAM.IO
    Users
    • Used for authentication
    • Can view and send messages
    • Has roles and permissions
    • Guest and anonymous users supported

    View full-size slide

  15. GETSTREAM.IO
    Channels
    • A conversation between two or more users
    • Has a list of members
    • Contains the list of messages
    • Identified by type and ID
    • Several built-in types

    View full-size slide

  16. GETSTREAM.IO
    Messages
    • Sent by a user to a channel
    • Can include:
    • Text
    • Attachments (link, media, file)
    • Mentions
    • Reactions
    • Threads, quotes… and more!

    View full-size slide

  17. GETSTREAM.IO
    Compose SDK Live Demo

    View full-size slide

  18. GETSTREAM.IO
    Resources
    • GitHub 🌟
    • https://github.com/GetStream/stream-chat-android/
    • Tutorials
    • https://getstream.io/tutorials/android-chat/
    • https://getstream.io/chat/compose/tutorial/
    • Documentation
    • https://getstream.io/chat/docs/sdk/android/
    • https://getstream.io/chat/docs/sdk/android/compose/overview/

    View full-size slide