Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Have teacher/group leader generate groups #121

Open
PatriciaMoller opened this issue May 29, 2017 · 11 comments
Open

Have teacher/group leader generate groups #121

PatriciaMoller opened this issue May 29, 2017 · 11 comments

Comments

@PatriciaMoller
Copy link
Collaborator

While testing at Skansen, the teacher of the group suggested being able to keep track of the students.

Is it possible to have a group leader invite others via email and have those accounts connected in a group?

With the group, they can internally compete with scores. The group leader can locate students with GPS during the time they participate in the activity.

Tracking with GPS feels a bit risky. There's a chance of misuse. I think only the group leader should be able to see their location, and only for a set amount of time/distance. (Eg, estimated playtime + x minutes, x meters outside of activity radius). The students should be anonymous and only a location shown, at least by default.

@pjotrsavitski
Copy link
Member

That is a new feature and has not been discussed before. This is to be discussed first.

@kaimikael
Copy link
Contributor

Did the teacher want this feature in order to track errant pupils? I'm not sure we should put that in our application – that should rather be an arrangement between teachers and pupils (or their parents, rather). Let someone else make that app.

Defining a team on the other hand is a different thing and should be broken out into a separate issue, but it does sound like a sensible idea to me.

@PatriciaMoller
Copy link
Collaborator Author

PatriciaMoller commented May 31, 2017

Yes, I understood it as they wanted to keep track of the students. And I agree that it feels rather questionable.

In that case, we can just disregard the tracking part in this issue?

@PatriciaMoller
Copy link
Collaborator Author

Bumping a bit since this was brought up again during the Helsinki meeting.
Is creating groups still relevant? The main pros, in my opinion, in doing so would be:

  1. Keeping track of the group members' progress
  2. Sharing the activity to the group before arriving to the location

Was there a way to reuse the current view were admins could see the active users?
Since the active instance of a game has an unique URL, wouldn't it be possible to have the player generate a QR code that the leader/teacher scans? That way the teacher could create a list of the relevant sessions, even if the player is anonymous.

@pjotrsavitski
Copy link
Member

  1. This is a valid point, although we did talk about adding some date and time filtering possibility to the results page, also thinking about making results for activities of a person available.
  2. We did talk about that in conjunction to QR code that would have the URL of the activity. It was not in the context of the group, at least as much as I can remember. It could be made so, if needed.

The reusing of current view would be to allow creator (not teacher, as we do not have such role) to see the responses to the activity (games). Adding some filtering possibility would allow to scope the shown results (although it would not limit it only to the members of the group).

