Giter Club home page Giter Club logo

Comments (6)

MoralCode avatar MoralCode commented on May 12, 2024

Thank you so much for the feedback!

ClassClock is intended to be used within the local area of each participating school. Maybe i'm missing something, but at this point I don't see any planned or current use cases that would require times to be accurate across multiple timezones. Did you have a particular situation in mind in which timezones would be an issue?

from classclock.

juuyokka avatar juuyokka commented on May 12, 2024

There's a couple possibilities that may cause some issues/inaccuracies:

  1. Using the site concurrently with a VPN (as they may change your apparent location)
  2. Checking the schedule of a school outside of your timezone

The last one was brought to my attention when I gave the site to my friend in Canada (who is in EST).
I am a student at the school and when my friend looked at the site it said "No Class" when I was in 3rd period.

When being accessed in EST, the time was ahead by 3 hours.

Perhaps there could be a query string in the URL to specify the school?

The URL: https://classclock.app?school=[name of school] could be used to specify what school schedule to use. If there is no query string in the URL, then ClassClock would use the schedule of the closest school.

from classclock.

MoralCode avatar MoralCode commented on May 12, 2024

Thanks for clarifying!

Point 1
The site uses the your device's local time as accessed through the javascript Date() function so as far as i'm aware the time displayed should not be affected by your apparent location, only the time set on your device.

Point 2
I see how this could potentially be a useful feature for students to give grandparents in other timezones .etc. I will add this issue to the list of stuff that needs working on, however it might be a while before it gets implemented since due to other tasks taking priority for the moment.

RE: Multiple schools
I do plan to add support for multiple schools and choosing between them, however, with regard to the many school-security-related events that have been happening recently (at least in the US), I would like to try and do it in such a way that ClassClock does not easily become a repository for just anyone to look up any other schools schedule, particularly if individual schools would prefer to keep tighter control over who has access to their schedules.

I am currently working on migrating the school schedule information to a database in order to allow multiple schools to add their schedules at some point in the future, however if you would like to submit a pull request to help expedite the implementation of this feature, feel free to do so!

If you would like, I also have a slack workspace (invite linked at the bottom of the classclock.app webpage) for discussing the development of classclock and interacting with others who are interested in following ClassClock's progress.

Thanks again for your feedback!

from classclock.

MoralCode avatar MoralCode commented on May 12, 2024

Ok, so this feature kinda got lost in the react rewrite, partly because i've not been entirely sure about whether this is something that all users are going to want to use. However I just had the idea to potentially implement this as a user-selectable in the app and/or prompt that the user receives whenever the school's timezone doesn't match the users current timezone.

Say ClassClock detects that the school was set up in PST and the user is in a different timezone (EST). The selection would offer the user two options:

  1. use local time/keep schedule if class gets out at 4pm (PST), ClassClock will display class as getting out at 4:00 EST, preserving the time-of-day accuracy.
  2. use school's time/convert schedule if class gets out at 4pm PST, ClassClock will display class as getting out at 7:00 EST, preserving the schedule accuracy.

For example, the second option would be useful for a parent who is on a work trip and wants to know when they should call their child in order to have them pick up during their lunch period and not during class.

from classclock.

MoralCode avatar MoralCode commented on May 12, 2024

Considering the previous attempts at this were using moment, it seems like this article may be worth looking at, as well as Luxon's docs on how it compares to moment it seems like Luxon is a better bet for this. Especially since relative time seems to now be supported by browsers, which from the comparison to moment, seems like it hasn't yet been implemented in Luxon, but it is.

This would require a pretty substantial refactoring of some of the code to use UTC behind the scenes and set up a conversion "layer" to "translate" times as they pass to or from the UI.

As for the other side of the coin:

Since it sometimes relies on browsers' implementations of the Intl specifications, it doesn't provide some of Moment's most commonly-used features on all browsers. Relative date formatting is for instance not supported in IE11 and Safari (as of August 2020). Luxon's Intl features do not work as expected on sufficiently outdated browsers, whereas Moment's all work everywhere.

Edit: Migrated to Luxon as of 50bb237

from classclock.

MoralCode avatar MoralCode commented on May 12, 2024

Say ClassClock detects that the school was set up in PST and the user is in a different timezone (EST). The selection would offer the user two options: ...

Looking back, these options seem a bit backwards and may not be the most user friendly way to present it. A better option may be to have the options be:

  • "adjust to local timezone" - show the schedule adjusted to your timezone, preserving when class ends
  • "ignore timezone" - assume local time is in the same timezone as the school

from classclock.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.