Auto-scheduling social media messaging is an absolutely essential tool for many individuals and businesses that just don’t have the time to pick and choose when to send Tweets or Facebook posts. HootSuite users need the ability to continually engage with their followers without having to sit in front of their computers or be on their phones all day.
A fast and easy way for our users to schedule messages without setting an exact time and date for every post, the auto-scheduler has always been one of our most popular tools. In fact, the convenience of auto-scheduling has made it the most popular type of scheduled message on HootSuite.
Because the tool is so popular, we get a lot of feedback on how it works, and we’ve been listening. We recognize that every user is different, and has different priorities and goals when it comes to social media. Previously the auto-scheduler selected times for messaging with the aim of maximizing engagement, but these times were not always optimal for each individual user.
With that in mind, we’ve created an auto-schedule calendar editor, a natural progression for our auto-scheduling feature. This new functionality allows you to choose on what days and how many times per day the auto-scheduler can post.
Keeping the Auto-Scheduler Engaging
We then asked our users what they wanted to see in a scheduling tool and three requests came up again and again:
- Specific time frames (eg. only post from 8am to 7pm)
- Blackout days (eg. don’t post on Saturdays)
- Schedule for multiple days ahead of time
Using that feedback, the auto-scheduling tool now works in two steps. The user sets bounds on which days to post, the minimum and maximum time each day, and how many posts per day. This only needs to be done once. Then the auto-scheduling algorithm successively fills in the slots with scheduled messages starting with the best time, then the second best time, etc. until the limit for the day is hit, then fills up the following day the same way.
How the Algorithm Works
You may be wondering about the algorithm and how it populates the calendar. Let’s say it’s Monday, and you schedule messages for Sunday to Friday (no Saturdays), from 8am to 8pm, with a maximum of 5 messages per day:
Different social networks are treated separately
Your first message will be slotted into the best time on Monday, the second message will be slotted into the second best time on Monday and so on until you hit 5 messages
The sixth message will be slotted into the best time on Tuesday, and so on until you have booked your auto-schedule calendar up to Friday.
The next message will skip over Saturday (remember, we turned it off), and will be slotted into the best time on Sunday.
The algorithm also works based on timezone.
“As any developer can tell you, working with international dates is a nightmare. To guard against irregularities such as daylight savings time in Rio de Janeiro, I built the algorithm using some battle hardened date time libraries,” explains Chris Noble, one of the developers on the HootSuite Labs team. “This allowed me to focus on the recursive algorithm itself instead of time zone differences.”
To test the new auto-scheduler, Chris first needed the segregate the existing tool. “This allowed me to then develop the new system in parallel. We have a dark launch system which allows us to turn new features and changes on and off for certain users,” he said.
We’re very excited about the launch of our new auto-schedule calendar editor and we’d love to get your feedback. Your comments, Tweets and social messages will help us on the next iteration as we continually improve our auto-scheduling functionality.