Four statuses

Here or not here
is not enough information.

A binary register answers one question — was the student in the room — and a school is asked several. Was she there? Did she arrive twenty minutes late for the third time this month? Did the family tell us she would be away, or did nobody know? Those are different facts with different consequences, and a register that collapses them into present-or-not forces the school to reconstruct the difference from memory and message threads.

Status
What it means
What follows
Present
Attended the session
The default; nothing follows
Late
Arrived after an agreed threshold
Watched as a pattern, not chased once
Absent
Did not attend, no notice given
Same-day follow-up
Excused
Did not attend, the family told you
No chase; still counted as an absence in the rate

The distinction that earns its keep immediately is absent against excused. It is the difference between a family you must call today and a family who already told you, and a school that cannot tell them apart will do one of two bad things: chase parents who explained last week, which makes the school look disorganised, or stop chasing altogether, which is worse. The one that earns its keep slowly is late, because lateness is a pattern rather than an event — one late arrival is traffic, six in a term is a student who has stopped wanting to come, or a timetable slot that does not work for that family.

Keep a free-text comment alongside the status and use it sparingly, for the fact that will matter later: "left at 5.40, unwell", "connection dropped twice". On SprintUp the register carries status, a comment and, for online classes, the minutes attended, which is what makes the next section possible.

Who marks it

The teacher,
in the session, not at the weekend.

Attendance is marked by the person who was there, during or immediately after the session. This sounds obvious and is routinely violated: in many small schools the teacher notes absences on paper and someone types them up on Friday, by which point the paper is incomplete and the typist is guessing. Every hour between the session and the record is accuracy lost, and the record is the thing a parent, an inspector or a court may later rely on.

Make it two taps and it will happen. Make it a separate system with its own login and it will not. The practical test for any platform is whether a teacher can open the class they are teaching, see the roster, and mark it without leaving the place they are already working — in a room on a phone, or in the same window as the live class online. For a class held in the room, there is nothing to automate: the teacher marks the register and that is the whole of it. What can be improved is the friction, not the judgement.

Online classes

The platform knows the minutes.
It does not know the reason.

A live online class produces a fact a physical room does not: exactly how long each student was connected, and when they joined relative to the start. That is genuinely useful, and it is tempting to turn it straight into a register — connected for most of the class, mark present; joined late, mark late; never appeared, mark absent. Most platforms that offer attendance for video classes do something close to this.

It is the wrong shape, and the reason is in the data. Connection time is evidence about the network, not about the student. A child whose home connection dropped for twenty minutes of a sixty-minute class was present and trying; a teenager who joined the call, muted, and left the room was connected for the full hour and absent in every sense that matters. A register that records the first as absent has put an untrue mark on a child's record; the family will find out, and they will be right to complain.

SprintUp therefore uses connection time to suggest a status rather than to set one. The class opens with the register pre-filled from what the platform observed, and the teacher — who watched the lesson and knows which camera was on and who answered a question at minute fifty — confirms or overrides it before it is saved. The teacher's two taps become one glance and an occasional correction, which is the actual saving, and the record stays something a school can stand behind.

🎥What connection time is good evidence for
Patterns, not verdicts. A student whose minutes-attended falls steadily across a term is disengaging whatever the statuses say; a class where everyone joins eight minutes late has a timetable problem, not a punctuality problem. Read the minutes in aggregate, and let the teacher read the individual.
Setting the policy

Two numbers,
set per school and worth revisiting.

If the platform is going to suggest, the school has to say what it should suggest. Two settings do the work: the share of a session's actual length a student must be connected for to be suggested present, and the number of minutes after the start beyond which joining is suggested late. On SprintUp these are set per school and default to 75% and 10 minutes — sensible for a ninety-minute adult class and worth adjusting for anything shorter or younger.

Class type
Suggested settings
Why
Adult evening class, 90 min
Present at 75% · late after 10 min
Defaults work; adults join on time or not at all
Teen exam group, 90 min
Present at 75% · late after 5 min
Tighter lateness — punctuality is the habit being taught
Kids class, 45 min
Present at 60% · late after 10 min
Short session: a 10-minute connection problem is a bigger share
Drop-in conversation club
Present at 50% · late not tracked
Attendance is participation, not punctuality

The one to think about is the short class. In a forty-five minute session, a ten-minute connection problem is nearly a quarter of the class, and a 75% threshold will suggest absent for a child who was there and trying for thirty-five minutes. Lower the percentage for short sessions, or accept that the teacher will override more often — either is fine, as long as it is a decision rather than a default nobody looked at.

Keeping the record honest

Three rules
that keep it usable as evidence.

A cancelled class is cancelled, not empty. If the school called the session off, the session carries that state and no student is marked absent for it. Registers that simply have no entries for cancelled classes produce attendance rates that punish students for the school's own decisions, and parents notice.

Corrections are made, not overwritten quietly. When a family produces a note a week later, change the status from absent to excused — but the school should be able to see that it changed and who changed it. This matters in the rare case where attendance is disputed, and it matters for the ordinary case where an administrator wants to know why a rate moved.

Attendance is personal data about a child. It is held under the same obligations as everything else in the student record: kept because the school has a reason to keep it, visible only to people who need it, and included when a family asks what you hold about them. That is not a feature question; it is the school's duty as controller, and the GDPR cluster covers what follows from it.

Before the first register

The attendance
checklist.

✅Eight decisions
Four statuses in use, not two · marked by the teacher during or straight after the session · a comment field used for facts that will matter later · online suggestion thresholds set per class type, not left at default · every suggestion confirmed by a teacher before it is saved · cancelled sessions recorded as cancelled · corrections visible as corrections · attendance treated as student personal data.
Next: absence follow-up and reporting →← Back to A1