Auto Responder

The automatic email responder is a system for accepting text messages and generating responses for them automatically. It also has the interesting feature of showing a complete log of all activity online almost as if it were a messaging app on a phone itself. The current version does not handle email message like the original since that was deemed unnecessary during a redesign of the app code. The email handling through IMAP and SMTP was once run as a Windows service and used multi-threading to create a responsive email handling system.image

The Main Page

Architecture

The Auto Responder consists of a web interface, seen above, and a set of web services. The web interface mimics the look of an iOS 10 app and uses features like AJAX to keep the interface fresh with the latest response data. For pages like the message monitoring page, AJAX calls are made in the background and update the page content as soon as new data arrives on the server.

Since the monitoring system is just a set of web pages, it can be used on any brand of computer, tablet, or phone as long as a web browser is available and only when there is an internet connection.

image

The Message Page

Twilio

The Twilio service is used as a phone number destination for text messages. Twilio is a commercial SMS and voice handling vendor that uses the Auto Responder web services to handle incoming SMS messages. The Auto Responder web service modules handle response generation and use Twilio web services to send back SMS responses.

Response Generation

Response information is contained in XML files on the server. These files can be edited remotely using the same monitoring web app. Some features, like number registration, are handled by code designed for that specific functionality while the rest of the responses are handled using the XML data parsing and lookup system.

Puzzle Race

The entire idea was based on the text messaging “feature” of a puzzle race I attended many years in San Diego. A puzzle race is a race, similar to the Amazing Race on TV but with complex puzzles to solve. The race I competed in, arranged by Outdoor Outreach and designed by Puzzling Things, required the use of cell phones during the race. This added a certain amount of fun to the race while also allowing us to get almost immediate feedback on our results. Some puzzles were answered using an answer sheet and there was no way to be sure you were right until scoring at the end of the race. Most puzzles involved sending a text message and the acting on the answer. I do not know what technology was used in that race and I developed my application from scratch with only the basic concept of answering question as a starting point.