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

Developing FOSDEM Companion

Developing FOSDEM Companion

My FOSDEM 2015 Lightning Talk

Christophe Beyls

January 31, 2015
Tweet

More Decks by Christophe Beyls

Other Decks in Programming

Transcript

  1. Developing
    FOSDEM Companion
    How to build a modern, user-friendly
    schedule app for Android
    Christophe Beyls
    FOSDEM 2015

    View full-size slide

  2. About the Speaker
    ● Mobile developer from Brussels
    ● Developed a few apps during my spare time
    @BladeCoder
    2

    View full-size slide

  3. FOSDEM Companion
    ● FOSDEM schedule app for Android
    ● Source code available on GitHub
    https://github.com
    /cbeyls/fosdem-companion-android
    ● Published on:
    3
    ~2000 installs (2014)

    View full-size slide

  4. History
    ● 2010: Original fosdem-android app
    by Michaël Uyttersprot, Pieter Iserbyt & Christophe Vandeplas
    ● 2012: Fork with small fixes
    by Christopher Orr
    ● 2013: Fork with Android 4 design
    (Action Bar)
    by Raphael Kallensee
    ● 2014: Rewritten from scratch
    Fragments, loaders, new DB layer
    ● 2015: Updated with Material Design.
    4

    View full-size slide

  5. Goals
    ● Fully Open Source (no proprietary libraries)
    ● Very fast
    ● Works offline
    ● Simple modern UI
    ● Tablet optimized track view
    ● Reference implementation
    of a few Android patterns
    ● Backwards compatible
    up to Android 2.1
    5

    View full-size slide

  6. Features: Sessions
    7
    Prev. Next

    View full-size slide

  7. Features: Maps
    8

    View full-size slide

  8. Features: Speakers
    9

    View full-size slide

  9. Features: Live Mode
    10

    View full-size slide

  10. Architecture
    Activity
    11
    Activity
    Fragments
    Loaders
    Database Layer
    UI
    Data

    View full-size slide

  11. Architecture: UI
    Fragments everywhere
    12

    View full-size slide

  12. Architecture: Database
    ● No ORM library. Complex SQL Queries.
    ● Full Text indexes on (sub)titles, speaker
    names
    ● DB layer provides methods to map Cursor to
    Object model.
    13
    Days
    Tracks
    Events Persons
    Bookmarks
    Links Events-Pers

    View full-size slide

  13. What’s new for 2015
    Display the session in
    progress with a
    different color on
    track list.
    14

    View full-size slide

  14. What’s new for 2015
    Improved notifications
    display on Android 5
    and Android Wear.
    15

    View full-size slide

  15. What’s new for 2015:
    Material Design
    New text styles
    New icons
    Toolbar
    Material tabs (custom)
    16

    View full-size slide

  16. What’s new for 2015:
    Material Design
    Ripple effects (Android 5 only)
    CardView
    Floating Action Button (custom)
    17

    View full-size slide

  17. What’s new for 2015:
    Material Design
    18

    View full-size slide

  18. The End.
    Thank you for watching !
    github.com/cbeyls/fosdem-companion-android
    19
    @BladeCoder

    View full-size slide