Limitations of SMS in Online Applications
SMS (Short Message Service), better known as texting, is like a technology right out of Star Trek. Really, 20 years ago, could you have imagined that we’d all be walking around with little personal communication devices that let us send instant text messages to anyone at any time? I couldn’t, and I still think the technology is pretty amazing.
Best Attendance fully embraces this technology and lets you send text messages directly to the phones of your volunteers, students, group members, staff members, or employees. But there is a limitation in the technology, and that’s what I’d like to talk about today.
So, here’s what we can do. With Best Attendance, group leaders can send a mass text to everyone in their groups. Then a miracle occurs, and all of the group members see the message on their phones. When one of the members replies, the group leader can even see the reply.
But – and this might seem strange at first – but when the group leader then replies to the reply, nothing happens. It’s like when Captain Janeway gets sucked into one of those pesky time travel paradoxes, or like when you look at a hall of mirrors. The text (reply to a reply) doesn’t know where to go.
This is not a problem with Best Attendance but is rather a fundamental characteristic of the SMS protocol. We would love nothing more than for replies-to-replies to work, but that’s not in the cards. Here’s a quick, friendly explanation of the issue.
SMS Is A Stateless Protocol
The basic reason that replies-to-replies don’t work is that SMS messages are not able to remember their own history. When an SMS message is sent, only three pieces of data are included: the FROM phone number, the TO phone number, and the BODY.
So here’s what happens:
1. The Group Leader sends the same text to multiple group members.
When this happens, we send a separate message to each member: FROM Best Attendance, TO the member, with whatever BODY the group leader entered. Additionally, for each of the recipients, we remember which group leader most recently sent that member a text message.
So, if group leader Bob sends a text message to Jack and Jill, we create hidden entries in Jack and Jill’s database records, remembering that Bob was the last person to send them a message.
2. A Member replies.
When Jill replies, her message is FROM Jill, TO Best Attendance, with whatever BODY she typed. When Best Attendance receives this text message from Jill, we look in Jill’s database record and find out which group leader was the most recent one to send her a message. We discover that it was Bob, and so we send out another message FROM Best Attendance, TO Bob, with whatever text that Jill replied with.
3. The tricky part: The group leader replies to the reply.
Bob gets the reply from Jill. When Bob replies on his phone, he sends a message TO Best Attendance (as this was the number he received the text from), FROM himself, and with whatever text he enters. Now Best Attendance gets this message, and the system has no idea what to do with it. Cue Captain Janeway in a time travel paradox.
Remember, the only three pieces of data in the SMS protocol are TO, FROM, and BODY. Best Attendance knows this reply came from Bob. But the system has no way of knowing if it should go to Jack or to Jill. We know that Bob recently sent texts to both people, but we don’t know which of the two this message was targeted for.
What does stateless mean?
The obvious solution to this problem would be to modify the SMS protocol to include a fourth piece of information, CONVERSATION ID, in addition to the FROM, TO, and BODY fields. With this fourth field, we could certainly track replies to replies. But with current technology, there’s no way to do it.
So now you can impress your friends with your vast knowledge of the stateless nature of the SMS protocol! (That was supposed to be funny.)
Take Attendance Online
Best Attendance is the easiest way for organizations to share event calendars, take attendance, update membership rosters, and communicate online. Try it free for 45 days.