✓

Sudarvel
Product Designer

Chennai, India

GMT +5:30

Currently

UX/Product Designer · Digival

Case file 02
V1.0 · 2025

Call a name.
Tap a mark.
Attendance the way teachers already take it.

Call a name.
Tap a mark.
Attendance the way teachers already take it.

Call a name.
Tap a mark.
Attendance the way teachers already take it.

Turning a rigid, automatic-only attendance system into a roll call faculty can run in one tap per student.

ROLL·CALL

09:02

ROLL NO. 042

EMILY JOHNSON

▸ …

041 D.WILSON ✓

040 A.KUMAR ✓

[✓] P

[✕] A

[◷] L

ROLL·CALL

09:02

ROLL NO. 042

EMILY JOHNSON

▸ …

041 D.WILSON ✓

040 A.KUMAR ✓

[✓] P

[✕] A

[◷] L

Project: Roll Call Attendance
Product: Faculty attendance, Android and iOS apps · Digival
Role: UX / Product Designer · Year: 2025

00 / THE STORY

10:02 AM, before the app.

▶ CLICK THE BOOK TO TURN THE PAGE

STORY.EXE · CASE FILE 02
10:02 AM
A roll call, before the app · 4 frames
▶ CLICK TO OPEN
■ FRAME 0101 / 04
■ FRAME 0202 / 04
■ FRAME 0303 / 04
■ FRAME 0404 / 04
SYS://STORY · EOF
END OF FILE
Scroll down to see how the app changed this.
◀ CLICK TO CLOSE
COVER

00.1 Opening and TL;DR

Every teacher already knows how to take attendance. The old system made them forget it.

Every teacher already knows how to take attendance. The old system made them forget it.

I designed Roll Call around one principle: the app should follow the routine teachers already have, not ask them to learn a new one.

This is the story of that routine, the research behind it, the six decisions that shaped the screens, and the system it became.

TL;DR

Faculty could only take attendance through automatic modes: Bluetooth, Engager or Buzzer. When the room had poor coverage, a phone died or a guest student walked in, there was no clean fallback. Teachers went back to paper and typed it in later.

I designed a manual Roll Call mode that copies the paper register: call a name, tap Present, Absent or Late, then sign it off.

Result

▸

Live in the faculty Android and iOS apps

▸

500+ sessions completed with Roll Call

▸

One tap per student; anyone left blank is recorded Absent on finalize

▸

Late, excused, leave, permission and on-duty all handled in the same list

In production · 500+ sessions

Chapter 01 · The old way

One lecture, four moments where attendance slips

The lecture has started, but attendance comes first. Repeated marking makes it easy to lose track. There is no shared rule for late arrivals, so records are corrected from memory and mistakes carry forward.

01.1 The roll call ritual

Roll call is slow. It is also the one system every person in the room understands.

Roll call is slow. It is also the one system every person in the room understands.

Teachers call names, students answer, and a mark goes in the register. Everyone knows the rules without being told: answer when your name is called, silence means absent, walking in late gets a note in the margin.

That shared understanding is what I wanted to keep. The paper and the retyping were what I wanted to remove.

Secondary research · Medical college lectures, India

4:20

4:20

average minutes to call roll in a class of ~100

5:41

5:41

average total, including the lag before calling starts

96

96

lecture classes observed in the study

One hour-long lecture slot, minute by minute

Lag before calling

Calling the roll

Teaching time

Mahato and Suman, roll-number calling in MBBS and BDS lectures (2013). Close to a tenth of a one-hour slot goes to the register before teaching starts.

01.2 The rigid system

The old app only trusted machines.

The old app only trusted machines.

Faculty could start session attendance only through automatic modes: Bluetooth, Engager or Buzzer. These work well in many rooms. When they didn’t, the app had no answer.

Teachers ended up running two systems: the app, and a paper list on the side to catch everyone the app missed. Records were split, late arrivals had nowhere to go, and corrections became requests to admin.

Poor Bluetooth coverage

Device issues

Guest or visitor students

Small-room checks

Manual verification

Before · Automatic only

Start session

→

Mode fixed to Automatic

→

Students’ phones check in

→

Scan fails or misses students

→

Paper list, typed in later

After · Roll Call as a mode

Start session

→

Choose Automatic or Roll Call

→

Call names, tap ✓ ✕ ◷

→

Finalize and lock

→

Reports and student view

From the project brief: “Allow staff to mark attendance manually for in-person sessions, including combined sessions, as an alternative to the existing automatic modes.”

01.2a The version we shut down

Existing attendance report

SHUTTERED

1

A switch pretending to be a mark

Status was a toggle. Toggles read as settings, and on/off can only hold two answers.

2

“Assisted” meant nothing to faculty

A system word for how the record was made, shown where teachers expect a status.

3

Two signals that disagree

