Skip to content
Snippets Groups Projects

Added October update

Merged Ciarán Ainsworth requested to merge 2022-october-update into main
2 files
+ 183
96
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 67
0
 
Title: 2022 October update
 
Date: 2022-10-30
 
Authors: Sporiff
 
Category: Announcement
 
Slug: 2022-october-update
 
Summary: Before the trick-or-treaters run us all off our feet, let's take a moment to look back at the month's progress 🎃
 
 
It's been another (very) busy month here at Funkwhale HQ. Before the trick-or-treaters run us all off our feet, let's take a moment to look back at the month's progress.
 
 
We had an unexpected, but very pleasant, surprise to start our October. [NLNet] approached us and offered us an additional pot of money to complete tasks during the month of October as a last push. Naturally, we accepted the offer. As you can imagine it made the month quite hectic!
 
 
## New audio player
 
 
One of our funded tasks this month was a complete rewrite of our audio player. Previously, we used a Javascript library called [Howler](https://howlerjs.com/) to handle our player and queue. Howler has served us well for many years, but we wanted to start expanding on our audio capabilities. [@wvffle] has spent the month working on rewriting our player and queue logic from scratch. He's replaced Howler with web audio APIs and has crafted new logic to make managing your playback and queue quicker, simpler, and more robust.
 
 
Switching to web APIs also opens the door for future development, such as an equalizer and a visualizer. We're incredibly excited to see what we can do with this to make Funkwhale better. Thanks for all the hard work [@wvffle]!
 
 
## Improved SPA manifest endpoint
 
 
One of our projects this month was to align our SPA manifest endpoint more closely to the specs. We've added a new serializer to this endpoint and updated our assets to match. This will provide a much cleaner PWA experience going forward. Thanks to [@georgkrause] and [@wvffle] for their work on this!
 
 
## APIv2 foundation
 
 
Funkwhale's API has served us well for the last few years. However, as we look to the future we decided we want to give ourselves a fresh start. To support this, we have introduced a new API path for Funkwhale: `/api/v2/`.
 
 
You can see this in action on [Tanukitunes](https://tanukitunes.com/api/v2/instance/nodeinfo/2.0). Currently, we don't have any new endpoints set up on v2, but we can now serve data on this path. We've got some big plans for where we want v2 to go, so this was an important step. Thanks for all the work on this [@georgkrause]!
 
 
## Reduced latency with reachability task
 
 
Funkwhale is a pretty chatty app. To keep up-to-date with federated instances, pods have to talk to each other pretty frequently. This can lead to quite a lot of resources being used. While looking at our logs, we noticed we were receiving quite a few communication failures due to pods being offline or unavailable.
 
 
[@petitminion] took some time this month to address this by creating a new task that checks the availability of pods on the network. If a pod isn't available, this information is stored in the database. Once it comes back online, this is updated and the last reachable date is recorded. We can use this information to stop calls to unavailable pods, reducing the resource usage. Thanks [@petitminion]!
 
 
## New developer and contributor documentation
 
 
[I've][@sporiff] also been pretty busy this month. One of the items we decided to tackle were the last documentation rewrites. This included our developer documentation and contributor documentation. As of this month, every single piece of documentation has been overhauled, and all reStructuredText files have been replaced with Markdown files 🥳
 
 
We hope the new documentation makes it easier for people to get involved with the project!
 
 
## Recommendation system testing
 
 
[@petitminion] also took some time this month to do some investigation into the [troi recommendation playground](https://github.com/metabrainz/troi-recommendation-playground). This is a collection of tools made by the [Metabrainz foundation](https://metabrainz.org/) to facilitate music recommendations and playlist generation.
 
 
As part of this investigation we've drafted [a feature spec](https://dev.funkwhale.audio/funkwhale/funkwhale/-/wikis/specs/troi) to showcase how we might be able to integrate this feature in future. We haven't got any plans for it yet, and the library still isn't stable. However, all signs point to it being compatible, so we're keeping it in our minds!
 
 
## New collections spec
 
 
One of the biggest issues facing Funkwhale users is content curation. Funkwhale's library system grew organically with the platform. It's been there since the beginning and has been tweaked with each new update to user access and sharing. We know that our current tooling doesn't suit everyone's needs, so [@mjourdan] spent some time this month coming up with a solution.
 
 
Following a [long discussion in our forum](https://forum.funkwhale.audio/d/214-whats-wrong-with-libraries-and-a-path-to-fix-them) as well as some online meetings between the team, we've come up with a direction we're happy with. The resulting spec for the new **Collections** mechanic [can be found here](https://dev.funkwhale.audio/funkwhale/funkwhale/-/wikis/specs/collections). There isn't a timescale for this yet, but [@mjourdan] has already done a lot of the hard work by providing the logic and designs.
 
 
## Anything else?
 
 
Phew, that was a lot to go through. This month has been dominated by these funded tasks, but we've also been busy fixing bugs for 1.3.0 and have received a few nice contributions from community members. We'll talk about these when they're released!
 
 
One other thing we've been doing this month is discussing changes to our release cycle. 1.3.0 has been in the making for nearly a year now. While this has been necessary due to the number of underlying changes, we don't want to leave you waiting this long again! We've opened up a discussion [in our forum](https://forum.funkwhale.audio/d/223-funkwhale-14-release-planning) about release planning and cycles. If you've got some thoughts, we'd love to hear them!
 
 
We're planning a final bugfix release (1.2.9) before we release 1.3.0. Obviously, if anything critical happens in between we'll keep you all informed.
 
 
Thanks again to [NLNet] for their extraordinary generosity and their help with these projects 🎉
 
 
[@sporiff]: https://dev.funkwhale.audio/sporiff
 
[@georgkrause]: https://dev.funkwhale.audio/georgkrause
 
[@wvffle]: https://dev.funkwhale.audio/wvffle
 
[@petitminion]: https://dev.funkwhale.audio/petitminion
 
[@mjourdan]: https://dev.funkwhale.audio/mjourdan
 
[NLNet]: https://nlnet.nl/
Loading