For the last couple of weeks I've been using TagTime on my iPhone by scheduling ping emails and entering tags by replying to those emails. It's been working well enough for me that I'll probably be using something like this setup until TagTime comes in an iOS version (or more likely, until I get an Android phone).
Specifically, I run a Python script (at least about once daily) that schedules a batch of ping emails through Mailgun, reads my replies to recent pings, writes them to the log file, and sends my data to Beeminder. At the moment I'm still depending on the Perl implementation for the Beeminder integration, but I hope to port this to Python soon.
For those interested, I put the code on GitHub
(all .py files except install.py). Note that so far it barely has any error handling. Instructions are in the readme under the Email Bot heading.