Quickblox
I've never heard of or worked with it.
But as it seems, it is a "closed" server, with some modifications. You also have to use the server and can't easily switch to another, due to a custom authentication, which is used (not quite sure here!?).
The Android SDK seems to be built on top of Smack and adds more/modified functionality, like video.
E.g. I saw this in the docu:
// initialize SMACK
SmackAndroid.init(this);
chat = QBChatService.getInstance().createChat(); chat.addChatMessageListener(new ChatMessageListener(){ @Override publicvoid processMessage(Message message){ Log.d(TAG, "Messags: "+ message.getBody());} @Override publicboolean accept(Message.Type type){switch(messageType){case chat:returntrue;// process 1-1 chat messagesdefault:returnfalse;}}});// send message chat.sendMessage(546, "Hi mate!");
which looks similar to Smack.
The documentation looks good, but I guess that's also the price you pay. (http://quickblox.com/plans)
In general, it's a commercial product. You pay for it, so you can expect it to have better documentation.