pbanaszkiewicz / pitt Goto Github PK
View Code? Open in Web Editor NEWPeer Instruction project for Mozilla and Software Carpentry during Google Summer of Code 2014
License: MIT License
Peer Instruction project for Mozilla and Software Carpentry during Google Summer of Code 2014
License: MIT License
Add chat with these features:
Local streams should be muted by default.
(It's a really interesting effect: people who hear themselves are feeling very uncomfortable).
The fix is easy, we just need to make <video src="..." muted="muted">
element for local stream.
Bug: if we split 5 students into pairs, there's one student left alone. We should always join lone students to the last group.
Enhancement: for the next week I want to be able to specify what size groups of students should be.
Minimal size is 2, preferable: no more than 4.
I want to:
Preferably this should use some nice looking icons. There are some in Font Awesome but I would rather use something smaller.
We lack them.
Right now to start a broadcast 1 instructor connects to ∞ (many) students and instructors.
But I can make students and instructors relay broadcaster's stream to other peers.
Therefore there's still about N
connections, but everyone's helping the broadcaster to get their broadcast to other peers.
The thing is, this is quite hard. I need to know shortest paths between peers (this is low-level stuff, idk if I can get to it) and then use some smart algorithms (minimal spanning tree perhaps?)
As a part of interface improvements for tablets and other screen resolutions, I wanted to put video thumbs under the main video element. I can't, this is why:
Remote streams are additional, I put them as <video>
elements into #remote_streams
div (one after another). They stack vertically, because that div has a fixed width.
I can force these <video>
tags to stack horizontally by floating them. However, scrolling #remote_streams
horizontally doesn't work, because <video>
s, after filling up horizontal space, begin to stack vertically.
If you can't imagine what I'm trying to achieve is: I want to be able to swipe (or scroll) video thumbnails horizontally under the main video stream.
Right now chat is very ugly and very limited. Change it!
This feature was requested by Raniere Silva. I can only guess that many more people are likely to drop Skype in favor of OSS webRTC application.
We lack them.
Menu bar (or tool bar) for instructor is too big and doesn't really look like a proper bar.
Also: look for any JS/CSS solutions.
No-one wants to be interrupted in the middle of the sentence.
We should add a countdown (15, 14, 13… 0) that runs when the instructor wants to switch back from small groups discussions to broadcast mode.
I think this is pretty easy, there's only 1 signal to add and some front-end JavaScript scripting.
If there is a way for browsers to get a video stream with specific resolution, we should definitely do that - it'll help save the bandwidth.
Do a similar sharing system to Sharefest.me (https://github.com/Peer5/Sharefest)
We lack them.
Because this application is based upon pub/sub architecture, we have to propagate the state via signals. Which is hard in case someone joins in or leaves in the middle of some non default state (like students working in small groups).
I have to address two main issues with current design:
In order to use Pitt with calls into/from Mozilla office in Toronto, I probably need a TURN server.
Maybe Mike wouldn't mind if I set one up on his server.
50% volume is too much. Change the GainNode to 25%.
The code right now is quite rough. Looks nice, but it's not easy to install it with npm install
and doesn't use JavaScript patterns that will allow for easier enhancement in the future.
Work started in the branch new_structure.
I'm introducing chat to the application, but the documentation has to be updated as well.
client_pubsub
→ client
server_pubsub
→ server
server_pubsub.js
→ server.js
Change documentation accordingly.
This is quite easy. Current Pitt interface uses Bootstrap v3.2.0, but it's not optimized for viewing on devices with smaller screens.
I want to have a suitable interface for tablets and phones.
I want to have something similar to Google Hangouts. One main stream (either caller or any of the callees), and a strip of thumbnails of call's participants (including caller's stream).
And clicking! By clicking on one thumbnail, I should be able to show it on main "screen".
Add Grunt support for:
Might come really useful. First time I looked at the API there wasn't much of an integration I was hoping for. I mostly want to integrate chat…
The project is for Software Carpentry, under Mozilla org wings. I think we should go with Mozilla Public License.
As above.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.