A red cross next to an orange switch that’s on. Blue, orange and grey switches with no legend.

4

Leave hidden in tiny text

The row stayed editable, so a teacher could overwrite approved leave by accident.

5

A rule that needed a footnote

“Final Attendance report will be calculated based on the selection.” If a screen needs this, the model isn’t clear.

6

No place for late

Counts covered Present, Absent and Leave. A student 20 minutes late had to become one of those.

Why it had to go

It recorded attendance. It didn’t let anyone take it.

The old screen was built for reviewing what the automatic modes captured, then patching it with switches. It had no idea of a teacher calling names in order and answering each one.

Rather than restyle the switches, we retired the screen and rebuilt the list around the register: three answers per row, words instead of codes, and system states that can’t be overwritten.

Before

Toggle per student · 2 states · icon + switch · leave editable · no late

After

✓ ✕ ◷ per student · 3 marks + 4 late levels · status in words · system states locked

01.3 Research approach

Lean research, aimed at one question: what does a teacher already believe attendance is?

Lean research, aimed at one question: what does a teacher already believe attendance is?

This was a re-design of a live feature with a tight timeline. I worked from secondary research, short conversations with the people around attendance, and an audit of the existing flow. I did not run formal usability tests in this round, and I say so plainly in the reflection.

Secondary research

Stakeholder conversations

Existing flow audit

Jobs to be done

Usability testing

01.3a What each stakeholder needed

Paraphrased from conversations

Stakeholder

What they need from attendance

What it meant for the design

Session faculty

Mark the class quickly while students wait, and fix a slip without calling admin.

One tap per row. Every mark stays editable until finalize.

Attendance coordinators

Know how late a student was, and keep leave, permission and on-duty separate from absence.

Late levels. System states that the teacher sees but can’t overwrite.

Academic admin

A locked, final record that flows into reports, with retakes kept rather than overwritten.

A finalize step with counts, then lock. Retake history kept.

Students

See how they were marked and raise a request if it is wrong.

Student status sheet with every attendance taken in the session.

Product and engineering

Fit beside the existing automatic modes, and work for combined sessions.

Roll Call as a selectable mode. One list for merged sessions.

01.3b Secondary insights

Four findings that shaped the work

I1 · Time

~6 min

Calling a hundred names costs real teaching time

In 54 medical college lectures with around 100 students, roll call took 4 min 20 s on average, and 5 min 41 s once the lag before it was included.

So: every extra tap per student is multiplied by a hundred. The marking action has to be a single tap.

Mahato & Suman, Sch. J. App. Med. Sci., 2013

I2 · Stakes

75 / 80%

A wrong mark can stop a student from sitting an exam

Under NMC’s CBME rules, MBBS students need at least 75% attendance in theory and 80% in practical or clinical training. Below that, they can’t sit the supplementary exam.

So: marks must be precise and correctable, lateness needs a category, and the final record must lock.

Careers360, NMC CBME FAQ coverage

I3 · Failure modes

Fallback

Automatic attendance breaks in known, repeatable ways

Card readers broke and IDs were tapped by friends at POSTECH. Even vendors selling Bluetooth attendance keep a manual code for dead batteries and older phones.

So: manual marking isn’t a legacy feature. It is the fallback every automatic system needs, and it should sit beside them.

POSTECH Times; Attendance Radar

I4 · Mental models

Register

People predict new tools using the ones they already know

A mental model is what a user believes about how a system works, built from past experience. For attendance, that past experience is the paper register.

So: copy the register’s rules: name order, three answers, blank means absent, sign at the bottom.

Nielsen Norman Group, “Mental Models”

01.3c Jobs to be done

J1

When automatic tracking is unreliable, I want to mark who is present so attendance records are accurate.

J2

When students arrive late, I want to record the late entry with the right category.

J3

When I make a mistake, I want to retake or reset attendance without losing history.

J4

I want the attendance mode and final result visible to students and administrators.

Design principles that came out of it

1. Follow the register.

If paper already has a rule for it, use the same rule.

2. One tap is the budget.

The common case (present) costs a single tap.

3. Nothing is final until it’s signed.

Teachers can correct freely; admin gets a locked record.

4. Add, don’t replace.

Roll Call sits beside the automatic modes.

02.1 The register in their head

I mapped every move teachers make on paper, then gave each one a place in the app.

I mapped every move teachers make on paper, then gave each one a place in the app.

This table became the spec. Any screen that didn’t map back to something teachers already do on paper had to justify itself.

Two rows needed the most care: silence and crossing out. On paper both are free. In software they turn into rules about defaults and history.

On paper

In Roll Call

Names listed by roll number

→

Student list in roll order, with search

“Present” → a tick

→

Tap ✓ on the row. It turns green.

Silence → blank box

→

Leave it. Blank becomes Absent on finalize.

Walks in late → “L”

→

