television

a simple LAN/WLAN desktop public broadcasting service
git clone http://git.permacomputing.net/repos/television.git # read-only access
Log | Files | Refs | README

HACKING (1578B)


      1 patches are welcome!
      2 
      3 send diff, git format-patch patches, etc.
      4 
      5 possible things to improve:
      6 
      7 - right now kbinani/screenshot is used for taking a screenshot, and I'm a bit
      8 split about it. In theory it should work both under X and wayland so that could
      9 be nice. In practice though, I don't use wayland, don't think I will use it
     10 anytime soon, if ever, so testing and motivation to support this is not great.
     11 Also under X it seems much much much slower than using imlib2 directly. With
     12 the -snap feature, I notice I'm using mostly scrot in place of the default
     13 screenshot implementation, so why not just dropping screenshot and do a fast
     14 imlib2 implementation only for X?
     15 
     16 - when I was pondering which image format to use, jpeg was basically a good
     17 compromise between encoding/decoding time and file size. GIF is super fast to
     18 encode/decode but will generate massive files, and webp is really super slow
     19 for encoding/decoding and the super small file size does not matter given
     20 that encoding and decoding is main task of television server and clients.
     21 image/jpeg was however suprisingly slow so I picked apixiv/go-libjpeg instead,
     22 which when compiled on a system where libjpeg points to libjpeg-turbo is two
     23 times faster than golang's own implementation. Any room to improve further?
     24 
     25 - -idle only works on X, same remarks as above regarding wayland. Worse, I am
     26 not sure it's even possible to detect user activity under wayland :)
     27 
     28 - password, publishing to a public IP, etc. If this is needed, I think it's
     29 probably better to proxy with nginx, use tinc or some ssh tunnel, etc.