ahoskins / Winston

an AngularJS schedule builder for UAlberta students
GNU Affero General Public License v3.0
21 stars 1 forks source link

Multi-user "collab" mode (using SocketIO) #32

Open ahoskins opened 9 years ago

ahoskins commented 9 years ago

Things people might want:

  1. View your friend's schedule in schedule view
    • superimposed as a watermark behind your's
    • or maybe two schedules appear on the screen (your's on the left still editable, and friends on the right)
      1. Chat
    • when there's sharing of anything, chat then should be a thing too

Thoughts?

rosshamish commented 9 years ago

I think it could be cool. I worry about feature creep though - chat is somewhat unnecessary imo, because if people are wanting to make a schedule together, they're probably already chatting somehow (and thus our chat would be unnecessary).

I think the intention behind "view your friend's schedule in schedule view" is good, but I think the "share link" idea we had earlier may be 1) easier to write, 2) easier to use, 3) less dependent on both people being online simultaneously (which is unlikely in my experience)

If we want to play with socket.io, we could also use it in course search - this would allow us to eliminate the UI lag associated with search, and also speed it up, since we could cache common searches server-side.

  1. user types in search field
  2. browser sends socket.io event to server like {'type': 'search', 'query': 'biol 108'}
  3. server looks in cache for query
  4. if cache hit, send response. if cache miss, do search (probably still with Fuse.js), send response.