Put the end date in every dated slide's file name, run a fixed six-slot loop at 10 seconds per slide, and make expiry a file operation: each weekly swap overwrites event slots with the next events and drops slides past their end date. The loop stays at 60 seconds, the order never changes, and no subscription scheduler is involved.
You already carry a USB stick to the screen each week and swap a few images. What you want is for each event slide to enter the rotation on its start date and leave on its end date, with nobody editing the playlist. Scheduling software does that inside the player; an offline player keeps no per-slide calendar. So move the dates into the content workflow: a fixed loop skeleton, file names that carry end dates, and a log that says what dies when. The weekly visit stays at about 15 minutes, the slide order never changes, and the loop keeps a fixed length so every visitor still reaches the hours slide. This article builds that skeleton and runs the weekly swap on a real calendar.
Where the expiry logic lives
A slide can be retired in two places: inside the player, by a scheduler that takes a start and end date per slide, or on your desk, by the file swap. Subscription platforms sell the first kind. The offline route is the second, and on the floor the result is the same: the event slide plays between its dates and is gone the morning after.
The free player that ships with our panel-mount displays is built for the offline route. It plays the images and videos you load from microSD or USB, starts the show at power-on with no keyboard, and takes a daily on time and off time. It holds no per-slide calendar, so the dates live in your file names and in a log. The basics of loading the show are covered in the player section; this article starts where that leaves off, with a playlist that already plays and contents that age.
What you need
- Six fixed slide positions, agreed once (the skeleton below).
- A playlist built once from fixed file names that never change.
- A staging folder on your computer for exports that have not started yet.
- A refresh log with one line per dated slide: slot file, real file name, start date, end date.
- A weekly reminder, 15 minutes, same morning every week.
- Slide exports from your design tool, one file per slide.
The six-slot loop skeleton
The skeleton reproduces the rotation you want: main slide, building image, general information, events, then hours, then back to the start. Give the events two slots, enough when no more than two events run in one week. Each slot is a fixed file name; the picture behind the name changes weekly, the order never does.
| Slot | Fixed file name | Content | Turns over |
|---|---|---|---|
| 1 | main.png | Building name and welcome | Never |
| 2 | campus-1.png | Building photo | Occasionally, on your schedule |
| 3 | info-1.png | General information | Occasionally |
| 4 | event-1.png | Next event | Weekly |
| 5 | event-2.png | Second event | Weekly |
| 6 | hours.png | Opening hours | Never |
Keep the main slide in slot 1. How the first screen is chosen at startup is its own subject, covered in choose the signage playlist first screen at startup.
Set the dwell to 10 seconds on every slide. A dated slide carries a headline and one line, about 10 words, and an average adult reads 200 to 250 words per minute, roughly 4 words per second, so the text takes about 3 seconds to read; 10 seconds per slide adds time to notice the slide and absorb it. Six slots at 10 seconds give a 60-second loop: a visitor who stands at the screen for a minute sees every slot, including the hours slide.
Name every dated export with its end date first, in YYYY-MM-DD form: 2027-04-02_career-fair.png. Sorted by name, the staging folder then lists slides in the order they retire, so the next ones to go sit at the top. The name is for your folders and the log; the picture itself carries the dates your visitors see.
Recommendation: run six slots at 10 seconds each, a 60-second loop with two event slots, and do the swap the same morning every week. Add a third or fourth event slot only when that many events really overlap in one week, because every added slot pushes the hours slide 10 seconds further away for everyone waiting.
The weekly swap, step by step
- On refresh morning (Monday 09:00 in the example below), open the staging folder. Slides whose end date has passed are already archived; slides whose start week has arrived are ready.
- Read the log for dead entries: any event slot whose end date is earlier than today.
- Export the next event, name it with its end date, and copy it over the dead slot's fixed name: 2027-04-02_career-fair.png becomes event-1.png. Update the log line.
- If a dead event slot has no successor, overwrite it with a second building photo or a general-information variant, so the slot stays filled and the loop stays six slides.
- Copy the six slot files to the card and load it, following set up offline playlist autostart on a signage screen.
- Time one full loop at the screen. It should return to the main slide in about 60 seconds.
Example: a campus lobby loop
A lobby screen runs the six-slot skeleton at 10 seconds per slide.
- event-1.png holds the open-house slide: start 2027-02-23, end 2027-03-12.
- event-2.png holds the library extended-hours slide: start 2027-03-02, end 2027-04-30.
The arithmetic: 6 slots x 10 s = 60 s per loop, so the main slide returns every 60 seconds, and a visitor arriving at a random moment waits 60 / 2 = 30 seconds on average, at most 60 seconds, for any given slide.
On Monday 2027-03-15 the open house is three days past its end date and the library slide has 46 days left. The swap replaces slot 4: the export 2027-04-02_career-fair.png is copied over event-1.png, the log line for slot 4 changes to start 2027-03-15, end 2027-04-02, and slot 5 is left alone. The loop is still six slides at 10 seconds, still 60 seconds, and the order is untouched. Watching one loop confirms it: career fair in slot 4, library in slot 5, no open house anywhere.
How to check it worked
- Watch one full loop, about 60 seconds in the example, and tick each slot against the log.
- No slot shows a slide whose end date is earlier than today.
- The loop returns to the main slide in about 60 seconds; a longer loop means a dwell was raised or a slot was added, and the 60-second target was left behind on purpose.
- Sorted by name, the staging folder's top entry is the next expiry; if that entry's end date is earlier than today, a live slot is overdue.
When expiry must happen without a visit
Three routes retire slides on their own, if the weekly visit ever stops being practical. A subscription platform's scheduler takes a start and end date per slide; what that model costs over the years is the subject of no-subscription signage: what it really costs you. Playlist formats built for timed playback, such as SMIL, carry begin and end times per item, the automatic version of the log this article keeps by hand; what a SMIL digital signage player is explains when that format fits. The player can also pull a playlist from your own web server on a timer, so a small script that rebuilds the playlist from your events calendar makes the retirement automatic. Until one of those is worth the setup, the skeleton and the Monday swap retire slides on the dates you chose, because the retirement runs on the same calendar reminder every week.
Questions
Does the player retire slides by date on its own?
No. It plays the playlist you load, keeps a copy in internal memory, and takes a daily on time and off time; there is no per-slide calendar. Retirement happens when you swap the files. For automation without a weekly visit, the documented routes are a scheduler in a subscription platform, a playlist format such as SMIL whose items carry begin and end times, or letting the player pull a playlist from your own web server on a timer.
What happens if the weekly visit slips a few days?
The retired slide keeps looping until the next swap, so the cost is a stale event on screen, not a fault. The refresh log is the safety net: it lists each live slot file with its end date, so one glance shows what is overdue. A copy of the show stays in internal memory, so the screen keeps playing while you work on the card.
Do the dates in the file names show on the screen?
No. The screen shows only the picture itself, so put the visible dates on the slide design; the date in the file name is for your folders and the log. Keep the visible date in the same YYYY-MM-DD shape as the file name, so the log, the archive and the slide all agree on the day a slide retires.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.