While Funkwhale has supported Subsonic clients for a few releases now, one developer has decided to invest time in building a beautiful mobile app specific for Funkwhale users. Antoine Popineau, known by his developer handle as apognu, has been hard at work developing Otter. In his own words:
This project started out because I listen to music primarily on the go, and I was accustomed to have native players for my previous music services.
The development was initially announced on Funkwhale’s governance platform, and a handful of testers and developers have provided feedback to help further the client’s development.
The login screen is straightforward, but can initially be a little confusing. You absolutely need to log in as your username, not your email address. This might change in the near future. This pane shows all of the tracks you’ve favorited from your Funkwhale instance so far. A nice thumbnail view of your albums. The Artists view shows all of the collections associated with artist metadata in your Funkwhale server. A nice bonus! Otter automatically loads your playlists and can play them without issue. This is the search function, returning everything related to a given search term. This is the detail view of a single album, with an option to play all of the tracks. Otter also offers a dark mode. This is the player queue.
An early beta version of the client is available on Google Play, and APKs can be obtained via Github Releases. The developer has stated his intent to also bring Otter to F-Droid in the near future.
These are still early days for the app, and there’s a handful of minor bugs in the current release. When I tested it, I noticed that all tracks from a given collection would be added to the player when I selected one of them. That said, the app is surprisingly stable and well-designed, and works really well with Funkwhale.
One final note: you might want to make sure that your server version is higher than Funkwhale 0.19.0. I had troubles with logging in until I updated to the latest stable release.