Blog & Knowledge Base

Message Scheduling

With DesktopSMS, you can now schedule SMS messages to be sent at a later time, providing more flexibility for both business and personal communication. This article explains how scheduling works, its key features, potential limitations, and how you can optimize delivery. As this is a new feature, we welcome your feedback to help us improve it further!

The scheduling feature is relatively new and is still in the early stages of development. We appreciate your feedback as we continue to refine and improve this functionality. If you encounter any issues or have new ideas for enhancing the scheduling experience, we encourage you to share them with us.

Important note: Due to Android's battery-saving features, there may be delays in message delivery, and it is not guaranteed that messages will be sent exactly at the scheduled time. For more details on these limitations, please see the full explanation at the end of this document.
More details about scheduling limitations

Scheduling messages in DesktopSMS

DesktopSMS allows users to process messages for immediate delivery, and since version 1.10, it also allows scheduling SMS messages to be sent at a later time. This feature is useful for business communications and personal messages that need to be delivered at a specific moment.

How Scheduling Works

After composing a message, you can set a specific date and time for delivery. The message is then added to the queue on your remote device, where it waits to be sent at the scheduled time.

The process involves the following steps:

  • Compose a Message: The message is composed on the client using the "Send New Message" dialog. There is now a new option, "Schedule," that, if enabled, allows the user to set a specific date and time for sending the message.
  • Set the Date and Time: The date can be picked using a date picker or entered manually. The time can be selected from dropdowns but can also be edited directly.
  • Send the Message: The message is transferred to the remote device and enqueued in the message queue, allowing it to be processed and sent at the specified time.

Please note that the scheduling feature requires the message queue to be enabled on the remote device. If the message queue is not enabled, the scheduled message will fail to enqueue.

Key Features

DesktopSMS offers several useful features to make scheduling SMS messages convenient, here are the key aspects of how it works:

  • Message Queue: The message queue handles the delivery of messages. Immediate delivery messages are processed first, as they have the highest priority. Enqueued messages are processed according to their scheduled time.
  • No Active Client Connection Required: The PC client is only needed for preparing and scheduling messages, but it does not need to stay connected for the messages to be sent.
  • Scheduled Messages Processed Even if the App is Closed or Device is Rebooted: DesktopSMS schedules the message delivery using system events, meaning scheduled messages will be processed even if the app is closed or the device is rebooted. The DesktopSMS service will do its best to process and send messages at the scheduled time, based on the scheduling instructions.

Managing Scheduled Messages

You can view and manage your scheduled messages directly on the remote device, specifically under the Message Queue tab.

Pending messages are located in the Pending tab of the message queue. Once processed and sent, messages are visible under the Sent tab.

Scheduling Limitations

Be sure to understand the scheduling limitations on Android devices and run some tests to see how they affect message delivery in practice. If you have any questions or need assistance, feel free to contact us.

Due to Android's battery-saving features, such as Doze mode and background restrictions, it is not guaranteed that scheduled messages will be processed exactly at the specified time. The Android system may delay message delivery to conserve battery, and these behaviors are part of Android's design.

Android operates with a processing window during which scheduled events can be processed. However, this window is not precisely defined and can vary. In fact, the window may be as long as 10 minutes or more, and the real delay depends on the system's battery-saving behavior at the time.

While DesktopSMS does its best to schedule and send messages on time, it operates within these system limitations. The app relies on system events and background processes to trigger message delivery, but certain conditions may cause delays beyond its control.

Testing Device Behavior

It is recommended to test how your device behaves with scheduled messages and check for any delays that may occur due to the Android system’s battery optimization features. By doing so, you can get a better understanding of how your device handles scheduled message delivery and make any necessary adjustments.

Improving Scheduling Performance

To improve the chances of timely delivery, you can interact with the app and keep the phone on the charger. This helps the device stay active and less likely to enter power-saving modes that might delay message delivery. Ensuring the device remains plugged in and used may minimize delays and improve the overall scheduling experience.