Git Product home page Git Product logo

lozya's Introduction

Lozya

A hack on top of Jitsi to create a virtual meeting room where users can sit next to each other to hear each other better.

PROBLEM

Even when it works, teleconferencing still kind of sucks. Only one person can realistically talk at any one time. This is fine for people giving presentations, but in real meetings, people speak over and around each other, or pair off into smaller subgroups, still being able to overhear the larger group.

SOLUTION

Lozya adds a small, RPG-style map to the Jitsi meeting view. It gives you an avatar to walk around the room. Users choose where to sit in relation to other users. Users very close to you are set to full volume. Users a little far away have their volume scaled down accordingly. Users too far away to care about are rendered with zero volume.

  • Visit the current installation at meet.primrosevr.com.
  • Enter a room name and user name. Suggest "FromGithub" for the roomname to meet other people linking from this repo (maybe).
  • Click "Connect" and wait for the connection to go through.
  • If you need to change your microphone settings, click the < arrow in the menu in the upper right corner of the window to hide the map view and give you full access to the Jitsi Meet interface.
  • Once you are done changing settings, use the > arrow in the upper-right menu to return to the map view.
  • Use the Arrow Keys to move your character around.

INSTALLATION

  • First, setup Jitsi Meet on a server of your choice: Jitsi quick-start instructions.
  • Next login to your Jitsi Meet server as root and edit /usr/share/jitsi-meet/index.html and add the following line: <script type="text/javascript" src="jitsihax.js"></script>.
  • Copy the script jitsihax.js from this repo to /usr/share/jitsi-meet/.
  • Edit jitsihax.js, changing FRONT_END_SERVER to point to where you will host the Lozya front-end.
  • Install the Lozya front-end (basically the rest of this repository) onto another server of your choice.
    • Modify "DOMAIN_NAME" in index.html scripts to point to your Jitsi Meet server.
  • You may also want to edit index.html to change/remove the link(s) to this repository and/or my Twitter profile.

Make sure you keep the distinction between your Jitsi installation and your Lozya installation clear. You can conceivably run them on the same server, but I won't be digging into customizing a Jitsi installation enough to figure that out, so my setup has them on separate servers. jitsihax.js needs to go on your Jitsi server, and you need to edit it to point to your Lozya server. index.html goes on your Lozay server, and you need to edit it to point to your Jitsi server.

USAGE

  • Be careful in picking your room name, if you don't want randos to join. Traffic is low right now, but you never know.
  • Try to pick a unique user name. A lot of people use "Test" and then there are a bunch of people with the same name running around.
  • Either Hide the game view or Separate the game and meeting views to be able to access the Jitsi Meet user settings. Lozya captures all of the mouse clicks to enable moving.
  • Click on the map to move your avatar to wherever you want. Movement is instantaneous, with a smooth animation over the transition. Your avatar will stop at walls.
  • Or, use the arrow keys on your keyboard to move.
  • You can roll your mouse wheel to zoom in and out of the map view. This is useful for groups of people standing close to each other to see the detail in ther Avatar.
  • Jitsi Meet's web client doesn't work on iOS! Sorry :(

CONTRIBUTING

Conduct

First, please read the Conduct Policy.

Contributions

If you think you can be a polite person in accordance with the Conduct Policy, I'd be more than happy to add anyone who asks as a contributor. Just email me your profile info and a brief description of what you'd like to work on.

Artwork

Oh man, let's go nuts! I would love to see a wide variety of tilesets for rooms and avatars. Maybe customizable clothing and character features.

Testing

The QA team is the software development team's best friend. Testing releases and filing issues is a huge amount of important work.

Documentation

IDK, I planned on just hacking this together as I went, but I will probaby write some notes on whatever I've done along they way. Let me know if anything is particularly unclear and I'll write something about it.

Client

I'm pretty happy with how the client is working right now, but anyone is free to self-service add features.

Server

I'm currently running an Azure VM in Central Korea region (hello, mid-pandemic resource shortages!) with 2 virtual CPUs and 4 GiB of RAM. Operating System is Ubuntu 18.04. This will cost approx. $75/mo, if left to run constantly.

I set the server up using the Jitsi quick-start instructions (Actually, I followed This video on YouTube, but the directions are largely the same, I just found the video nice to see what to expect for results from each command).

This repository is a set of static Web resources that use my private Jitsi Meet server through the Jitsi Meet Web API.

I'm a software hacker, not a server administrator. There is one file that needs to be copied to the Jitsi Meet install, and one of Jitsi Meet's files edited slightly. Ideally, I'd prefer to fork the Jitsi-Meet repository and install from that, but that's beyond this old Windows developer's Linuxfu right now.

OTHER

What else?

Why?

Cuz why not?

Name

"Jitsi" is the Bulgarian word for "wires", so "Lozya" is the Bulgarian word for "Vines". Apparently, "Jitsi" is also the Swahili word for "Juice", so in my mind, this project is Grape Vines. Yes, I name all of my projects after plants.

lozya's People

Contributors

capnmidnight avatar heinzelotto avatar

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.