I’m Running Late Setback: Can’t Send Texts in the Background

Originally, I wanted to implement an texting in the background for the I’m Running Late iOS app. After all, the whole idea of the app is that you may be stuck in traffic and not really in any position to send the I’m Running Late while you’re driving or otherwise indisposed in transit. If you in the car, for instance, sending that text, even if it just means clicking the Send Button, is dangerous. It totally defeats the purpose.

The idea of I’m Running Late is it’s a background process like cron for the iPhone. It just programs events based on the clock and your calendar, then, when the grace period begins, if your Sat Nav notices you’re not within a prescribed number of meters from your event location, it automatically informs the host—or your boss—that you’re running late.

How is this not a thing?

It’s not a thing because Apple‘s philosophy is, if you can send one text without consent, you will be able to spam infinite texts without consent. But, the thing is, the App Review team should be able to detect of an app was abusing the option to text without consent, so why prevent this safety feature when you could just stop it from being abused?

For the record, texting without consent is a safety feature. When you’re driving to an Event, it’s dangerous to have to look at your phone and hit a consent button. Forcing the user to do so may even violate some state laws. Yet, you want to send the text because you are running late, yet you can’t because you’re stuck in traffic.

Sadly, you need a user interaction to send an email too.

With both options stupidly closed by Apple, making this very important use case at first impossible to solve, the only option left is to send the text via a GET Query, for example, to a web service, and rely on the web service to send the text.

One such service is Twilio. Twilio seems to be the leader in Web to SMS transactions. Unfortunately, as far as I can tell, Twilio is a paid service and I’m still trying to figure out how this service works. I created an account and want to test it, but if all users of I’m Running Late are going to be using the service, I’m sure I will have to set it up as a business account.

One possibility I’m considering is having a monthly fee to use I’m Running Late, that I can use to pay Twilio for the use of their service. However, I want the fee to be small, like 15¢ per user per month. And then, say if Twilio costs $15 per month for one hundred users, then one hundred I’m Running Late users would completely cover the cost and I won’t need to let TimeHorse, LLC go further into debt.

The question is, though, what if I have less than one hundred users. In that case, I may have to disable the service or come up with some poor-man version on this very server. Initially, all text message requests could come here, and when the numbers crack one hundred, I can tell I’m Running Late to switch to the Twilio server.

On the other hand, maybe I’m going about this all wrong. IIRC, all Teslas are running Linux. And if the Tesla is connected to the driver’s Phone, and it knows the time, and it has the Phone’s calendar, then surely it could have an app that texts the Event organizer when the driver is running late.

And I could write that code!

Hear that Tesla? You could be bidding on me, because I’m still available for hire but my rates are going up with all the offers!