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

Meeting the challenges of modern mobile messaging with XMPP

Meeting the challenges of modern mobile messaging with XMPP

XMPP has existed since 1999 to power a wide range of open­-standard and open-­systems communication applications, particularly instant messaging. But is it up to facing the challenges presented by the modern mobile era, where users often have multiple devices? Due to the nature of mobile networks, and the fact that users may be moving around while they are using a chat application, losing reception can result it lost connectivity and lost messages. Users switching between devices also expect to have their chats synchronised, so that they can pick up where they left off on a different device, while having a complete history of their conversations available to them. Some commenters have noted that XMPP was not designed for modern­-day smartphone-­based instant messaging. However, as an alternative to proprietary IM contenders, XMPP still remains the best available tool to bring fully featured instant messaging systems to the market in a minimal amount of time while adhering to open standards.

Michał Ślaski

January 28, 2015
Tweet

More Decks by Michał Ślaski

Other Decks in Technology

Transcript

  1. MONGOOSEIM
    Meeting the challenges

    of modern mobile messaging

    with XMPP
    London Erlang User Group, 28.01.2015

    View full-size slide

  2. MONGOOSEIM
    Meeting the challenges

    of modern mobile messaging

    with XMPP
    Michał Ślaski, @michalslaski

    View full-size slide

  3. CHAT FEATURE

    View full-size slide

  4. CHAT FEATURE
    • Text-based communication

    View full-size slide

  5. CHAT FEATURE
    • Text-based communication
    • First messengers

    - talk

    - IRC

    - ICQ

    - AOL Instant Messenger

    View full-size slide

  6. CHAT FEATURE
    • Text-based communication
    • First messengers

    - talk

    - IRC

    - ICQ

    - AOL Instant Messenger

    View full-size slide

  7. MODERN MESSENGERS

    View full-size slide

  8. MODERN MESSENGERS
    • Text

    View full-size slide

  9. MODERN MESSENGERS
    • Text
    • Voice

    View full-size slide

  10. MODERN MESSENGERS
    • Text
    • Voice
    • Video

    View full-size slide

  11. MODERN MESSENGERS
    • Text
    • Voice
    • Video
    • File sharing

    View full-size slide

  12. MODERN MESSENGERS
    • Text
    • Voice
    • Video
    • File sharing

    View full-size slide

  13. MODERN MESSENGERS

    View full-size slide

  14. MODERN MESSENGERS
    • Run on mobile phones

    View full-size slide

  15. MODERN MESSENGERS
    • Run on mobile phones
    • Use mobile networks

    View full-size slide

  16. MODERN MESSENGERS
    • Run on mobile phones
    • Use mobile networks
    • Support mobile workers

    View full-size slide

  17. MODERN MESSENGERS
    • Run on mobile phones
    • Use mobile networks
    • Support mobile workers

    View full-size slide

  18. XMPP
    • Open standard

    View full-size slide

  19. XMPP
    • Open standard
    • Secure

    View full-size slide

  20. XMPP
    • Open standard
    • Secure
    • Flexible

    View full-size slide

  21. XMPP
    • Open standard
    • Secure
    • Flexible
    • Decentralised

    View full-size slide

  22. XMPP
    • Open standard
    • Secure
    • Flexible
    • Decentralised
    • Proven

    View full-size slide

  23. MONGOOSEIM 2014

    View full-size slide

  24. MONGOOSEIM 2014
    • XEP-0198 Stream Management

    View full-size slide

  25. MONGOOSEIM 2014
    • XEP-0198 Stream Management
    • XEP-0280 Message Carbons

    View full-size slide

  26. MONGOOSEIM 2014
    • XEP-0198 Stream Management
    • XEP-0280 Message Carbons
    • XEP-0313 Message Archive Management

    View full-size slide

  27. MONGOOSEIM 2014
    • XEP-0198 Stream Management
    • XEP-0280 Message Carbons
    • XEP-0313 Message Archive Management
    • XEP-0079 Advanced message processing

    View full-size slide

  28. LOAD TESTING

    View full-size slide

  29. LOAD TESTING

    View full-size slide

  30. LOAD TESTING

    View full-size slide

  31. FUTURE
    • JavaScript-friendly API

    View full-size slide

  32. FUTURE
    • JavaScript-friendly API
    • More backends for XEP-0313

    View full-size slide

  33. FUTURE
    • JavaScript-friendly API
    • More backends for XEP-0313
    • Ready for Web of Things

    View full-size slide

  34. MONGOOSEIM
    • Instant messaging for Social Media, Gaming, etc.

    View full-size slide

  35. MONGOOSEIM
    • Instant messaging for Social Media, Gaming, etc.
    • Solution designed for high volume

    View full-size slide

  36. MONGOOSEIM
    • Instant messaging for Social Media, Gaming, etc.
    • Solution designed for high volume
    • Easily scalable distributed system

    View full-size slide

  37. MONGOOSEIM
    • Instant messaging for Social Media, Gaming, etc.
    • Solution designed for high volume
    • Easily scalable distributed system
    • Meeting challenges of mobile

    View full-size slide

  38. MONGOOSEIM
    • www.erlang-solutions.com

    View full-size slide

  39. MONGOOSEIM
    • www.erlang-solutions.com

    View full-size slide

  40. MONGOOSEIM
    • www.erlang-solutions.com
    • github.com/esl/MongooseIM

    View full-size slide