July 29, 2008

iPhones, Instant Messaging and Presence.

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:

  1. I'm running the IM application only and can set my status to indicate my willingness to chat.
  2. I'm not

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.

April 03, 2008

Instant Messaging and Presence for Secure Environments

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:

  • Distributed deployment
  • Relationship to Directory
  • Security Labels and Clearance
  • Strong Authentication and Digital Signatures

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.

March 03, 2008

Mobile XMPP Client: Agile Messenger

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.

February 27, 2008

Isode's XMPP Server: M-Link

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:

  1. Download M-Link, set up M-link on their own domain using our evaluation guide, and link to Isode staff who are using the copy of M-Link running at isode.com (as well as anyone else with an IM account at other XMPP services like GMail or jabber.org).
  2. Request an IM account at a service that Isode are running on 'friends.isode.com' and use that account to communicate with Isode staff and other XMPP accounts.
  3. Use their existing XMPP service (if they have one) to communicate with Isode staff using M-Link.

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

February 18, 2008

SIP and XMPP - Convergence or Co-Existence?

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.

February 15, 2008

JINGLE Implementation Growing

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
more.

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.

January 24, 2008

US Military using XMPP

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.

October 30, 2007

Enterprise Instant Messaging and Presence

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.

August 28, 2007

Isode's XMPP Strategy

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.

The whitepaper is available here. If you're interested in joining the beta program for this new product, please get in touch using the contact form on our website.

July 24, 2007

Scaling of Presence and Instant Messaging

As IM moves from centralized services to distributed deployment, scaling of presence status is a key problem. If I have 200 contacts, and my presence status changes from "at desk" to "in meeting," this needs to be communicated with those contacts watching my status. In a distributed environment, this leads to network traffic.

Scaling efficiently is essential for a global IM service. This is being examined for the two proposed open standards for IM: XMPP (eXtensible Messaging and Presence Protocol) and SIMPLE (Session Initiation Protocol (SIP) for Instant Messaging and Presence Leveraging Extensions).

SIMPLE experts have set out a framework for analyzing this problem, including some suggestions to improve SIMPLE in this area.

XMPP experts have used the framework and example scenarios of this paper to provide an equivalent analysis for XMPP.

The analysis offers some interesting comparisons. We've shown the results for bandwidth usage, for both the current SIMPLE specifications and after the improvements recommended in the draft.

For example, if the domains have 20,000 users, where each user has four contacts in external domains and changes presence three times an hour, bandwidth usage is estimated to be 30 kilobytes per second for XMPP and 830 kilobytes per second for SIMPLE (571 kilobytes per second with suggested optimizations).

Or, in tabular form, including some other examples:

No. users
Contacts/user
Changes/hour
XMPP Bandwidth
SIMPLE Bandwidth
Optimized SIMPLE
20,000
4
3
30KB/s
830KB/s
571KB/s
20,000
20
3
150KB/s
1968KB/s
571KB/s
60,000
10
3
225KB/s
3683KB/s
16775KB/s
10,000,00
10
6
70833KB/s
880555KB/s
545833KB/s

This item was originally posted as an 'Insight Bulletin' for Ferris Research.

July 09, 2007

XMPP Is the Key to Universal IM

XMPP (eXtensible Messsaging and Presence Protocol) is the open standard for IM and presence, often referenced as Jabber. XMPP provides a specification for client access to servers and for server-to-server communication.

For example, if I am connected to the Isode.com XMPP server as Steve.Kille@isode.com, and my buddy Nancy Cox is connected to the Ferris.com XMPP server as Nancy.Cox@ferris.com, the servers can discover each other and exchange presence information and messages.

This server-to-server capability enables general interconnection between all those using XMPP servers, and provides universal IM connectivity in the same way as email. This will give an IM world to the big proprietary servers, and a distributed XMPP network.

Servers using protocols other than XMPP for client-to-server communication can still use XMPP for server-to-server communication. This provides a framework for the big proprietary IM servers to interconnect in a worldwide, open-standards IM network.

Whether commercial considerations will ever allow this to happen is, however, a different matter. Proprietary IM network operators such as Yahoo and AOL monetize their networks and won't interconnect for purely altruistic reasons.

This item was originally posted as an 'Insight Bulletin' for Ferris Research.

July 05, 2007

The IM Open Standards War is Over - XMPP Has Won

The IETF has been working on two families of standards for instant messaging:

  1. XMPP (eXtensible Messaging and Presence Protocol), which was based on the well-known Jabber system. There is an increasing number of XMPP servers being deployed -- notably by Google -- and many product announcements.
  2. SIMPLE (Session Initiation Protocol (SIP) for Instant Messaging and Presence Leveraging Extensions), which is an instant messaging specification based around SIP. Despite its name, SIMPLE is substantially more complex than XMPP and has not had the broad adoption of XMPP. The notable exception is Microsoft, which is using protocols "aligned" to SIMPLE.

Although not officially declared, the conclusion is clear: XMPP is the open standard for IM.

This item was originally posted as an 'Insight Bulletin' for Ferris Research.