Apple approved it on the first submission. I had a list of the three things I was sure they’d send back, and none of them came up.
I did not expect the week to go that way. After eighteen months of building this on my own, the App Store review had become the part I was quietly dreading. The app is not fragile. What I was dreading is that a first submission is the moment when somebody outside your own head decides whether the thing is real. It came back approved, and Quven for iPhone and iPad is now free on the App Store.
Before anything else, the part that matters more than the announcement.
It is a client, not a media library
Quven for iOS does not come with anything to watch. It’s a window onto a Quven server that runs on your own machine, with your own files on your own disk. If you install it without a server, you will get a sign-in screen and an empty library.
I would sooner say that plainly here than have somebody download it expecting a streaming service. The model has not changed since the first line of code: the library is yours, it stays on your hardware, and every client is a different way of looking at it.
Native, not a web page in a costume
There’s a shortcut available to anybody shipping a mobile client for a server product. You take the web interface, wrap it in a shell, put an icon on it and call it an app. It works. It is also obvious to whoever is holding the phone within about ten seconds.
Quven for iOS is written in SwiftUI. The iPad layout is an iPad layout; nobody stretched a phone screen sideways until it filled the space. Picture in Picture and AirPlay behave the way they behave everywhere else on iOS, because they are the system’s own and I did not reimplement them. Details like that will be invisible when you get them right and insulting when you get them wrong.
You will need iOS or iPadOS 17.
The playback is the part that took the longest
The visible half of a media client is the browsing. The half that decides whether people keep it is what happens after they press Play.
Quven’s mobile clients don’t go through a stock player. They use the same native playback work as the desktop client, which means that when your device can decode the file, it plays the file, with no server-side re-encode done for the sake of having done one. That’s the whole argument for a native client over a browser tab, and it’s also why this took months.
I am not going to claim every format on every device. Why not? Because in video, confident blanket statements don’t stay true for long.
Android is not here yet
The Android client is written and it works. It’s public on Google Play, in one listing that covers phones, tablets and Android TV.
For a new personal developer account, Google requires a fixed number of testers to stay opted in for fourteen days straight before you may apply for production access, and then the application is reviewed. There’s no clever way around it, and there’s no point pretending otherwise, so I will not put a date on it in public. When it clears, it clears.
What I would actually like to hear
Not that it’s nice. The useful feedback is the boring kind: the thing you went looking for and couldn’t find, the screen that felt slower than it should have, the moment you tapped something that turned out not to be tappable.
That’s the list I can act on.
Quven for iPhone and iPad on the App Store
Frequently asked questions
Do I need a Quven server to use the app?
Yes. The app is a window onto a server running on your own machine, with your own files on your own disk. Install it without one and you will get a sign-in screen and an empty library.
Is it the web interface in a wrapper?
No. It is written in SwiftUI, the iPad layout was designed for the iPad, and Picture in Picture and AirPlay behave the way they do everywhere else on iOS because they’re the system’s own.
Is there an Android app as well?
Yes. It’s public on Google Play, in one listing that covers phones and tablets as well as Android TV.
Community
Comments
0 comments
No comments yet. Start the conversation.