Following up on a precommitment I made in the study hall: I am looking into using the Google Hangouts API for a better study hall. This is also a precommitment to follow up by February 1st with:
some amount of (possibly small) progress
a precommitment for the next date to announce progress by
Preliminary notes:
I have a server I can run stuff from. It’s not super powerful, but it can handle some work if we need things beyond what a static hosted app/plugin xml file can provide.
Ideas for things a Study hall should have are here: http://lesswrong.com/lw/gzm/programming_the_lw_study_hall/ . I suggest moving this to and maintaining ideas, plans, and progress on a wiki page. I precommit to having this done by the next progress report if you (yes, you reading this now, specifically) don’t do it.
Preliminary thoughts on ways to use API to implement things we want:
It seems to me that while Google Hangouts might have been the obvious choice last year, WebRTC might actually work better now. See talky.io for a live demo. This page details how you can roll your own video chat with <20 lines of totally-front-end code. Since it all runs front-end, the cost to the server is no greater than a normal text-based chat client, as far as I can tell.
For a simple chat solution, there are lots of other libraries (I’m familiar with ShareJS for node, which makes this super easy). Honestly I think this would probably be simpler than trying to integrate with Google Hangouts, and it also makes your two “I don’t see an obvious way” issues less issues (still need solving, but there are straightforward solutions) and makes the multiple rooms thing quite easy.
Following up on a precommitment I made in the study hall: I am looking into using the Google Hangouts API for a better study hall. This is also a precommitment to follow up by February 1st with:
some amount of (possibly small) progress
a precommitment for the next date to announce progress by
Preliminary notes:
I have a server I can run stuff from. It’s not super powerful, but it can handle some work if we need things beyond what a static hosted app/plugin xml file can provide.
Ideas for things a Study hall should have are here: http://lesswrong.com/lw/gzm/programming_the_lw_study_hall/ . I suggest moving this to and maintaining ideas, plans, and progress on a wiki page. I precommit to having this done by the next progress report if you (yes, you reading this now, specifically) don’t do it.
Preliminary thoughts on ways to use API to implement things we want:
There is an existing pomodoro app under GPL3 we can use as a base: https://code.google.com/p/pom4us/
We can mute people: https://developers.google.com/+/hangouts/api/gapi.hangout.av#gapi.hangout.av.setMicrophoneMute
We can change the layout: https://developers.google.com/+/hangouts/api/gapi.hangout.layout (also make chat pane always visible)
Things I don’t see an obvious way to do yet and could use help/eyes with:
I don’t see an obvious way to make some users mods
I don’t see an obvious way to ban users or password protect the hangout
Things I will not be focusing on right now:
multiple rooms. We’ll worry about this after we have a working room, and then only if there is sufficient popularity and demand for additional rooms
branching (see above)
It seems to me that while Google Hangouts might have been the obvious choice last year, WebRTC might actually work better now. See talky.io for a live demo. This page details how you can roll your own video chat with <20 lines of totally-front-end code. Since it all runs front-end, the cost to the server is no greater than a normal text-based chat client, as far as I can tell.
For a simple chat solution, there are lots of other libraries (I’m familiar with ShareJS for node, which makes this super easy). Honestly I think this would probably be simpler than trying to integrate with Google Hangouts, and it also makes your two “I don’t see an obvious way” issues less issues (still need solving, but there are straightforward solutions) and makes the multiple rooms thing quite easy.
Good points! I’m likely to switch to this now.