First came Service Oriented Architecture. I knew that was going to be a monster trend as soon as I realized that it was (roughly speaking) an integration architecture that actually could work. Then came virtualization. That wasn’t hard to spot early on either - how the industry allowed VMware to dominate the field for so long is a complete mystery. The industry needed virtualization in 2002 and, by the way, both IBM and Sun were offering it to some degree. Never mind, virtualization is now a big hit.

So what’s next?

Here’s my guess. Next comes “presence”. Presence will drive a long term trend, a megatrend if there is such a thing. If you’ve not already heard the magic “presence” word from one or more communications vendors, believe me you will. You will also start to hear it from Unified Communications vendors (if you’re not sure what Unified Communications is, read this) which currently include IBM and Microsoft, and will eventually include Google, I believe.

As more and more applications get threaded into work flows, as they inevitably will, and BPM and SOA continue to advance, business software will become increasingly interested in “presence”. So what is it?

Simple Presence

Simple presence is the answer to the question “are you contactable right now?” If you’re sitting at your desk with a phone on the desk that works, then the answer might be “yes”.

I have to use the words “might be” because:

  1. I might not have that particular phone number, or I might have it but it may be one of several phone numbers I have and I don’t know which to ring.
  2. I might not know you are at your desk.

So why don’t I just ring every number I have for you and find out?

I could do that, but that will take time. I will save time if I know which number to call and I know for sure it will get to you. Knowing about presence saves communication time.

Complex Presence

You must have known it wasn’t going to be all simple, but I’ll bet you had no clue as to how complicated it could be.

Let’s assume that you’re a fireman. I’m in charge of the need to respond to emergencies. All I want to know is whether you’re around and ready to fight fires. I don’t actually want to communicate with you, I just want to know that five firemen are present, so we can send a fire engine out if we need to.

That’s one kind of presence, but let’s be very specific. Being able to answer a call doesn’t cut it. You might be “present” near a mobile phone on a beach in Hawaii lying next to an attractive blond and that’s not the kind of presence I ‘m after. I want you present at or near the fire station. If I don’t have five firemen with that kind of presence then I know our ability to respond to an emergency is degraded.

So notice that presence can be important information, even when nothing is happening. Also note that presence can involve knowing the location.

Conversely, location may not be important but the ability to take a call may be. Let us imagine that I cannot send the fire engine out without the authorization of my manager. It’s not at all important whether he’s on a beach in Hawaii now, blond or no blond. All that matters is that he has his mobile phone with him and he can be contacted. Given this kind of situation, it is also important that if I cannot reach him, because his phone batteries just died or his blond just threw his mobile into the sea, then the call is automatically passed to someone else who can authorize the fire engine, and it will help if I don’t have to spend much time finding out who that is.

So notice that presence is important in this situation in several ways. Presence can change, second to second, and when you have a command situation with authorization, as in this example, you need to know the presence of the other people in the chain, so you can automatically go to the next available person.

Now let’s consider the situation where a call comes in to let me know that a cat is stuck up a tree somewhere near Cafe Mundi on Sixth Street in East Austin. Two fire engines are already out and I have just one in reserve, and the rules are that you don’t send an engine out for a tree climber, if there’s only one left at the station. I now need to do a search of the individuals who are present (i.e. can be called), are available (i.e. although not on duty are “on call”), could respond (i.e. have the skills and a ladder and a vehicle which can carry a ladder), who are near enough (i.e. can get to there within half an hour) and are not allergic to cats. And if I have all such details in my computer systems then, remarkably, the system can make the call for me.

See how complex presence can get - and I haven’t even plumbed the full depths of it.

A Stick Has Two Ends

Dostoyevsky was fond of pointing out that “a stick has two ends”. So does every communication. This simple fact has slowed down the adoption of some communications technology, but, because of Metcalfe’s Law once a communications technology takes hold it’s value escalates very quickly. This is the case with presence.

If communications systems have a real-time view of presence (who is contactable now and how and what is their context) and staff are able to manage their individual presence (how interruptible I am and for what purpose) then a large number of wasted calls will not happen and many business processes will go faster and more smoothly.

  Subscribe to HaveMacWillBlog in a reader