As an iPhone user one of the 'missing' pieces in my user experience (apart from cut and paste) is the inability to properly use Instant Messaging (IM) on this platform.
The demand is certainly there as evidenced by the popularity of the AIM application that has been available in the iTunes application store since its launch and the appearance yesterday of a Palringo client which proved so popular that the website handling registrations for this multi-protocol client service crashed within a few hours of the application appearing (to be replaced with a text message acknowledging that their website problems were directly related to the sudden flood of new enquiries they'd received from iPhone users).
While these applications are interesting they are both, through no fault of their own, missing the point of IM. Isode builds and markets an IM server (M-Link) based on the protocol that is the clear winner in the IM standard war, XMPP.
The eXtensible Messaging and Presence Protocol contains in its title the reason why iPhone IM clients can, at the moment, only provide half of a solution.
For while they allow for Messaging, unless the IM application is the only application that the user is using their iPhone for, it cannot fulfill the presence part of the equation (the iPhone does not allow third-party applications to run in the background).
Whereas a real iPhone IM client would enable you to multi-task (it is after all very likely that you'd be available for an online chat and listening to music or reading a website at the same time), iPhone IM clients allow for only two real status indicators:
A pity, and hopefully something Apple will correct soon.
A really clever iPhone IM application would of course integrate presence (online, offline, away, do not disturb etc) with geolocation services (I am online and at *this location*) taking advantage of the iPhone's GPS capabilities. Given the current enthusiasm for location based services, I'm certain that this cannot be too far away - let's hope that developers looking into this remember to use the correct Open Standards approach for this.
Instant Messaging (IM) and Presence applications are now in wide use. In a new free-to-access whitepaper on the Isode website we consider their application in environments where security is of paramount concern, such as Government and Military deployments.
In particular the paper looks at:
The paper shows how an XMPP based solution can address these areas and looks at standards that need to be put in place to meet the security requirements discussed in this paper.
The first version of Isode's XMPP server, M-Link, was released with Isode R14.2 last month.
"Instant Messaging and Presence for Secure Environments" can be found here.
This is the first in a series of posts in which we'll be posting short opinions of some of the available XMPP clients, in the run up to the launch of our XMPP server, M-Link.
There is a good choice of the Internet Standard XMPP (eXtensible Messaging and Presence Protocol) clients for all common desktop platforms, including decent quality free products.
We have not found a good free mobile XMPP client, but Agile Messenger from Agile Mobile is a neat commercial one. It's reasonably priced at 45USD and you can try a free seven day trial version prior to purchase. It runs Windows Mobile and on a wide range of Nokia and Sony Ericsson phones. It's very easy to set up and use, and does everything you would expect a mobile XMPP client to do. Importantly, it makes good use of the limited screen size on mobile phones with a tidy layout and adjustable font sizes.
Anyone paying any attention to the whitepapers we've published and the blog posts we've written over the last few months will not be surprised to learn that we're developing an XMPP server of our own, the first version of which will be launched with our next major product release, 14.2.
The reasons for developing an instant messaging and presence server (and basing it on the XMPP Open Standard) are ones we've discussed before but in short - we've always been an Open Standards company and we believe that instant messaging and presence has applications across many of our solutions areas as well as helping us communicate with the partners and customers on whom we rely.
M-Link moved into customer beta a little while ago and we offered customers three ways of helping us test the product:
As well as testing the product, the documentation and interoperability, customers have also been able to use the beta as a way of improving communications with Isode, the beta test is enabling us to both look at the product (M-Link) and the function (IM as it impacts our business).
We've also been able to properly test some of the many XMPP clients available for the various operating systems and platforms we find ourselves using. We'll be posting our opinions of some of those clients in a series of posts running up to the launch of 14.2
SIP is the widely deployed Internet Standard Session Initiation Protocol (RFC 3621). XMPP is the Internet Standard eXtensible Messaging and Presence Protocol. There are substantial architectural similarities between services of these types, and advanced clients need presence, messaging, and session initiation capabilities. Integrating these services makes some sense, and two key attempts have been made.
SIMPLE is a family of protocols that builds presence and messaging over SIP. This layering has resulted in a specification of substantial complexity and rather poor performance, which suggests that this layering is not a good choice. These technical issues are a key factor as to why XMPP is winning over SIMPLE as the standard of choice for presence and instant messaging.
JINGLE is a session initiation protocol built over XMPP. This layering works better, and it is clear that JINGLE will have an important role in providing session initiation between clients that support XMPP. It is a clean and effective approach to help XMPP clients support voice and video within a protocol and security framework that is already implemented.
However, JINGLE does not provide a complete replacement for SIP.
A SIP client implementation is a very straightforward mechanism to set up a phone call, and is supported on a large number of phones. If call connect is all that is needed, SIP is ideal. JINGLE only makes sense if XMPP is needed for other reasons. VOIP phones will continue to be SIP based, and VOIP deployments will be based around PABX systems that include SIP servers.
Another reason for this is that JINGLE does not provide a framework for phone type services such as call forwarding, putting calls on hold and voicemail integration. The underlying reason is that JINGLE is based on communication starting out with (XMPP) presence, which is a model of user to user communication, as distinct from the more traditional model underlying SIP of device to device communication.
JINGLE use will grow, based on voice and video services in the context of XMPP clients. SIP use will continue to grow in the context of VOIP phone deployment. There will be co-existence, and gateways between SIP and XMPP/JINGLE.
JINGLE is a protocol developed by Google and the XSF (XMPP Standards Foundation) to support VOIP (Voice over IP) Communication, and it is used in Google Talk. We are seeing increased implementation of JINGLE (Wikipedia lists eleven implementations, including Google Talk) and we are aware of
XMPP is the Internet Standard eXtensible Messaging and Presence Protocol. Many XMPP clients now offer a "call" button (typically with a green phone icon) for each buddy (the XMPP roster) that allows direct voice communication between XMPP users. This integration is a useful capability. Voice communication goes directly client to client using the real time VOIP (Voice over IP) protocol.
In order for this to work, the VOIP connection needs to be established, and this needs a session initiation protocol, to communicate the desire to communicate and then negotiate the details of the VOIP connection to be used. JINGLE, which reflects the ringing of a telephone, is the XMPP protocol used to achieve this.
JINGLE is a general purpose session initiation protocol, and can be used to negotiate connections for other services such as video, and can also set up multi-party conferences.
JINGLE is an important standard that seems certain to grow with XMPP and be used alongside XMPP, to support voice and video for XMPP Clients. Voice calls from such clients can be gatewayed to other VOIP services, mobile and landline. GTALK-TO-VOIP is an example of such a service.
The XMPP/JINGLE/VOIP combination of open standards, gives a clear platform for solutions to compete against Skype, the (proprietary) market leading software phone system.
XMPP is the eXtensible Messaging and Presence Protocol, which is the Internet Standard for Instant Messaging, Real Time Messaging and Presence. On January 16th, the sale of an XMPP client and server solution by jabber.com to the US Marines for 280,000 users was announced.
This large sale ties in with XMPP activity at lead US Military groups such as JFCOM (Joint Forces Command) and SPAWAR (Space and Naval Warfare Systems Command) (more).
XMPP is also now included in US DoD IT Standards Register as Mandatory.
There is a clear trend towards the US military broadly adopting XMPP, which will have impact on Instant Messaging choices being made by other parts of the US Government as well as military organizations worldwide. We believe that this announcement is further confirmation that Isode's own Instant Messaging product development strategy and our choice of XMPP is the right one.
In an article on the Information Week website, Elena Malykhina discusses the potential of Instant Messaging (and mobile Instant Messaging) within enterprises, a refreshing approach given that much IM talk is focused on its take-up amongst individuals.
Three driving factors in the take up of IM amongst enterprises are specifically identified; compliance, security and usability but the article also makes the case for the importance of the 'presence' aspect of Instant Messaging and points out how valuable it can be for the message sender to know the status of a message recipient.
This is one of the points we made in our recent whitepaper, Isode's Presence, Real Time Messaging and XMPP Strategy, in which we made public our own XMPP IM Server development project.
Presence awareness is a real benefit to companies where communications (both intra and inter-company) are often time-critical.
In a series of previous blog posts we've explained why we think that XMPP (eXtensible Messsaging and Presence Protocol) is the best open standard for providing presence and real-time messaging services.
It will not therefore come as a surprise to learn that we are planning our own server based on the XMPP protocol (which is somtimes referred to as 'Jabber').
In a whitepaper posted recently on our website we outline why we think that presence and real-time messaging are important to our customers, why we've chosen XMPP and why we are building our own product instead of integrating with an existing XMPP server.