Hi, I’m a complete useless lurker who do not know anything about programming, and I want to program an XMPP client :D. I have absolutely 0 competence, but I’d like to know if there is a language preferable to make such things, and if there is a place where I can start to learn. I tried with some basic tutorials and general lessons about programming, but without a clear goal I got bored and stopped after a little while. Thanks in advance for every advice/insult!
Flutter might be a good option. Maybe best would be if you can contribute to an ongoing effort to write a new XMPP client in Flutter here: https://codeberg.org/moxxy/moxxyv2
Thanks for the suggestions and the link :). Just briefly looking to the project it sadly doesn’t seems too different from conversetions and forks, but I will check more deeply. Thanks again!
Its a completely different code-base, no relation to Conversations at all. The screenshots in the readme are quite outdated.
@poVoq@lemmy.ml do you know where I could find an apk for moxxyv2? I am not an expert at all and don’t know how to build applications.
I don’t think the developer considers it ready for non-developer testing yet. But I guess it should not be difficult to build with the Flutter SDK.
First decide on a platform, then language. Do you want to make a windows gui client? Apple? Mobile? Web? *nix console?
GUI is the hardest part of programming on pretty much any platform, especially compared to how simple XMPP is.
Javascript/web is probably easiest for a beginner…
You’re right, I’d like to develop for android, and I prefer to learn something else than JavaScript. Thanks for the answer and the info of course :)
In Android land Java is the go-to language. But there’s already an abundance of XMPP clients on Android. Do you have ideas for specific features you would like to develop in particular that you could not find in an existing client?
I will think about java, thanks :). Clients I used (conversations and forks) usually lacks a lot of the visual “hints” presents in other applications. E.g. there is no way to answer to a specific message, there is no way to “pin” messages, different messages from the same person aren’t easy to identify, overall experience is not great compared to modern instant messaging apps like WhatsApp/signal and can be frustrating… there are a lot of things that I would love to see, but I understand that they will not magically appear if no one will work on them
There are some underlaying reasons why some of these features do not exist, it is not (only) because the client developers do not want to implement them.
I think this could be done even on client side, at least I have some ideas (e.g. “pinned” messages could be just messages with a “room” tag locally saved on the device and chronologically ordered; answering a message can be implemented with markdown and a local search for the message when tapped on it). Of course I have absolutely no idea how hard it could be :D
I am no Android developer but apparently you can use Kotlin for that:
Yep, I thought about Kotlin, maybe if I can learn that I could help jerboa development too :D
My wife uses iPhone. So you should learn Swift and make a reliable XMPP client on iOS, which always notifies my wife when she has a new message.
Has she tried the latest Monal release? I think there were some improvement for push notifications.
At least Snikket server and the iOS app for Snikket (based on Siskin) have reliable push notifications on iOS for sure.
P.S.: the problem is of course iOS and not XMPP :p
Yes, she did. I’m going to try @snikket_im@fosstodon.org’s server maybe next year. Thank you.
I think snikket is the best iOS xmpp client!
When the notification doesn’t work correctly on my wife’s phone, it is neither iOS’s nor XMPP’s fault. It is mine.
Or maybe hers because she just pretends to not get them ;)
No, she didn’t. I saw the client didn’t work.
I never used an iPhone or iOS in any way, so I don’t think this gonna work :)
If you’re into golang, mellium.im looks like a decent library (i played around with it but nothing serious). It’s evolving rather quickly although it’s still lacking behind in features, but the maintainer is friendly and very welcome to devs using the library to find out the pain points and missing features.
Thanks! I will surely check on that!