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.

69639a461e92e590acdc1b554934bd8d?s=128

Michał Ślaski

January 28, 2015
Tweet

Transcript

  1. MONGOOSEIM Meeting the challenges
 of modern mobile messaging
 with XMPP

    London Erlang User Group, 28.01.2015
  2. MONGOOSEIM Meeting the challenges
 of modern mobile messaging
 with XMPP

    Michał Ślaski, @michalslaski
  3. CHAT FEATURE

  4. CHAT FEATURE • Text-based communication

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


    - IRC
 - ICQ
 - AOL Instant Messenger
  6. CHAT FEATURE • Text-based communication • First messengers
 - talk


    - IRC
 - ICQ
 - AOL Instant Messenger
  7. MODERN MESSENGERS

  8. MODERN MESSENGERS • Text

  9. MODERN MESSENGERS • Text • Voice

  10. MODERN MESSENGERS • Text • Voice • Video

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

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

    sharing
  13. MODERN MESSENGERS

  14. MODERN MESSENGERS • Run on mobile phones

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

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

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

    networks • Support mobile workers
  18. XMPP

  19. XMPP • Open standard

  20. XMPP • Open standard • Secure

  21. XMPP • Open standard • Secure • Flexible

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

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

    • Proven
  24. MONGOOSEIM 2014

  25. MONGOOSEIM 2014 • XEP-0198 Stream Management

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

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

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

    • XEP-0313 Message Archive Management • XEP-0079 Advanced message processing
  29. LOAD TESTING

  30. LOAD TESTING

  31. LOAD TESTING

  32. FUTURE

  33. FUTURE • JavaScript-friendly API

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

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

    Ready for Web of Things
  36. MONGOOSEIM

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

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

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

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

    Solution designed for high volume • Easily scalable distributed system • Meeting challenges of mobile
  41. MONGOOSEIM

  42. MONGOOSEIM • www.erlang-solutions.com

  43. MONGOOSEIM • www.erlang-solutions.com

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