Tap ◷, pick a late level

Note in the margin

→

Optional comment, badge on the row

Cross out, rewrite

→

Change any mark. Retakes keep history.

Sign at the bottom

→

Finalize: review counts, then lock

Register goes to the office

→

Sent to reports and the student’s view

02.2 From insight to decision

Every decision traces back to research

I1 · Time

Roll call costs ~6 min a lecture

I2 · Stakes

Marks decide exam eligibility

I3 · Failure modes

Automatic modes need a fallback

I4 · Mental model

Teachers think in register rules

I1 → D1, D4

I4 → D1, D2

I2 → D3, D5

I3 → D6

D1

Mark from the row

I1 · I4

D2

Blank means absent

I4

D3

Late is a level

I2

D4

Bulk select, with a receipt

I1

D5

Reversible until signed

I2

D6

A mode, not a replacement

I3

02.3 Key design decisions

Six decisions that shaped the screens.

Six decisions that shaped the screens.

Decision 01

Mark from the row, not a detail page

What I decided

Every student row carries three buttons: ✓ Present, ✕ Absent, ◷ Late. One tap marks. The row shows the status in words under the name.

The default direction: tap a student, open a detail screen, choose a status, go back.

Why I rejected it: for a hundred students that is three hundred taps and a hundred screen changes while the class waits (I1).

Tradeoff I accepted: denser rows, so each button needs a generous touch target and clear colour plus icon.

What I gained: the rhythm of roll call. Name, answer, tap, next.

Decision 02

Blank means absent

What I decided

Teachers only mark who answers. On finalize, anyone unmarked is recorded Absent, and the sheet says so before saving.

The default direction: block finalize until every row has a mark.

Why I rejected it: on paper, an empty box already means absent (I4). Forcing a hundred marks adds work without adding accuracy.

Tradeoff I accepted: a missed row becomes an absence, so the warning has to be impossible to miss.

What I gained: speed, and a rule teachers already trust.

Decision 03

Late is a level, not a yes or no

What I decided

Late opens a short sheet: Level 1 10–20 min, Level 2 20–30 min, Level 3 30+ min, or a custom duration up to 40 min. Plus an optional comment.

The default direction: a single Late toggle.

Why I rejected it: coordinators treat ten minutes late differently from thirty-five, and attendance decides exam eligibility (I2). A yes or no loses that.

Tradeoff I accepted: one extra step, but only for late students.

What I gained: the right category at the moment it happens, with no follow-up typing.

Decision 04

Bulk select, with a receipt

What I decided

Select turns on checkboxes and a bottom bar: Late, Absent, Present. A confirm dialog lists the names and says what happens to everyone else.

The default direction: a single “Mark all present” button.

Why I rejected it: it hides mistakes. One-by-one is safe but slow in a hall of a hundred (I1).

Tradeoff I accepted: a confirm step on every bulk action.

What I gained: big classes in seconds, without silent mass changes. “Remaining 24 students are marked absent” is spelled out.

Decision 05

Reversible until you sign

What I decided

Any mark can change. Late can be excused or cancelled. Finalize shows counts by category, then locks and sends to reports. Retakes are kept as history.

The default direction: save each tap as final.

Why I rejected it: teachers correct registers all the time. Instant-final turns every slip into an admin request, on records that carry exam stakes (I2).

Tradeoff I accepted: an explicit finalize step teachers have to remember.

What I gained: freedom to fix things in class, and a clean locked record for admin.

Decision 06

A mode, not a replacement

What I decided

Starting a session asks for a mode: Automatic (Bluetooth, Engager, Buzzer) or Roll Call. The choice stays on the session card with an Edit link.

The default direction: replace automatic with manual, or hide manual in settings.

Why I rejected it: automatic works well in many rooms. Manual is the fallback every room eventually needs (I3).

Tradeoff I accepted: one more choice when a session starts.

What I gained: faculty choose per session, and nothing that already worked breaks.

02.4 Decision stories

4 choices that shaped Roll Call

I wrote down every choice I made, sorted them into big-picture and small-detail, and picked the four that best show how I think. Each one is a short story: the problem, what it was before, what I chose, and what changed.

01
Pick a projectRoll Call · class attendance
02
Write down every choice22 choices
03
Sort them10 big picture · 12 small details
04
Tell the best as stories4 stories below
05
Reuse themCase study · Interviews · Slides · LinkedIn
From every choice to the best few

Tap a row to see the choices in it. Things I chose not to build count too.

Big picture or small detail?

Teachers could only take attendance automatically, through Bluetooth or phone check-ins. When that failed, there was no backup, so they went back to paper and typed it in later.

From big idea to one detail
How one big idea shows up on a screen, then in one small part.
The stories · 6 steps each
1Title
Decision story #1Big picture

Why we replaced the old screen instead of restyling it

Press Next (or the → key) to read it step by step.

