Replies: 4 comments 3 replies
-
I think this is an incredibly great idea. +1 |
Beta Was this translation helpful? Give feedback.
-
Thank you for opening the discussion. We have discussed this internally in the past. More XMPP clients on iOS == better? --> There is no need for more XMPP clients on iOS. For anyone considering forking an existing XMPP client or developing a new one: Stop, and instead help work on one of the existing upstream projects. One UI, multiple opinions Side note: Designing a chat app like any other chat app might be a pretty good idea for accessibility (especially in terms of voice-over). Speaking for the Monal developers: We are currently reworking the UI. So, if you have any input, feel free to speak up. Now is the time. We are an open source project and contributions are very welcome. “Let a thousand XMPP clients bloom” Rewriting the UI Conclusion Friedrich, Thilo |
Beta Was this translation helpful? Give feedback.
-
There is a simple answer to most of your questions: If no one uses Monal anymore or if we don't get enough donations to keep the push servers running, we will stop working on Monal and Monal will cease to exist. Period. For all other questions, it very much depends on the individual case. And unlike to you I don't see much value in spending my time answering these (or even more) hypothetical questions instead of working on Monal's code or reviewing actual contributions. I've never had a case of contributors fundamentally disagreeing with me about the UI. @CCordeeate and @lissine0 both contributed some code/ui and both know that I'm very open to good arguments and my visions of current and future UI designs have never been set in stone and will never be. |
Beta Was this translation helpful? Give feedback.
-
What do you think about re-licensing to a copyleft license like GPL? the forks will at least have to share their modifications.
But the incidents above are all related to GPLv2 https://opensource.stackexchange.com/questions/9500/is-apple-allowed-to-distribute-gplv3-licensed-software-through-its-ios-app-store Besides, there are GPL apps which have been on the App store for years e.g. https://github.com/tigase/siskin-im/ and https://github.com/signalapp/Signal-iOS (AGPL) And there are weaker copyleft licenses like MPL 2.0 or CDDL or EPL What do you think? |
Beta Was this translation helpful? Give feedback.
-
Posting as a newcomer. I'm a software engineer who uses both Monal and Siskin.im.
Implementing an XMPP messenger on iOS is an extremely heavy lift. And none of the existing XMPP clients on iOS (including Monal) have exceptional UI/UX.
The problem with great UI is that it's generally extremely subjective, and everyone has either an opinion or a preference. This doesn't mix well with open-source community-driven projects, because they're either developed through consensus and UI is hard to reach consensus on, or decisions are made by a benevolent dictator who either doesn't wanna alienate developers that volunteer their energy to the project, or just dictates bad decisions on a subjective, non-technical matter.
One way open-source projects have traditionally found to try and circumvent this issue is by making UI extremely customizable, so that every contributor and user can tailor it to their liking. This causes customization bloat, which in itself is bad UX.
I'm here to discuss a radical alternative. Here's what I propose.
If Monal genuinely wants to support XMPP adoption and experience on iOS, it should focus very heavily on splitting itself into 2 projects:
Most importantly (and strategically) this would allow developers who maybe do not have the energy or whatever it takes to implement a whole XMPP messenger but have a fantastic UI/UX idea to effortlessly implement it in Swift, standing on the shoulders of the giants who shipped project 1. And if project 2 is the best UI to use for XMPP on iOS, well so be it -- that's fantastic!
Let a thousand XMPP clients bloom, powered by the Monal engine.
It's possible this is already very close to reality, and the engine just needs to be published as a Swift package, otherwise codebase-wise it's already completely and entirely divorced even on filesystem, project, and workspace level.
It's also possible (albeit unlikely) that there's already a Swift package for the engine and I've jumped the gun by posting this message instead of doing my homework more thoroughly. If this is the case, I apologize profusely.
What are your thoughts on this?
Much appreciated.
Beta Was this translation helpful? Give feedback.
All reactions