Looking to build an app that sends lap running data to a sheet and places it in the correct cell next to a student’s name. At the moment, it’s being done manually straight into the sheet but I’m not sure if it’s worth pursuing an effort to build an app that can do this?
I’ve added a couple of sample sheets - sample 1 involves multiple lap columns for each student. Sample 2 has just one lap column per student, with laps accumulating in the same cell. I assume that the second sheet may be the most plausible as a destination for a Glide form? Either way, it feels like a long shot but if anyone has any ideas please let me know
You’ll probably need to re-structure your data a little bit. For example, Glide probably won’t deal very well with the complex column headers you currently have.
I’d suggest one table to list all your students (and associated attributes), and then another for logging results. And then you can link the two via a relation for display/reporting.
The average speed dials that you have can probably even be approximated using quickchart.io
There are quite a few active users in the community that build apps for education, so you should find plenty of help and advice available here.
Thanks for that, I think I’ve set it up as you suggested.
In the app, the first menu gives the option to select a class. When selected, the students of that class are listed. From there I’d like to be able to tap a student and have 1 lap added to their name.
All I’ve been able to do is add a form to that screen, where class, name and laps have to be entered. It would actually be faster to open the spreadsheet on my device and enter laps directly into it. With runners coming past regularly the teacher would need to be able to enter a lap for a student in the most efficient way possible.
Is there a way to have it so when the form is added in the screen the previous selections are already included? i.e. the name and class are already there so that they don’t have to be entered again?
Are laps just a number column?
What you could do is change the action on the inline list items to Increment that column, then it would be a single tap. I’d probably do it as a custom action so that you can also include a notification to indicate the lap was recorded (and prevent double entry).
As @Darren_Murphy suggests, you can change the action to increment a column with each tap.
Also, you can have two inline lists, one with number of laps and other to introduce any other information, and switch between them.
In this Daily classroom observation record app you can see a compound action: first tap marks absence (lap in your case) and second opens the student record (in your case each tap would increment a lap) . There are two inline lists. In your case both lists would have students names.
With a vlookup you can take the information form the glide sheet to your stats sheets
It’s working really well, thanks heaps both of you. Definitely need the notification to show it’s been entered though - I’m trying to figure out how to make a custom action to do this but no success so far. Will prob need a negative increment button as well in case laps need to be removed
Where are you getting stuck with the custom action? Can we help with that?
If double-entry becomes a problem, then there are other tricks that could be employed to help avoid that.
For example, you could possibly do something like this:
As part of the same action that does the increment, use a Set Columns action to set a column 5 seconds in the future
Also as a part of the custom action, include a conditional that compares the value of that column to the current time, and if it’s greater than the current time then take no action
This in theory would give you a 5 second buffer zone after each tap.
Note that I haven’t actually tried this one myself, so I’m not sure how well it would work. You’d have to try it and see.
Got the notification working, was pretty straightforward in the end. This all works very well, have to say I’m blown away by how good Glide is, as well as the community. A huge thank you.
It’s just a matter of making the app look good now - at the moment the action is triggered by a fairly mundane arrow - can a button be added here instead?
Try experimenting with different list layouts. If you have images, then this might look quite good as a Tiles layout with 3 or 4 circular tiles per line.
Also note that you can sort the list, if that helps
PS. Yes, Glide is rather awesome, as is the community
Pretty much there now, minus a couple of ‘nice to have’ extras that I have not been able to figure out how to do.
An undo button in case a lap is sent to the wrong person. Currently a lap is sent via an action to increment by 1. Played around with other actions but can’t seem to find a way to undo?
It would be cool to have a progress bar underneath the student tiles that builds towards a daily target. The daily target could be set by the teacher in app. The problem is that laps are incremented into the same column so there is no way to know the daily total (the total keeps building over days/weeks in the same cell). I tried adding an action but no success. Could try a sheet formula to sum via date?
May be an undo button that hides this list and shows a second list. Then, tapping student name in this second list increments -1 and gets back to the first list (hides 2 and shows 1).
I can only think of writting a google script which every night sums the daily total to a week and resets the column
Dan, I’m really impressed with how quickly you pulled this app together. Looks good.
I have an app with something a bit like an undo. Here’s the overview, adapted for your app…
I’d put a checkbox on the Tap-A-Lap page that says “Ooops, minus 1”. You’d select that then select the student’s name to remove a lap:
Add a column in the logging page that’s just Boolean. Then add an IF/THEN to your ACTION to look for the check mark. If the BOOLEAN value is TRUE, increment the LAP column by -1. ELSE, increment by +1.
Then add an ACTION that resets the BOOLEAN column to FALSE (thus clearing the checkbox).
You may need to create a SINGLE VALUE column that monitors the BOOLEAN column and drive the ACTION from the SV. Since you’re loading the checkbox before selecting a runner, you’d likely have a disconnect - it wouldn’t know which row to write to. But the SV column fixes that.
After the first time you use it, you’ll get FALSE in your SV column, which you can ignore. I wouldn’t drive the IFE logic of the action to look for FALSE, because it won’t be there until after the first time you check the box.
Beware if you are using the Boolean to trigger any queries in your Google Sheet (doesn’t sound like you are, but…). I have found that workflow to be inconsistent. You need to drive a Text column that watches the Boolean and converts Boolean logic to a simple text string. Otherwise, the query tends to poop itself.
Hi Belzoni
Thanks for that, I’m stuck on step 1 though - adding checkbox to the Tap a Lap page. Don’t see a way of selecting the checkbox and then select a student for the box to reference?
You don’t need to reference any student. The purpose of the checkbox is to control whether you are adding or removing laps, regardless of which name you tap.
If the box is unchecked, every tap adds a lap.
If the box is checked, then every tap removes a lap.
Have another read of what @belzoni suggested, especially this bit…
The only extra thing I’d note is that true/false (lowercase) seem to work better with Glide booleans.
Just to clarify the logic… the Checkbox is not associated with any student/row. The logic of the custom action is essentially looking back over its shoulder to see if there had been a CHECK BOX set to TRUE immediately prior to your button press on the runner’s name.
But I think I see where your challenge is with adding a check box. If you’re doing this on anything other than a DETAIL page, I don’t know of a way to add a component. On the other hand, if you’re using TILES as your buttons, then you can’t do that in a DETAIL page.
So, back to square one? Maybe Darren or someone else knows a way around this.
He should be able to start with a details layout, add the student list as an Inline List (in Tiles layout, or whatever works), and then add the Checkbox component.