Open Collective
Open Collective
Loading
Starting work on "Prav for iOS"
Published on November 2, 2024 by Badri

We are nearing our target of $600, with just under $50 more to go (help us get there!) which means it's time to start working on the next steps.

To avoid duplication of work, we waited for the iOS release of Quicksy before we started working on Prav iOS. Quicksy iOS is based on Monal and (as you may expect) implements signing up via phone number, so we can reuse the same code for Prav without having to redo it. It also handles the contact discovery - finding people in your address book who have a Quicksy account or use a Quicksy-compatible app. (There are many apps that implement XMPP, the protocol used by Quicksy – e.g. Monocles Chat on Android, Dino on GNU/Linux, and the original Monal upon which Quicksy itself is built).

Now that Quicksy iOS has been released, we are talking to Vaidik, who was Google Summer of Code student with Monal, to make an iOS version of Prav as well. He is planning to start work around the second week of this month, so we hope to be able to share more concrete progress soon.

To start with, Vaidik will be reaching out to Thilo to find out how Quicksy for iOS is handled and where Prav code would fit in.

Custom usernames

Meanwhile, we are also raising funds to implement a long-awaited feature - that of entering a custom username to hide your phone number from other users. Please consider donating to that campaign as well.

Ajay from Softrate has already started working on this feature for Android, which includes setting it up on the backend as well. Once the backend is ready, it'll be easier for Vaidik to implement the same feature on Prav iOS too. We hope to support custom usernames on Prav iOS from the day it is released.

Deploying to the App Store


iOS development is a bit more complicated than Android development—it's not easy to simply install an APK for testing the way you can on Android. For this reason, the initial testing and development will be done using an emulator.

To develop and test the app on a physical device and to publish it to Apple's App Store, we would require an Apple Developer account. This costs about $99 a year, but we would rather that money go to a Free Software project rather than Apple. To this end, we are exploring a few options:

  • Once the app is ready, we will ask Thilo, creator of Monal, if he would be willing to publish Prav on the App Store on our behalf. If so, we could pay Thilo the cost of the Apple Developer Account and some reasonable compensation for the extra work he would have to put into building and publishing Prav. Since Thilo is already publishing Monal and Quicksy under that account, having another XMPP option there would fit in. (We also want to keep the difference between Prav and Monal to a minimum, ideally even maintaining it in the same repo.)
  • If that doesn't work out, as an alternative plan, we will explore options for some other Free Software project, that is already paying for an Apple Developer Account, who would be willing to host Prav under that account as well.
  • Failing that, we would have no choice but to register our own Apple Developer Account. In this scenario, we could keep it open for other Free Software projects who may want to publish with us.

If all goes well, then before too long, we should be able to offer Prav to iOS users as well!