1 / 19

Jabber Chatroom App

Jabber Chatroom App. “SMAC CHAT” Android Platform, XMPP Protocol CSE 677. Overview. Introduction to XMPP XMPP, Jabber, and Android App Design and Implementation Live Demo. Introduction to XMPP. What is it, and why use it?. Background. e X tensible M essaging and P resence P rotocol

urbain
Download Presentation

Jabber Chatroom App

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Jabber Chatroom App “SMAC CHAT” Android Platform, XMPP Protocol CSE 677

  2. Overview • Introduction to XMPP • XMPP, Jabber, and Android • App Design and Implementation • Live Demo

  3. Introduction to XMPP What is it, and why use it?

  4. Background • eXtensibleMessaging and Presence Protocol • Created in 1999. • Application layer protocol. • Open-source and open-standards.

  5. What is it used for? • XMPP is a framework for building applications that can handle creating and moderating chat rooms, messaging, and presence functionality. • Instant Messaging • Presence • Multi-Party Chat • Voice and Video Calls • Collaboration

  6. Key Features • Decentralization • Architecture is similar to email. • No central master server. • Security • Servers may be isolated from the public network. • SASL and TLS has been built into the core specifications. • Free digital certificates to server administrators. • Flexibility • Custom functionality can be built on top of XMPP.

  7. Why we chose it! • Key Feature • Openness and ease of use. • Open-Source Compatibility • Compatible packages available for Java and Android. • Robust support for multi-user interaction.

  8. XMPP vsOther Protocols • HTTP Example:

  9. XMPP, Jabber, and Android Putting the puzzle together.

  10. XMPP & Android • Android supports XMPP natively. • XMPP and Android’s open-source nature work well together. • XMPP is a protocol; a service is needed to utilize it. • Many free XMPP services are available.

  11. Jabber • Jabber is: • The open standard for instant messaging. • One of the largest nodes on the XMPP network. • Free and easy service to register and sign up for. • Secure (SSL and TSL encryption). • Jabber supports Multi-User chats. • Handles connections from many platforms.

  12. App Design and Implementation How it works!

  13. Design Features • Logging into Jabber. • Creating a public chatroom. • Joining a public chatroom. • Via a user account. • Via a room name. • Chatting with multiple users. • Minimal user error checking.

  14. The Foundation • Android, API Version 2.1 • WifiCommunications • XMPP • Smack, API Version 3.1.0

  15. The Foundation (Cont’d) • Smack • Full-featured XMPP API for Java development. • Allows for “higher”-level coding. • aSmack • Android-compatible Smack package. • Beem Project • Up-to-date aSmack package(s). • Enhanced compatibility for more recent Android API versions.

  16. The Foundation (Cont’d) • MultiUserChat • Supports multi-party chat defined by XMPP and Jabber. • Allows for quick setup of chatrooms on the Jabber servers using an active XMPP connection. • Supports ease of message sending/retrieval via attaching packet listeners to the MultiUserChat objects.

  17. The Framework • XML Layouts • MainActivity.java • User interface interaction. • ChatSession.java • Backend handling of session data. • XMPP connection information. • MultiUserChat fields.

  18. Future Features • “Friends” List • Support for multiple XMPP services. • GoogleTalk • Enhanced Chat Features • User list in a room. • Presence Compatibility • Statuses: “Available”, “Away”, “Offline”

  19. Live Demo SMAC Chat in action.

More Related