Giter Club home page Giter Club logo

snoods's People

Contributors

dellard avatar

Watchers

 avatar

snoods's Issues

refactor to split protocol logic from the display logic

The drawable class implements a mix of the protocol logic and the Tkinter-specific idioms of how to make buttons, canvas objects, etc. These should be split out, so if we add another graphics library it's a lot more obvious how to do it without reimplementing everything.

If an object is placed outside the visible area, there should be some indication

If there are two users editing the same whiteboard, but they have different whiteboard sizes, then it is possible for one user to place an object where the other user cannot see it.

When this happens, it would be ideal if there were some sort of indication that there are objects that are not not visible to everyone.

The current server protocol does not include any way for a client to tell it how large its screen is, so this would require a change to the protocol.

client should handle badly-formed messages gracefully

If the client receives a message that doesn't parse correctly, it should not crash.

It may be necessary to exit (once the server starts sending gibberish, the client might never get back in synch) but we want to do this in a controlled manner. In most cases, the client should try to restart parsing as soon as it can.

add support for multiple whiteboards on a single server

The current model is that each server hosts one whiteboard, but it could be useful to have several. This means that the client needs to tell the server which whiteboard it wants to access (and the server might need to tell the client the names of all of the whiteboards).

make the whiteboard area scrollable

Let the whiteboard be whatever size the users want, even if they can only see a fraction of it on
their screen at a given moment; let the whiteboard scroll.

Package for release/install

It's lame to have people drag around tarballs. Make it into a package that pip can handle, or something similar.

the screen size should be dynamic

Some people still have smaller screens than I do... and for them, the controls at the bottom
of the screen (or even the bottom of the whiteboard itself) are not visible.

By default, the client should make a whiteboard that is as big as can fit -- if we can figure out how big that is.

server should handle badly-formed messages gracefully

If the server receives a badly-formed message from a client, it should not crash nor relay the message to the other clients.

In most (maybe all) cases the server should shut down the client connection as well. If the client starts sending gibberish, it might recover, but then again it might not. Restarting is safer, and no state will be lost as long as the server survives.

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.