Each instance of the Activity (serving as a blueprint) called Game (belonging to just one user) has a unique URL (the Activity itself also has a Full View page with a unique URL). We could generate the QU code for the Activity page, not the ones for Games. As for creating Games (anonymous) in advance, it will not be possible (the issue #131 is the reason for that; each anonymous Game would be strictly tied to the device that started it).

As for creating Groups. We would need to have it though through and get the details of how those work before implementing the feature. It could be done in many different ways.

This is one approach, a fairly minimal one: user creates a Group (with some attributes and unique identifier; the only needed data is the unique identifier and the information about the creator), then the group is somehow connected to the Activity, a URL is generated (maybe also QR code) and used as a gateway into starting a Game, any Games started are connected with the Group and are then shown somewhere to the Group creator, Groups are private objects and are not really listed to others (except for the admins, maybe), anyone could start the Game with that URL (maybe there is some limitation to it).

Even this simple approach could arise many questions, answers to those would affect the implementation details. I suppose that we could do that as it does not involve any need to know how many participants would be in the group, their personal information or anything else. The downside is that each game will still be anonymous (do not really have to, as they could register an account and start the Game afterwards). Still it leaves a lot of space for usage in many different ways (the less strict logic it will have, the more different ways to use it would allow).

An example of one such question: should everyone be allowed to create Groups or should we have a special teacher role for that purpose.

If possible, then it should be decided soon as we are approaching the end of October and this is a new feature that could possibly introduce a few more.

@PatriciaMoller
Copy link
Collaborator Author

I think that sounds adequete.
So basically, you could have the option of either just starting a game and creating a group session?
If creating a Group Session, the leader will be given a QR-code. The Group Leader could then access a list of players who used that specific QR to enter the Game.
I don't see the need to much more info to be shared/used.

I think anyone should be able to create groups. This removes the need for a separate role.

What other possible question would there be?

@pjotrsavitski
Copy link
Member

I suppose that the options could be transparent. The URL you will be given will just hold a special fragment/parameter that would signal the logic that created new individual Games to mark that as belonging to some Group.

The QR code could hold the URL with that special little something. It could also be there in the form of a URL (provided that is the preferred way to share for that person). The Group Leader could then access some place (I suppose the group page or a page that is linked from the group page that would show the results listing).

I will have concrete questions one I start implementing the feature, but you could notice the OR cases in some of my comments, this means that things could be done in different way. The visuals could also be different. There could also be a question of connecting Group to Activity, if that is the case of one Group per one Activity (these kind of form a whole) or different activities could be linked to the same Group somehow.

@PatriciaMoller
Copy link
Collaborator Author

PatriciaMoller commented Oct 19, 2017

Instead of "Group" and "Group Leader", perhaps "Lobby" and "Lobby Owner" are a better phrases for what I had in mind in my last post. So more of "One group for one activity", rather than a group that can collectively be assigned to play an activity. The one who generated the QR would be able to see who is in the lobby.
Would the groups/lobbies need some kind of expiration time?

I sketched a slightly different Activity page.
actvity page

Maybe that "Get QR" could be a "Share" or "Create Group" (or Lobby) instead. Pressing it would show a QR-code and a link for copy/pasting

@pjotrsavitski
Copy link
Member

I am not sure about the expiration time, although that could be added with ease. Yet it would require the user to add some input for that.

The creator/owner of that group/lobby would be able to see any games that have been started based on that. Pretty much the same logic we have now, just the scale is smaller.

I suppose that one person could create multiple groups/lobbies for each Activity?

One more thing we would need is to show the user a list of all lobbies created, somehow. These might be shown within the activity view or somewhere within the dashboard (or some other private page) area.

Should there be a possibility to remove the lobbies once these are no longer needed?

@PatriciaMoller
Copy link
Collaborator Author

Do you mean being able to create more than one Lobby for one Activity, or, one Lobby per several Activities?
I guess the purpose of having several Lobbies for one would if the leader of a bigger group wanted to split the list up. I can see the use, but maybe don't find it super-important.
To be able to create Lobbies for several different Activities sounds good. Either to be able to give options to the group, or to move on the next without having to go back and forth deleting and creating a new.

Would there be any performance issue, or the like, if there were to be too many lobbies in existence? If it would be a problem with too many Lobbies, then an expiration time and/or manual delete button would be needed.
I think your created Lobbies should be accessed via a "My Lobbies" or "Lobby History". If the site can notice that you already have created a Lobby for an Activity, it could say "You have already created a lobby for this Activity, manage you Lobbies in 'My Lobbies'"

A manual deletion option would be handy for any misclicks and mistakes though.
What would happen to the results when a Lobby is deleted? Since the Lobby would more or less just be able to see a list of players, that list would be gone thus the "filter" used for viewing the progress/results as well. Should there be any way to save the results (eg. Export table to Excel, make it copy/paste friendly, email results), or just have them screencap?

Would it make sense to require log in to enter a lobby, or have that option when creating it, to make it easier for the leaders (mostly teachers probably) who want to make sure their students actually fulfills the task?

@pjotrsavitski
Copy link
Member

Yes, I did mean having more than one lobby per Activity per User. The one Lobby for several Activities does not seem to be meaningful and does not correspond to the current implementation logic.

Being able to create new Lobby for the same Activity could work well when teacher has multiple different groups that need to be separated (maybe new group per month). But that would mean a logic that has the management of that (somehow).

Creating a lobby for several different Activities is also possible, but we are talking about a totally different functionality, compared to the initial one (at least it seems so to me).

There would be no technical issue with having multiple Lobbies. Just the need to create some management for those and assign some names, so that those could be differentiated.

Detecting and showing a message is doable.

Lobbies could have a normal management/action cycle (create/update/delete). Update would just allow to change the title. Deletion would not really have any effect on the data. The lobby container would be gone and the grouping possibility lost. Your point with the filter is correct, I was thinking of a lightweight solution and it would just act as an "way to see related games".

Did not think of the exporting possibilities. Would prefer not to send an excessive emails. The SCV export could be added, but I would stick to the same view that we have right now (listing all games for activities for admins).

If the solution is lightweight, then less intrusion into system logic would be better. We could show some suggestion text for that. But am not sure if we would need to enforce it. If there is a need for that, the teacher could explain that well enough.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants