3 ms·
Very happy for Matt and the Prosody team. This is further validation of their good work. We use Prosody successfully for powering the signalling in Jitsi Meet.
by saghul 4y ago
Very happy for Matt and the Prosody team. This is further validation of their good work.
We use Prosody successfully for powering the signalling in Jitsi Meet. Its extensibility has allowed us to develop many many features easily.
- solarkraft 4y agoMy one experience with Prosody was writing a plugin to extend Jitsi Meet to show a list of the available conferences and their participants before you join (never got around to developing it beyond the prototype stage, but at least a deliverable that came out of it is a thorough explanation of how to use lib-jitsi-meet that I felt was missing: https://github.com/solarkraft/lib-jitsi-meet-demo https://github.com/solarkraft/lib-jitsi-meet-demo - I still believe the feature to be important for allowing spontaneous meetups -don't you want to steal my idea?). What the hell, I hated it. The parts I needed were super under-documented and Lua/their implementation of it lacks so many features normal languages have - I had to copy a lot of things together from the web to answer basic questions like "what properties does this object have". To their credit the people in the chat room were very responsive and helpful; I probably should've asked there earlier instead of making sure I don't ask a redundant question. How do you develop your Prosody plugins? Did I miss some obvious way to set things up so that it's actually convenient? I used the Docker Jitsi Meet setup. And, while you're here, maybe you could explain the reasoning behind break-out rooms not just being their own conferences (or so it seems to me).
- MattJ100 4y agoProsody developer here. Sorry that your first experience developing with Prosody was a poor one. I think about this a lot - we've had a lot of people come from the direction of Jitsi, wanting to extend things for various purposes, and I understand that, depending on what you are trying to do, it can be like jumping in at the deep end. All at once, not only do you have to suddenly grok Lua and Prosody's APIs, but also XMPP and the way that Jitsi uses it. Prosody's API documentation typically assumes you understand XMPP concepts and what you are trying to do with them. I also generally only hear from people after they've already tried and struggled (they either reach out then, or I hear the story later on after they've given up). Unfortunately this means we don't get much useful feedback from folk like you who are trying to build upon the Jitsi/Prosody duo. I've thought about some Jitsi-focused developer docs, and possibly even an additional API layer that presents things using high-level Jitsi concepts rather than the low-level XMPP concepts. But I don't know how much demand/interest there actually is, or whether I'm even barking up the right tree with these solutions. Anyway, this is something I'm aware of and I appreciate any specific feedback - you can email developers@prosody.im to reach us.
- KRAKRISMOTT 4y agoI don't think the difficulty of the Lua language is the issue. Lua is very easy for web developers (same abstraction level as JS). The issue is that a great number of Lua developers enjoy abusing the metaprogramming functionalities for basic APIs. Not everything needs to be a meta table, a simple method call or getter/setter function is more than sufficient.
- solarkraft 4y agoThanks for responding! I did find it a bit hard to understand how Jitsi Meet works with XMPP and documentation on that would make development much easier (finding the right events to listen to, for example). Understanding XMPP was a bit of a hurdle as well, but I found it rather easy to clear (just some effort) because the specification is very clear. The hardest parts were really the Prosody bits. "Why does my plugin not load", "What the hell does this method return", "Which methods are even available", "So how the hell do I actually use this WebSockets plugin now" - stuff like that. I don't remember the specifics very well because I did it a while ago, but few end-to-end tutorials with tips on finding the answers to my questions (where in the code do I have to look/what can I infer from it?) would likely have helped a lot. This interaction may just encourage me to have a look again. I'll keep in touch this time, thank you for caring.
- nirvgorilla 4y agoI really like Jitsi Meet. In about 30 minutes I went from nothing to a fully working Jitsi Meet server and a fully working Excalidraw whiteboard! Now I use Jitsi Meet all the time for quick discussions with random people about all sorts of topics of interest to me. https://www.youtube.com/watch?v=4rlffwHUchk https://www.youtube.com/watch?v=4rlffwHUchk Granted it took me months to get to this point being new to Linux and not knowing anything about Prosody, Jibri, or even what a repository is. :D
- atsmyles 4y agoThank you for Jitsi. I use it all the time.
- siparikh 4y agoI agree. Matt and his team are very active in the community helping others implement Prosody and make use of XMPP. He even took the time to provide me with helpful feedback a few years ago[1] when I took my first steps with XMPP. [1] https://samirparikh.com/blog/this-is-how-you-run-an-open-source-project.html https://samirparikh.com/blog/this-is-how-you-run-an-open-sou...