03.1 Product walkthrough

One session, start to finish.

A

A

Choose how to take attendance

Choose how to take attendance

Session details show the current mode. Tapping Edit opens a two-option sheet. Roll Call is described in the teacher’s own words: “Mark attendance by calling the students’ name or ID.”

1

Mode visible on the card, never hidden

2

Start button changes to match: Start Roll Call

B

B

Call the roll

Call the roll

Names in roll order, three buttons each. The counters at the top update with every tap, so the teacher always knows where the class stands.

1

Status in words under the name: “Present · Approved”

2

Search for latecomers by name or ID

3

Finalize stays pinned at the bottom

C

C

Someone walks in late

Someone walks in late

Tap the clock. Pick a level or type the minutes, add a note if needed. The row shows “10 MINS LATE” in amber, and a badge marks rows with a comment.

1

Custom duration capped at 40 minutes

2

Comment is optional, never required

D

D

Fix it, or mark many at once

Fix it, or mark many at once

Tapping a late row offers Mark as Excuse or Cancel Late. For big halls, Select turns on checkboxes and a Late, Absent, Present bar. The confirm dialog names every student it will change.

1

Corrections in class, no admin request

2

Bulk actions always show who is affected

E

E

Sign the register

Sign the register

Finalize shows the count for each category: On Duty, Present, Absent, Late, Leave, Permission. A line in bold reminds the teacher that unmarked students become Absent. Save locks it and sends it to reports.

1

Leave, permission and on-duty come from the system and can’t be overwritten

2

Final report keeps request and approval states

F

F

Combined classes

Combined classes

When two sessions overlap, the home screen offers to merge them. Roll Call then shows one list for everyone, with a switch to take each session individually.

1

One roll call for a combined hall

2

Staff attendance from the same screen

G

G

The student’s side

The student’s side

Students see their overall status and every attendance taken in the session, such as “Primary (Latest) · Late by 10 mins”. If something is wrong, they raise a request and the record shows it as pending.

1

Mode shown on the completed session: “Onsite · Roll call”

2

Request history visible to the student

03.2 The state system

Three keys for the teacher. Everything else belongs to the system.

Three keys for the teacher. Everything else belongs to the system.

The teacher only ever presses three keys. States that come from elsewhere, like approved leave or on-duty, appear as locked pills on the row, so a teacher can’t overwrite a decision made by someone else.

Teacher keys

✓

Present

✕

Absent

◷

Late

Late levels

L1

10–20 min

L2

20–30 min

L3

30+ min

Custom

up to 40

System states, read-only for teachers

🔒 Leave

🔒 Permission

🔒 On duty

🔒 Request pending

🔒 Excused

🔒 Approved

03.2a UI breakdown · Marking screen

What each part of the marking screen is doing.

This is the screen a teacher lives in for the whole roll call. It copies the paper register on purpose, and leaves the rules to the system.

A live count for every mark, Late included
Find one student, or select many
Three keys per row: Present, Absent, Late
The row says what was recorded
Every mark stays editable until finalize
Blanks become Absent only on finalize
Roll Call · marking in progress
FeedbackMetrics
01Count what the teacher is marking, as they mark it

Four tiles sit above the list: Total, Present, Absent and Late. The old counts covered Present, Absent and Leave, so a student twenty minutes late had to become one of those. Late now has its own tile, and the numbers move with every tap.

EfficiencyControl
02Search for one, select for many

A search field finds a student in a long class, and Select switches to marking several students at once. Both sit above the list, so the teacher reaches them without scrolling away from the register.

Mental modelClarity
03Call a name, tap one of three keys

Each row copies the paper register: the student’s name and number on the left, three keys on the right. One tap per student marks Present, Absent or Late, and the status is written back onto the row, so the teacher can see what they recorded without opening anything.

Error prevention
04Nothing is final until the teacher says so

Finalize Attendance stays pinned at the bottom of the screen. Marks remain editable until then, and anyone left blank is recorded Absent only at that moment, so a missed row is a choice the teacher confirms, not an accident.

03.3 Outcome

Sessions completed with Roll Call

500+

Shipped in the faculty Android and iOS apps as a mode beside Bluetooth, Engager and Buzzer, including merged sessions and the student view.

The quieter result: teachers no longer need a paper list next to the app. The same screen handles present, absent, late, excused and the states admin already owns.

Reflection

“The best interaction model was already in the room. My job was to stop the app getting in its way.”

What I’d do next

01

Measure time to finalize per session against the ~5–6 minute paper baseline.

02

Watch it in a live class. I skipped primary observation this round; it is the first gap I’d close.

03

Track missed-row absences to check whether “blank means absent” causes wrong marks.

04

Test offline mode in rooms where both Bluetooth and network are weak.

Roll call
ends here.

Sudarvel · UX/Product Designer · Digival · Chennai