this post was submitted on 12 May 2022
14 points (100.0% liked)

Open Source

31118 readers
294 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

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!

top 23 comments
sorted by: hot top controversial new old
[–] poVoq@lemmy.ml 6 points 2 years ago (1 children)

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

[–] Jama@lemmy.ml 1 points 2 years ago (1 children)

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!

[–] poVoq@lemmy.ml 2 points 2 years ago (1 children)

Its a completely different code-base, no relation to Conversations at all. The screenshots in the readme are quite outdated.

[–] garret@lemmy.ml 1 points 2 years ago* (last edited 2 years ago) (1 children)

@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.

[–] poVoq@lemmy.ml 1 points 2 years ago

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.

[–] electrodynamica@mander.xyz 5 points 2 years ago (1 children)

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...

[–] Jama@lemmy.ml 2 points 2 years ago (2 children)

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 :)

[–] southerntofu@lemmy.ml 4 points 2 years ago (1 children)

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?

[–] Jama@lemmy.ml 1 points 2 years ago (1 children)

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

[–] poVoq@lemmy.ml 1 points 2 years ago (1 children)

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.

[–] Jama@lemmy.ml 1 points 2 years ago

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

[–] brombek@lemmy.ml 3 points 2 years ago (1 children)

I am no Android developer but apparently you can use Kotlin for that:

https://developer.android.com/kotlin/

[–] Jama@lemmy.ml 2 points 2 years ago

Yep, I thought about Kotlin, maybe if I can learn that I could help jerboa development too :D

[–] southerntofu@lemmy.ml 1 points 2 years ago (1 children)

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.

[–] Jama@lemmy.ml 1 points 2 years ago

Thanks! I will surely check on that!

[–] vi21@lemmy.ml 1 points 2 years ago (2 children)

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.

[–] poVoq@lemmy.ml 2 points 2 years ago (2 children)

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

[–] vi21@lemmy.ml 2 points 2 years ago (1 children)

Yes, she did. I'm going to try @snikket_im@fosstodon.org's server maybe next year. Thank you.

[–] sexy_peach@feddit.de 2 points 2 years ago

I think snikket is the best iOS xmpp client!

[–] vi21@lemmy.ml 1 points 2 years ago (1 children)

When the notification doesn't work correctly on my wife's phone, it is neither iOS's nor XMPP's fault. It is mine.

[–] poVoq@lemmy.ml 2 points 2 years ago (1 children)

Or maybe hers because she just pretends to not get them ;)

[–] vi21@lemmy.ml 1 points 2 years ago

No, she didn't. I saw the client didn't work.

[–] Jama@lemmy.ml 1 points 2 years ago

I never used an iPhone or iOS in any way, so I don't think this gonna work :)