my first toys: the meeting time matcher wave gadget

    Gathering in groups of three or more is a common practice for people.
    Sometimes you can call and arrange a place and time for a meeting, sometimes you can announce a meeting on your blog.
    However, the situation can become much more complicated if you do not collect a party for your birthday in your native village, but an online meeting with participants from all over the world and, as a result, in different time zones, which are only in Russia 11. So, when Wednesday, someone may already have a Thursday, and choosing the best time for a meeting may turn out to be non-trivial.

    The gadget I made is intended just like that for such situations.
    • the organizer inserts a gadget into the ad and indicates the dates when the meeting is supposed to be;
    • participants mark the time on the plate when they are free these days, and their choice is remembered;
    • the gadget shows how many participants can be online for each time interval;
    • all participants see the tablet in their own time zone, but if they wish, they can switch to someone else’s, see “how much time he will have”;

    image
    You can see in action in this wave the
    URL of the gadget to be inserted into the waves with the button "install gadget by URL" is in the "help" tab.
    And in a separate wave there is an installer with a convenient button so as not to soar with URLs.


    The algorithm itself is very simple - for each interval allocated to the participants, intersections with all others are searched for and the number of such intersections is considered. That is, the order of n * m for each schedule update.
    (I naively believed that I would draw the gadget in two sittings. However, I got 80 priests, about a dozen sessions.)
    Along the way, a jquery-ui widget was drawn for the “free time” graph,
    as well as a prototype Date object with the ability to select a time zone .
    All this is hosted on Google code .

    Criticism and suggestions both in terms of functionality and code are strongly welcomed here in the comments or in the demo wave.

    Also popular now: