Attendance and Reporting

This update has a "time" theme because more progress updates should have themes and because there are new things in Whally that pertain to recording time. Speaking of time, this week marked over 100 consecutive days of work on Whally, highlighted to me through my attaining an unexpected achievement:



This is from the website "stack overflow", a place where programmers go when they would like somebody anybody please god tell me why my code isn't working, and would you please fix it too. I've apparently gone crawling there for mercy every single day for months, which implies some kind of consistency. I prefer not to inquire any further into the matter and will cherish my shiny new virtual badge. It's gold.

When we last left off, we were breathlessly discussing check-in kiosks. At the time, checking in didn't provide much further interest. Now it does, because there are reports! I will show you these reports below, among other intrigue. Let's begin.

Attending to attendance

It has been argued that "existence exists" is an indisputable axiom of metaphysics. This is not quite true; a more precise statement is "a thing exists only if recorded in the attendance system". Therefore, Whally now does more to track attendance, which is generically treated as "somebody going somewhere at a certain time and leaving at a certain time." Perhaps naively (time will tell), that currently includes both students and staff either checking into school or clocking into work.

Indeed, the kiosk now allows staff to clock in alongside their children if they are a parent too:



For those who prefer not to stare at the blinking dots, attendance records are also available elsewhere in the dashboard, including right alongside the student record itself. Here's how it looks in the new student dialog:



We can see Mimi's check-in status alongside other details, edit everything, and view attendance all in the same place. This is meant as a convenience view of the data where normal people might expect to find it in a familiar calendar or list format.

I mention "normal people" because there is another category of people: those who like reports. Before you get offended, report-lovers, understand that I also identify as such. You know it the first time you think to yourself: gosh if only I could get this data into Excel and have my way with it, everything would be right with the world. Take heart, because Whally now has a the beginnings of a reporting system to satisfy your needs.

A report on reports

In his or her heart, Whally aims to be more than just a lovable whale, but also a formidable data platform. This means storing lots of information in a clean and flexible format surfaced by tools to understand and use it. In part, this means having nifty reports. Here's how the first attempt looks:



Some elements to highlight:

A report in action:




As you can see, the only charts currently are an individual or averaged attendance rate and a timeline showing check-in and check-out times by day. While possibly useful, these are mainly for proof of concept, with many more specific formats to come as needed or imagined.

A note on time zones

If you didn't notice, my badge award mentioned earlier included a strange clarification:



You're right to ask "what level of pedantic dweebery must one reach to feel compelled to specify a time zone when counting days?" Indeed, this is the fate of software developers and at least half the reason stack overflow exists: time is apparently super complicated and annoying when you try to be precise about things.

One cannot simply just say "hey I'll be there at 8". A programmer be like: "umm 8 in which of the 37 time zones and did Congress pass any DST legislation in the meantime and what about leap seconds?" This is the main reason things never work out when I discover somebody is a supporter of Daylight Saving Time.

Anyhow, just know that Whally now supports every time zone that exists and will endeavor to support any new ones created in the future. It also contains a silly amount of code dedicated solely to doing calculations on time within time zones to prevent ambiguous and embarrassing things from happening on leap years.

Closing time

To bring our time together to an end, I hope you found this update worthwhile and caught how many "time" puns I attempted. The next update I hope will be about payments, in which money is received and accounted for by Whally in a timely manner (last pun, sorry).


Read on: Show me the money