Lover of all things good in life, including Family, Friends, Food, and Functional Programs. Nodejs hacker and teacher.
Thanks for checking it out, glad you enjoyed it!
Thank you for voting. We will definitely put more effort into cross-browser compatibility. Follow us on twitter (@metaphor_io) to stay up to date on updates.
While the design needs a fair bit of work, we were running up to the last minute on this.
The application itself allows a person broadcast a video stream with many viewers. It really needs design work to make much of the function obvious.
Thanks for the vote anyway.
Yeah, the technical aspects are definitely hard. Part of the problem is that even if they start at the same time, computers playing music will tend to "drift" over time. My friend tried something similar in college using java, and even with a legit NTP lib and more precise timing he had a lot of trouble getting it to sync properly.
I really wasn't a fan of the m4a either :(. This was my first time using the webaudio API, so when I came up with the idea, I wasn't sure what it could do. I'm hoping mp3s will be better supported in a later spec. I haven't looked too deeply into the differences between the formats, but I wasn't able to get the mp3 to play reliably on chrome stable.
I'm suprised that the sync got really bad using a wifi laptop and wired desktop. I definitely need a few more tests and to clean up the code before open-sourcing it. In testing my ubuntu desktop tended to lag more than other windows and mac laptops, but I had chalked that up to a difference in audio between OS's. I think the NTP calculation I made worked okay, but there could be a problem there - I'll look into it.
I hadn't seen appjs or node-webkit before. My first instinct was actually to build something not for the browser, but when I read that the rules wanted webapps, I adapted it slightly. I like the p2p idea - seems like a better fit for how you'd want to use this app anyway. You might be able to get less network jitter too (assuming you're all in the same physical space).
Also, awesome work with cloud9 and howtonode. I've been kicking around an idea for awhile for making a distributed K/V store using your node-leveldb bindings. Thanks for all the great libs.
The idea was that if I have to go to a site to track start/stop of tasks, I won't do ot (been there), but if everytime I go online I'm xmmp connected already, then the bot can uses that to ask me what I'm working on. Don't go to the timetracker, let the timetracker comes to you.
Thanks! That exact stuff is what we were trying to add at the last hour, but didn't make it. Great feedback, very appreciated.