As somewhat of a Zune fanatic, it always makes me happy to see a new Metro-inspired UI, but every one of these Zune-inspired projects falls short when compared to the actual Zune application, which imo is the absolutely pinnacle of music players. It presents your music library in a way that to me is aesthetically pleasing and entirely intuitive. The three column layout, with sorting options for each, is ideal. Filtering does not dump you into a new page. It's hard to describe what makes it so pleasant to use, but no application I've found yet comes close.
I encourage anyone with a local music collection to go download Zune and give it a try.
IMHO Xbox 360, Zune, Windows 7-10 Mobile and Metro were very good UX implementations at their time, and bizarrely far superior to the touch mode Windows 11 offers today on tablets. WTF Microsoft, why are you regressing on all fronts?!
Zune never took off because it came too late and was going against a market already dominated by the iPod, and Metro was hated since Microsoft shoved it down the throats of desktop users with Windows 8, even though it was wonderful to use on tablets, except Windows tablets of the time sucked major ballsack since they were powered by anemic Intel Atom CPUs trying to run a full desktop OS compared to the ARM iPads running a mobile OS.
About a dozen years ago my employer wanted an intranet app for our mobile devices. Initially I was disappointed to have been assigned to create the Blackberry app because even though it was by far the most common phone in use by our employees, I could see the writing on the wall with Android and the iphone taking over. But I was also given free reign on the UI, which I borrowed very heavily from the Zune's UI. While it was well received, RIM really started falling apart around that time, which accelerated the replacing of the company issued Blackberries with BYOD. I was sad to see it go but also glad to be freed of the frustration of dealing with RIM and their often offline 'signing server'.
The author has shared a behind-the-scenes look at the design journey, explaining the challenges and thought processes behind bringing this retro-inspired player to life, though in Chinese:
My Zune HD from 2005/2006 still works. I think it's the oldest piece of functional tech I own. No, I don't use it on a daily basis. But I love booting it up every now and again.
It's also a fun way to check on what I was listening to back then. A little trip down memory lane.
I did not test this yet, but Dynamic "Mix" Feature and Audio Analysis and Recommendations, those are features I always wanted to have for a local music player. Amarok had some simple variant of this. Spotify of course has as well, but not really for local music.
That was the main reason I started my own music player project (https://github.com/albertz/music-player). But it never really got to the point to have a more advanced variant of this features. The best it could do is randomly play through directories, but at least prefer liked songs. I implemented the core playing engine in C++ and the remaining logic in Python, as I thought that would give me most flexibility. Unfortunately I haven't found the time to work on it since a while.
Depending on your genre preferences, Bandcamp.com might be for you. I buy 4-10 albums every month there, downloaded as FLAC for archival purposes, streamable on all my devices via jellyfin
> If I stop paying the bill I will have nothing to listen to. What have we done?
We’ve created one of the most amazing values and uses of technology of our lifetimes?
Streaming per month costs so much less than a new CD did 25-30 years ago. And it’s so so so much better than buying a new CD a month.
If the average person keeps paying the (quite small) bill, they can listen to essentially anything they want to listen to (unless they have very peculiar tastes — please do not reply to tell me that the obscure 1907 ragtime classic you need to listen to is not on Spotify).
Dart and Rust mixed together. That's interesting. I'm wondering if Rust is needed for this application, couldn't everything technically done in Dart here?
Also I'd like to know more about the interop between Dart/Rust and what the experience is like!
Hi, I'm the developer of Rune. In this project, Dart is primarily used for the GUI, while Rust handles all data-related operations. As you mentioned, Dart's performance and ecosystem are sufficient for most tasks in a typical music player. However, Rune includes some complex features that challenge Dart's ecosystem and performance, such as media recommendation.
Rune has a built-in media analysis and recommendation system. It extracts dozens of acoustic features from audio, creating a high-dimensional space. Searching for nearby points in this space helps listeners find similar tracks, offering features akin to those on streaming platforms.
While creating a traditional audio player is an option, I wanted to explore something new. That's why I chose Rust for its performance and ecosystem advantages.
Regarding the inter-operation between Dart and Rust, I used a library called `rinf`. They communicate via protobuffer by sending signals to each other, and the experience has been quite smooth.
Honestly, it looks super sleek and the README is a refreshing combination of briefness and useful info.
Wondering about more power-user features (as someone who did quodlibet -> mpd -> cmus -> my own https://git.sr.ht/~q3cpma/mus) such as gapless playback, ReplayGain, album instead of track shuffle, IPC and event reporting, possible headless mode, integration with projectM, etc...
I've taken a note and try to pick features that triggered my curiosity, thanks for your suggestions! Btw, headless mode is already something but really rough.
Yes, he later tried to turn it into a Dick Cheney with a pentagram on his head tattoo. Now that Dick Cheney is a good guy, I wonder what will be next in the progression of the Zune tattoo's journey.
[+] [-] handity|1 year ago|reply
I encourage anyone with a local music collection to go download Zune and give it a try.
[+] [-] Novosell|1 year ago|reply
https://digimezzo.github.io/site/software
[+] [-] Rinzler89|1 year ago|reply
Zune never took off because it came too late and was going against a market already dominated by the iPod, and Metro was hated since Microsoft shoved it down the throats of desktop users with Windows 8, even though it was wonderful to use on tablets, except Windows tablets of the time sucked major ballsack since they were powered by anemic Intel Atom CPUs trying to run a full desktop OS compared to the ARM iPads running a mobile OS.
[+] [-] Mountain_Skies|1 year ago|reply
[+] [-] vips7L|1 year ago|reply
[+] [-] BenFranklin100|1 year ago|reply
[+] [-] ralphc|1 year ago|reply
[+] [-] march_happy|1 year ago|reply
https://roriri.one/2024/10/04/rune/
[+] [-] apollo_mojave|1 year ago|reply
It's also a fun way to check on what I was listening to back then. A little trip down memory lane.
[+] [-] cxr|1 year ago|reply
[+] [-] cageface|1 year ago|reply
Thanks to the awesome flutter_rust_bridge it’s very easy to use them together and leverage both their strengths.
https://github.com/fzyzcjy/flutter_rust_bridge
[+] [-] losses|1 year ago|reply
[+] [-] albertzeyer|1 year ago|reply
That was the main reason I started my own music player project (https://github.com/albertz/music-player). But it never really got to the point to have a more advanced variant of this features. The best it could do is randomly play through directories, but at least prefer liked songs. I implemented the core playing engine in C++ and the remaining logic in Python, as I thought that would give me most flexibility. Unfortunately I haven't found the time to work on it since a while.
[+] [-] whatever1|1 year ago|reply
[+] [-] Semaphor|1 year ago|reply
[+] [-] dgellow|1 year ago|reply
[+] [-] paulcole|1 year ago|reply
We’ve created one of the most amazing values and uses of technology of our lifetimes?
Streaming per month costs so much less than a new CD did 25-30 years ago. And it’s so so so much better than buying a new CD a month.
If the average person keeps paying the (quite small) bill, they can listen to essentially anything they want to listen to (unless they have very peculiar tastes — please do not reply to tell me that the obscure 1907 ragtime classic you need to listen to is not on Spotify).
It’s incredible!
[+] [-] unknown|1 year ago|reply
[deleted]
[+] [-] Hamuko|1 year ago|reply
You mean "what have I done".
[+] [-] llm_trw|1 year ago|reply
[+] [-] lawls|1 year ago|reply
[+] [-] losses|1 year ago|reply
[+] [-] nesk_|1 year ago|reply
[+] [-] ahoka|1 year ago|reply
[+] [-] xenodium|1 year ago|reply
I’ve recently found myself experimenting with local playback and built https://github.com/xenodium/ready-player
While I used to stream music 100% of the time, that’s now more like 5%, dedicated exclusively to discovery.
These days, I’m now back to purchasing digital music and primarily local playback.
[+] [-] keyle|1 year ago|reply
Also I'd like to know more about the interop between Dart/Rust and what the experience is like!
[+] [-] losses|1 year ago|reply
Rune has a built-in media analysis and recommendation system. It extracts dozens of acoustic features from audio, creating a high-dimensional space. Searching for nearby points in this space helps listeners find similar tracks, offering features akin to those on streaming platforms.
While creating a traditional audio player is an option, I wanted to explore something new. That's why I chose Rust for its performance and ecosystem advantages.
Regarding the inter-operation between Dart and Rust, I used a library called `rinf`. They communicate via protobuffer by sending signals to each other, and the experience has been quite smooth.
[+] [-] lowbloodsugar|1 year ago|reply
[+] [-] losses|1 year ago|reply
[+] [-] losses|1 year ago|reply
[+] [-] iamacyborg|1 year ago|reply
[+] [-] losses|1 year ago|reply
Short answer: No. It's purely a coincidence. Rune is an abbreviation for Zune Revived, and I only realized this awkward situation today.
[+] [-] unknown|1 year ago|reply
[deleted]
[+] [-] BoingBoomTschak|1 year ago|reply
Wondering about more power-user features (as someone who did quodlibet -> mpd -> cmus -> my own https://git.sr.ht/~q3cpma/mus) such as gapless playback, ReplayGain, album instead of track shuffle, IPC and event reporting, possible headless mode, integration with projectM, etc...
[+] [-] losses|1 year ago|reply
[+] [-] arresin|1 year ago|reply
[+] [-] Mountain_Skies|1 year ago|reply