How to Install Openfire XMPP Server and Use it with Smack Android App From Emulator

Openfire is an widely used XMPP Server that is written in the Java programming language. It boastsĀ  an intuitive and easy to use dashboard where your setup is just interacting with the UI and you can get complex setups done very easily. In this tutorial we are focusing on installing Openfire for use with a Smack based Android App on the local machine were Android Studio is installed. It is in response to my students from the course Build an Android Chat App from Scratch using XMPP and Smack, who happen to need this in big numbers. Let’s get started.Continue reading

A Fun and Friendry Introduction to XMPP (Comic Style)

We’ve lately been experimenting with different teaching styles for our students.Inspired by some awesome work by Julia Evans we thought it was worthwhile to package out teaching material into a comic/infographic style to help students grasp concepts fast. Here is the first version I cooked up over the weekend. If you want the full PDF version of the booklet, jump to the end of the page and type in your email. You’ll get it in your inbox. Feel free to send us your feedback right here or on twitter.Continue reading

Sending and Receiving Files with XMPP : Http File Upload Explained



In the previous tutorials, we covered the basics on XMPP and visited the Roster and saw how you can add your contacts in XMPP. In this one, we’re tackling an important problem of sending and receiving files.Everybody expects an instant messenger these days to be able to send and receive any kind of file. XMPP being one of the competing Instant Messaging Protocols, has attempted to come up with ways to allow the sending and receiving of files but most of the techniques highly depend on there being a single peer to peer connection( sender to receiver) over which the files are sent.

This becomes a problem in today’s expectations where you need to send the files in group chats, multiple connected clients on the same account. Simply put, a better tool for the job was needed and most people where alreadyContinue reading

XMPP Made Simple : Roster and Presence Explained.

XMPP

In a previous tutorial, we did our best to explain the basic concepts of XMPP in layman terms. We touched on the architectural and addressing aspects of the protocol and looked at its building blocks. In this tutorial we are moving one step up and looking at how XMPP manages contact lists and how it lets us advertise online status (online|offline) to our contacts. We will also explore how we can impose restrictions on who can see your online status. Lets get started shall we?

Continue reading

Android Smack XMPP Introduction:Building a Simple Client

rooster_full_chat_processedXmpp is a protocol for Presence and Messaging , and Smack is a Java/android implementation of the protocol that helps developers build fast client applications.When one embarks on the journey to build android chat apps based on xmpp using Smack ,there are a lot of pitfalls one can come across as you are trying to combine the three worlds of Java , Android and the Xmpp protocol itself to build one coherent product.This tutorial aims at documenting these and possible ways to mitigate them.By the end of this tutorial ,you will have an android chat client that can connect to and XMPP server , send and receive messages .Most importantly ,you will learn the android plumbing necessary to get all this rolling.Lets get started.Shall we.Continue reading

A friendly introduction to XMPP

xmpp_iconXMPP stands for eXtensible Messaging and Presence Protocol.It is an open standard protocol that is used to build real time applications.Example applications are Instant Messaging Apps ,White-boarding applications,real time gaming applications and many more.The protocol uses XML as a means to exchange information.In short XMPP allows you to send chunks of XML data from one node to another in real time .In this tutorial we lay down the conceptual concepts needed to make your XMPP journey as smooth as possible.Continue reading