Adding SMS reminders to COD events and other powerful ideas

leoburd's picture

Hello all,

It was great to meet everyone at DrupalCon and see so much energy around COD!

We are considering building a COD add-on to make it easier for people to receive notifications, check status and submit feedback to conference sessions via SMS and voice calls. What do you think?

In order to do so, we're planning to use VoIP Drupal, a Drupal framework that makes it easier to build communication systems integrating web, sms and touchtone phones (https://drupal.org/project/voipdrupal).

We are all excited about the idea! However, before moving forward, we thought it would be important to ask the COD experts (you!) the following two questions:

a) Do you see value in integrating SMS and voice calls with COD?

b) What are the use cases you think we should explore?

Looking forward to your feedback,

Leo (and the rest of the VoIP Drupal team)

Comments

We do it with rules

tkimmel's picture

Hey Leo,

Definitely great to meet up at Drupalcon. We've started playing with SMS Framework, and it's really sweet how powerful it is out of the box.

We have reminders running on our site with rules, but it took us a bit of puzzling to get it set up so I thought I’d share how we did it:

1) Make a user field so that reminders are configurable on a per-user basis

a. install the interval field module https://drupal.org/project/interval

b. create a field called ‘reminders’ on the user, type: interval

notes: You can expose this to users or not. For our use case, we do let users configure these fields, and the field is multi-select (defaulted to 24 hours and 1 hour).

2) Build out some atomic reminder components that you want to fire

a. these are fairly simple - simple ‘send SMS’ (and, in our case, email) action(s)

b. we also added the ability to ‘opt out’ of reminders as a user field - a simple boolean that users can edit on their profile. If you do this, make sure to add that as a condition on firing the ‘send SMS’ action

3) Next, build a monster component to schedule your reminders (this was the hard part for us)

a. you will need to add conditions to make the rule ‘aware’ of the fields you’re wanting to use (we fire on checkout, so we iterate through line items and have the conditions “Parameter: Data to compare: [line-item:type], Data value: Product” and “Parameter: Entity: [line-item:commerce-product], Field: field_date”)

b.under actions, create a loop - this loop should iterate through the [user you want]’s interval field and do the following for each interval:

--> b1. apply interval to a date (pick the date you want to send reminders for and apply the interval) - this will give you an output date that you want the reminder to occur on.

--> b2. schedule component evaluation - schedule a component evaluation to evaluate “Send SMS (the rule created in step 2)” on the calculated reminder date from the above step

4) Last, make the parent rule to fire the above component

a. pick your event trigger (we leverage ‘checkout’ as I mentioned)

b. if you have multiple things you want to send reminders for, loop over them (in our case, we loop thru all items in the cart) within the loop, fire the component from step 3

Works great for us, thanks to all the killer work already done on SMS framework. :) Just make sure to configure cron to run in such a way that it runs with enough granularity to trigger the scheduled reminders.

Travis

Re: We do it with rules

leoburd's picture

Thanks, Travis! That was very informative!

It's good to see that SMS event reminders might be a good feature to consider! Hopefully, our implementation might be a little easier to set up than yours! :)

And what about voice calls? Do you think people might be interested in getting voice call reminders about pre-selected sessions? Or to receive voice notifications whenever something changes in the schedule?

Also, how important would it be to be able to call in to hear information about upcoming sessions or to provide feedback (record a story or answer a poll)? Should any of those ideas also be considered?

Best,

Leo

It would definitely be nice

tkimmel's picture

It would definitely be nice to have a more intuitive UI for setting up reminders... our method took us a couple days to puzzle out.

As far as voice calls, that's a pretty interesting idea. Our tendency to go with SMS is driven by a couple of factors (some of which might just be the user base we're dealing with):

1) 'Digital paper trail' SMS is really nice for reminders because it leaves a record on the recipient's phone. In the event of a voicemail users still have this, but if they answer an automated reminder VOIP call while driving or otherwise preoccupied, the reminder details can sort of disappear into the ether.

This is also nice in a commerce setting, because some of our clients have cancellation policies (24 hours before the event or whatever), and if there's a written record of the end-user having been reminded via SMS, it's less conceivable that they didn't get the reminder (you can choose not to listen to a voicemail, but you kind of have to see an SMS when you unlock your phone).

2) Less effort for 'decent' execution The other reason we're only supporting SMS (and email) right now is we just feel it's a little cleaner to automate. We can do a whole lot for our clients with just the code side of things, where a nice user experience with VOIP requires someone to record a message every time (and some of our clients are, to be blunt, too lazy to do that!).

VOIP for schedule information and feedback/surveys
I really like this idea. I think gathering feedback, in particular, is one of the areas where SMS is a bit out-classed: The character limitations of SMS as a format make it annoyingly 'iterative' - to ask 10 survey questions, you have to exchange 20 SMS messages which kind of feels like a robot is nagging you! ;-)

Answering 10 survey questions to a nicely-recorded message takes much less 'perceptual' time and effort.

In general, it seems to be our experience that people prefer SMS for small interactions (like a reminder or a simple query-response pairing), but for any kind of extended interaction, some other medium (VOIP or a web page) is much better.

Looking forward to playing with the VOIP end of things some more - so far most of what we're doing is SMS oriented. Need to find some clever VOIP use-cases and soft pitch them to a couple clients. :)

Travis

Re: It would definitely be nice

leoburd's picture

Hi Travis,

Thanks once again for such well-thought and comprehensive feedback. I pretty much agree with everything that you're saying!

As for the need to record messages, the text-to-speech engines provided by companies such as Twilio, Tropo and Plivo have come up a long way and are doing a pretty decent job reading text out loud. Independent of that, I've got the impression that we should start by providing SMS session reminders, move on to voice-based session feedback mechanisms, and then see what happens.

Anyone else with suggestions?

Cheers,

.L.

I agree with SMS first

dboeger's picture

Leo,

I think that SMS could be a valuable part of the COD ecosystem in two functions, one you've already described, as Session Reminders, but also from the team admin/organizers perspective as a way to send out group reminders of deadlines and room/schedule changes. There are many times when there are last minute changes to event schedules that happen after materials go to print, and that would be good to be able to flag with SMS.

BTW it was great working with you on the Help4OK project. I'm really looking forward to having the SMS component in that functionality.

Dustin

Re: I agree with SMS first

leoburd's picture

Thanks for the feedback, Dustin!

The idea of sending last-minute SMS announcements sounds really good!

It was a pleasure meeting you at DrupalCon! Hopefully, soon we'll have VoIP Drupal integrated with help4ok.org. That will be really cool!

Best,

.L.

SMS Framework

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week