Many PingMe users are really excited to be using Jott with PingMe. But it seems a few users that have recently joined the service are getting stuck on how to correctly specify when the Ping should be sent.
Human beings tend to be a lot better at learning how to write than computers are at learning to read. Therefore, when we were first designing a short-hand for creating Pings remotely we had two priorities for the “time” language:
PingMe’s time codes do exactly that – they allow you to specify the minimum amount of information necessary to convey a date and time. ‘h12 m30 call mom t:m’ is a lot less typing, than say, ‘remind me to call mom at twelve thirty on my cell phone’, and it’s 100 times easier for our computers to process.
When we introduced the ability to create Pings by speaking via the Jott service (with which are totally unaffiliated), we found that the time codes fit well there too. Numbers and and interval codes (days, weeks, hours, minutes) were reliably transcribed by the system in our testing with a very low failure rate. Our primary concern is always reliability, so we didn’t focus as much on a natural language translation: you basically speak the exact same time codes that you would type into an email or SMS interface to PingMe.
Sure, it would be really great to be able to say “remind me to call mom at twelve thirty on my cell phone,” or something similar. That will take more work on our part, and we need to evaluate how critical a feature that is for our users. To put it in perspective, we’ve processed thousands of time-coded messages, and many users are already comfortable with this interface.
In the meantime, lets review how to specify a Ping remotely and go over what you need to say to get the job done when you create a Ping by voice using Jott (or via SMS for that matter).
Messages to create a Ping must begin with some information telling PingMe when to send the reminder. The time codes we use for this information are documented in our help here, but here’s a basic example:
h12 m30 Call mom
The full set of intervals and their synonyms follows:
'min' => [ 'm', 'min', 'mins', 'minute', 'minutes' ],
'hour' => [ 'h', 'hr', 'hrs', 'hour', 'hours' ],
'day' => [ 'd', 'ds', 'day', 'days' ],
'week' => [ 'w', 'ws', 'wk', 'wks', 'week', 'weeks' ],
'month' => [ 'mo', 'mos', 'mon', 'mons', 'month', 'months' ],
'year' => [ 'y', 'yr', 'yrs', 'year', 'years' ]
When PingMe receives a message, it evaluates it left to right. It sees the h12pm and sets the ping to go off at 12pm today. Note that if 12pm today has already passed, this Ping will not be sent! Then PingMe sees the ‘m30’ and updates the Ping to be sent at 12:30pm. Another form of time code is to specify a number and then the interval name, like this:
1mon 1d h6p Call mom
In this case PingMe sees the ‘1mon’ and recognizes it to mean ‘1 month from now.’ Then ‘1d’ pushes the time ahead one more day. Notice that we’ve switched back to the other format to set the time to 6pm! PingMe long-hand for this message would be:
1 month 1 day hour 6pm Call mom
So this statement means ‘call mom in one month and one day at six o’clock PM’ The example is perhaps a little contrived but gives you an idea of how flexible the time codes are.
Also notice that you can abbreviate the interval names, but you don’t have to. When speaking into Jott you should use their full names, which seems to help ensure accuracy, like this:
one month day fourteen call mom
If you have feedback on the time codes or Jott interfaces please let us know.