I had good days with Celluloid back in 2019, on Linux Mint. I'd argue, it's still the king of video players available today. I will not forget the fluid frame updates when I held down arrow keys. Those who consume lots of movies on Linux, might resonate with me.
Fast forward a year, I had to switch away from Linux, and move back to Windows on my laptop, and I had only one. But the memory of Celluloid struck with me, and I was no longer satisfied with VLC. I needed a better one, and I found one very close. It was called KM Player.
Time passed. Life was happy with KM Player. Then I got a job. And I forgot about leisure time, so I had not touched it for straight six months. One day, as our team just delivered the project we were working on, we were granted 2 weeks of paid leave. That night, I torrented a bunch to binge watch a TV series. And I opened KM Player after good six months.
Oh no. KM Player is infested with ads and it feels nothing like it's older self. performance sucked, UX sucked. I un-installed it.
I literally felt betrayed, and I also find out, no one cares about making a Windows app with great UX like mac or even linux, because the love is not there. Microsoft itself does ridiculuous things with their documentations that make you ultimately confused and run back to shitty world of Electron apps.
Back in 2022, I could make a React website, but certainly not a C++/C# desktop app. So I just let the good dreams and expectations go away, and be content with subpar experience with VLC.
But there is a saying, you do not forget your first love, and in my case, it was Celluloid. I dreamt of it, I was totally lost in it.
I was a pretty mediocre developer. And I think the best outcome of AI was for me, is that it bridged the gap between mediocre and rare breed of 10x devs. Everybody with a taste and burning passion can be a developer. I just needed enough heart to take on fulfilling my dream: port Celluloid experience to Windows.
I had a few many options at hand.
-> Go with familiar web technologies. Tauri and project mpv command line output in Webview (works on all platforms, theoritically)
Tried, but I was not successful at this.
-> React Native (The thing Windows 11 start menu is built with): A solid candidate, but few days ago I just completed a React Native mobile app, the experience was hellsih and performance was so so. So I passed on it. I didn't bother with flutter because dart is one of my least favorite lang to work with.
-> GTK/QT route: I hated QT interfaces. One of the reasons I never touched KDE linux. I love GTK, but after trying it out, the interface on Windows felt out of place. And in my mind, I was not going to settle for anything less than a great UX, even at the cost of non-existing DX.
-> The Windows native route: (WinUI/XML/C++): This should have been developers preferred way of building native apps for windows. Unfortunately for us, Microsoft always seems confused. In 2025, I needed to write the UI in XML(!), hook event listeners to UI and in a separate C++ file, manipulate the UI. No state management at all. This seemed hectic for me, and I knew it would become extremely hard to track variables later on when code gets bigger. But I chose the pain, to build something great.
I won't go into details how the development journey was, it was a wild ride. I got full control over my dream of making the perfect video player, and I gave Rose Player everything VLC and now KM Player does not have.
Timeline hover previews: for a 2 hours FHD movie, generates all the previews in ~35 seconds (roughly 1500 preview images), so when movie opens, within half a minute you are able to browse the whole timeline. This is such a basic feature that is not available on both VLC and KMP, which feels insane.
Smooth Frame Updates with rapid seek: This was my biggest gripe with VLC, it always felt choppy. KM Player was better at this, and Celluloid was the best of all, like ultra fluid. My goal was to reach Celluloid level, and I think I am close to achieving it.
Smooth dragging by slider: An issue I see with all video players, some of them (like Celluloid) freezes the screen until drag ends. It's bad UX. People want to know what they are skipping. VLC shows you what parts you are skipping but shows only a few frames. I tried my best so Rose Player actually tries to show most frames that you skipped with minimal dropped frames.
Rose Player is now mostly stable, its hosted on Microsoft Store Now. I do periodical updates, and research on how to make it a better experience for myself and others.
Download Rose Player:
Download from Microsoft Store
Want Promo Code? Follow and DM me on X
Let me know your thoughts on comments below :)