As someone who's been working for years on pretty much exactly what you're talking about, I think you might be severely, underestimating how much work this really is.
Especially if you don't have much experience with modern web dev.
Why not get involved with an existing project?
If you don't like the Converse.js UI/UX and want something different, you can still use it in "headless" mode and build your own UI on top of it.
@jcbrand believe me, I'm thinking very hard about the amount of work involved.
Whether to use an existing base like Converse or another project as a base is something I'd love to get into a long discussion about, with the particular UX goals I have in mind and how to get there.
This would be a massive learning project for me, and my biggest initial hurdle is figuring out what exactly I need to learn - what could meet the goals I have?
> my biggest initial hurdle is figuring out what exactly I need to learn - what could meet the goals I have?
Difficult question to answer, but if a simply, easy to use UI/UX is most important to you, then I would start with designing that.
Start by creating a static HTML/CSS mockup of the UI that you want. Potentially using something like Bootstrap or Semantic UI.
Here's an example of a static mockup for Converse: https://conversejs.org/mockup/chatroom.html
Then learn Vue.js or React and figure out how to break the UI down into components.
Then, include converse/headless via NPM and call its API to log in, start a chat session, send/receive messages etc.
An alternative approach, is to see how the current Converse.js UI could be simplified and changed to your needs and make the necessary changes there.
That's probably less work.
@jcbrand it's exactly this "learn Vue or React" part I'm looking to chat about. I'd like to get some experienced input into pros and cons of various platforms for tasks like this and help me with dumb questions and full in some gaps.
It's not like I'm coming from having never done any programming at all. I'm looking to discuss the goals and narrow down the truly staggering amount of possible tools.
I can't say much about Vue.js versus React. I'm not using either for Converse.js :)
That's mostly because I'd rather add new features than spend my time rewriting on top of a newer framework.
From my own research, I'm a bit more partial to React and I think there's a decent chance that Converse.js's views will eventually be rewritten in React.
@jcbrand I'm leaning towards learning React as it's so common, but I think the Facebook connection is irrationally putting me off.
Generalistic and moderated instance. All opinions are welcome, but hate speeches are prohibited. Users who don't respect rules will be silenced or suspended, depending on the violation severity.