Two new habits of mine gave me a great idea for a simple application:
When I want to jot something down and have my phone but no pen or paper, I send an SMS text to my regular email address. (I ain't got one of them fancy 3G phones yet. We're still waiting for 3G coverage in our neck of the woods.)
When I need to send a quick message to one of my daughters at school to read when she gets a chance, I'll send an SMS text to her phone from my email account, because I can type a lot faster on a full-sized keyboard than I can on my phone's.
I realized that if SMS text messages can be sent or received as regular emails, and a little scripting can automate the handling of email, then a server-side script that responds to queries delivered to it as SMS text messages would not be difficult to write.
So I wrote a demo, and described it in the IBM developerWorks article Simple server-side 2G phone apps. Here's the summary from the beginning of the article:
Mobile phones are transforming economies and societies all over the world, but often with phones that might be considered out-of-date by gadget geeks in more developed nations. The good news is that applications that work with these phones can be very simple to write, and they give your application a huge potential user base. In this article, learn how to write programs that respond to specialized requests for information from 2G phones.
When you send a text message of a US telephone area code to the email address I set up with this little application, it texts back a short description of the geographic coverage of that zip code.
When one of my daughter's friends missed a call on her phone and wondered where in the country it was coming from, my daughter suggested that she text the area code to the email address that I had had her test so many times, and it worked, so it was nice to see the app take this small step beyond demo status.
I love the irony of how seemingly modern new applications can often be built with old-fashioned UNIX tools like procmail. Check out the article to learn more.