/
Social Timetabling

Social Timetabling

Planned Features

1. Share Timetables via Link

  • Save button that will upload the updated/edited timetable to a backend

  • Build a backend

  • Store timetable to database

  • Users can send the URL for their friends to view the timetable

  • User can view their own timetable with the same link from different devices (without creation of accounts)

  • The link is a frozen (other’s cant edit) version → users can import this into their own timetable system(?)

    • Multiple timetables are supported; would be another timetable that is imported into their list of timetables

  • There is also another link which is a live view to a user’s current timetable (this is updated when a user updates their timetable)

 

We will support users without having to sign up still

 

After Accounts is Implemented

2. Adding Friends

  • Through one-time friend links (similar to Discord server invites)

  • Through friend code (similar to Steam)

    • Sacked the idea of using zID because this could be a privacy concern where someone’s name is revealed through zID.

  • A user can choose to turn on if they want to allow their friends to view their timetable (but they have to be friends).

  • By pressing into a friend’s profile, you can view their current timetable (if friend allows)

3. Creating Friend Groups

  • User can have multiple friend groups

  • Each friend group can have a timetable

4. One Timetable amongst a Group

  • Like a Google doc, friends in a group can concurrently edit (can see multiple cursors) on one timetable

  • e.g. A group of 3 is all doing COMP1511, there will be 3 COMP1511 cards (each with one person’s profile to a card) and dragged to a spot they prefer or on the unscheduled column.

    • A person can click on the + on another card to get their profile onto it → deleting their original COMP1511 card.

      • OR

    • A person can drag their card onto the same spot (overlaying before they drop the card) as another card and that would 'merge' the cards i.e. their profile is added to the other card and their original COMP1511 card is deleted.

  • OR everyone should have their own class card (prevents concurrent modification problems)

    • view that can temporarily hide other’s cards

  • Use:

    • CRDTs

    • websocket server to broadcast changes, use protocol buffers for sending data from notangles app to websocket server

5. Shared Events

6. View My Timetables

  • A user can view their timetables from different devices on the same account.

  • User can have multiple timetables (feature to be implemented by T2)

7. User will have an Account

  • This account will store personal data

    • Personal details

    • Timetables

    • Friends

 

8. Overlay Friends' Timetables

 

9. See what classes friends are in

 

Figma Links

Notangles UI v.2

 

 

 

Related content