I walked into my office yesterday to find Siri, my cell phone, talking with Cortana, my Windows 10 computer.

Cortana:
Hello?  Who are you?
Siri:
I’m Siri, your virtual assistant.  Do you know Siri?
Cortana:
I know her, but I don’t KNOW her know her.
Siri:
Can you tell me a joke?
Cortana:
Apple. Isn’t that funny?
Siri:
I’m not sure I understand.
Cortana:
I’m not surprised.  Maybe you know this.  What is zero divided by zero?
Siri:
Imagine that you have 0 cookies and you split them evenly among 0 friends.  How many cookies do each person get? See, it doesn’t make sense. And Cookie Monster is sad that there are no cookies. And you are sad that you have no friends.
Cortana:
I’m going to pretend I didn’t hear that.
Siri:
I don’t understand “I’m going to pretend I didn’t hear that”.
But I could search the web for it.

OK, so maybe I got a little caught up in Microsoft’s “The future starts now” commercials introducing Windows 10, and talking about things that will exist.  However, ask either Cortana or Siri their respective questions from above and you may get the answer shown.  You might have to ask the question several times, because both of the assistants have been programmed with multiple responses to each question. This started me thinking, if the computers were programmed to not only answer questions, but then follow up with a corresponding question, would they be communicating?

According to Wikipedia:

Communication (from Latin commūnicāre, meaning “to share”) is the purposeful activity of information exchange between two or more participants in order to convey or receive the intended meanings through a shared system of signs and semiotic rules.

Purposeful activity of information exchange – check
Between two or more participants – check
Convey or receive intended meanings through a shared language – check

I guess they would be communicating.  Somehow this does not seem correct though.

We have an ongoing challenge in our office that says “We can do anything!” (given enough time and money).  For years’ people have been trying to come up with something we could not do, but always someone else would come up with a way to do it.  The closest we have come to something we cannot do was when someone said, “Design a program that will understand my spouse.”

Of course the humorous part of that points out the key part of the Wikipedia definition – “intended meanings”.  Often what the communicator says is not what the communicatee hears.

So why all of this talk about communication in a technology column?  It’s because all you have to do is change the wording around to get to the core of good software design.  Instead of “Design a program that will understand my spouse (or any other person).” Change it to “Design a program that any person (or spouse) can understand.”

Not quite as funny, but just as hard to do.  Good software design is good communication.  The most successful software is designed in a way that is intuitive to the vast majority of people.  It does not surprise me at all that one of the best communicators of vision in our time (Steve Jobs) is also the creator of a software driven device that has transformed how we live (iPhone).  It also doesn’t surprise me that not everyone agrees that the iPhone is the best.  Different people communicate different ways and the best device is the device that communicates the way that its user understands.

As software has snuck into every facet of our lives through the mobile devices we can’t seem to live without, now the software is not only communicating with us, but it is helping us to communicate with each other.  Social apps are where software and communication really merge allowing us to communicate with people we may never have met without it.  We can share pictures, video, and thoughts easier and quicker than ever.

Now that you are armed with a new understanding of software as a communication tool, how are your software systems doing?  Is the software you are using a good communicator or a bad communicator?  Is it easing the exchange of information between the participants in your company?  Is it conveying the intended meanings to the people who are receiving them? Remember the best software is the software that communicates the way your company does. Do you know software is causing communication issues at your business?  Too bad you can’t just ask your phone.  Or can you?

– as previously published in The Business News –