I want to build ann glideapp for our organization’s small book collection, that would be displayed on 2-3 tablets in our loby, so that people would be able to view our books and write responds.
Is there a way to create “anonymous likes/rating” function, that would allow anyone who use the tablets to rate the books (or press like/dislike) annoymously, without signing in, while the ratings would be accumulated? The counting of the likes/ratings are the main issue.
Thank you so much!
Certainly doable, but I think the main challenge with your scenario will be preventing people from pushing like/dislike multiple times in quick succession, and skewing your numbers. For your use case, I think a good approach would be to temporarily hide the components after each use. So you could do something like this:
- Create two basic/number columns to hold your counts of likes and dislikes
- Create a User Specific Column to store the last reaction time
- Create a math column to calculate the number of minutes since the last reaction time. The formula would be something like:
- Now is the current date/time
- LR is the Last Reaction Time
- Now create an if-then-else column:
- If Last Reaction Time is empty, then true
- If mins since last reaction time is equal to or greater than 1, then true
- Now assuming that you use a Button Bar as a “reaction” component (left for like, right for dislike), then each button would have a 2 step action:
- Increment the appropriate counter by 1
- Do a Set Columns, setting the Last Reaction Time to the current date/time
- And finally, use a visibility condition on the button bar component, such that it is only visible when the it-then-else column is
The effect of all that would be that whenever a user tapped either of the reaction buttons, the like/dislike would be recorded, and the button bar would be hidden for about a minute.
Thank you so much! That’s brilliant