This post is about how changing the training schedule. And maybe any schedule, which is why, as it seems to us, there are so few projects that deal with any schedule. And if they do, they complain about its irrelevance.
We are engaged in the
schedule of universities in mobile applications (we have already
written about it ), we have applications for iOS and Android, is about to be released under Windows Phone. In order to put everything in its place, we first write how everything happens, or rather, where the schedule comes from.
Adding a schedule
If we want to publish the schedules of the university / faculty in our mobile applications, then we need to get it in our format. To do this, we provide the university with
our JSON specification (in case it has a schedule in the electronic database) or a
template in the excel file (if not).
')
After filling a file or creating a JSON schedule appears in our database and then published. There is another option that if we find the electronic schedule ourselves, then we parse it, but it turns out essentially the same JSON. Problems begin when the schedule begins to change.
Schedule changes
If on the website of the university hang files with a schedule in the format of doc or xls, then there are changes, as a rule, are not reflected, once hung - and then thank God. Of course, we try to deal more with universities, which have a schedule in an electronic database.
In our applications, each pair has a "Report Error" button. This message comes to us in the admin panel, where we manually correct the error and while we are coping. It is clear that you can try to shift this task to the students and make it possible for them to edit the schedule themselves. But more about that later.
Well, here we encountered the following: students send a mistake in the schedule, but it is not reflected on the website of the university. This can occur for various reasons. For example, because the students themselves have agreed with the teacher, and forgot to put the department / dean's office / manager. Or they have not forgotten, but the dispatcher has marked it on a piece of paper, but it is not necessary to give it to the electronic database. If we update the schedule via JSON of this university, then all the errors that were made by the students are overwritten. Which is not very correct in terms of the fact that students often have more information about their timetable than deans.
We decided to make a system of priorities: if there is a check mark in the base of the university, then it is checked whether corrections were made, and if they were made, it is not updated. If the checkbox is not present, it is immediately updated via JSON. We understand that the system is imperfect.
Ideally, it would be possible to try the mistakes of students to return to universities, so that they would make changes at their place. So, probably, it would be the most correct, and we will no doubt be trying so well with those universities that cooperate with us.
Independent schedule editing
On the other hand, we strive for independent editing, when a student can transfer or cancel a pair in the application, add a new one. We have not done it yet, we are not in a hurry, we are watching how it, in principle, is changing, we are watching the process. But so far the following system has been planned:
- To change the schedule, the student must log in. For example, through Vkontakte or in our own registration.
- He can click on a pair and select “Edit” in the pop-up menu.
- There he can change all the parameters for the couple and put a tick "Suggest to others", which implies - to offer this change to the schedule for the rest of his classmates.
- If he ticked, then the groupmates receive a notification with the "accept change" button. If at least three people click on it, the change will take effect not only for these students, but also for the rest of the group.
- The teacher only pops up a notice that the pair is changed by such and such parameters.
What do you think? Do you have experience that you would like to share, or any other comments?