Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What's next for Harmonoid? & Release Goals #348

Open
43 of 67 tasks
alexmercerind opened this issue Oct 16, 2022 · 2 comments
Open
43 of 67 tasks

What's next for Harmonoid? & Release Goals #348

alexmercerind opened this issue Oct 16, 2022 · 2 comments
Labels
platform: android This issue is related to Android specifically platform: linux This issue is related to Linux specifically platform: windows This issue is related to Windows specifically

Comments

@alexmercerind
Copy link
Member

alexmercerind commented Oct 16, 2022

Release Goals

Greatly affected by my personal life e.g. study, schedule, exams, other projects, interview preparation & college.

[Out Now • v0.3.4] 2022 Q4 - Part 1

  • Ability to configure parameters (year, album artist & album name) which identify an album uniquely.
  • Remembering window position, size & maximized state on fresh start.
  • Ability to set custom libmpv options, properties & flags (MPV ipc socket #329).
  • Smoother animations (upstream from Flutter 3.3.x).
  • Smoother scrolling with trackpad/touchpad (upstream from Flutter 3.3.x).
  • Fixed/improved FLAC & OGG bitrate calculation/approximation.
  • Fix track order in AlbumScreen. Now accounts disc-number.
  • AlbumTile context menus (Long / double click to add album to queue. #339).
  • Fixed crash on Windows 7.
  • Fixed legacy NowPlayingScreen.
  • Fixed annoying line below window controls on Windows (rarely experienced on some PCs).
  • Rewrite custom window frame, more stable DPI-change handling, hit-box testing & fullscreen.
  • Use Win32 API to fetch AppData & default Music folder on Windows instead of environment variables.
  • Prevent data-redundancy in music library caching.
  • Improve "show in file explorer" behavior on Linux.
  • Improve Android launch speed.
  • Improve the quality of color palette extraction (further tweaks).
  • Better & performant URI & file path parsing.
  • Re-designed missing folders screen.
  • Add missing "Add to playlist" & "Shuffle" buttons on Android (at-places).
  • Enable Linux / Android-x86 touchscreen & mouse drag scroll (No touch Dragging on Linux (Upstream flutter issue) #342).
  • Old streaming recommendations behavior i.e. refresh on page revisit.
  • Fixed an issue that caused Harmonoid to request last-modified time stamps of all files already present in cache.
    This is a major issue. Now, cached last-modified time stamps are used.
    This will also improve start-up performance & safety with long file-paths on Windows. Apologies for the inconvenience.

[Out Now • v0.3.5] 2022 Q4 - Part 2

[Under Progress] 2022 Q4 - Part 3

[Future Scope] 2023 Q1

Patreon, GitHub Sponsors & supporters exclusive [one-time].

  • Android app for controlling & browsing music on desktop app.
  • Folder view.
    • Directory sorting parameters.
    • View types: tiles, icons, list.
    • Ability to add a complete folder to "now playing" or a playlist.
  • Genre view (with multiple genre support / tag split).

[Future Scope] 2023 Q2

  • Universal Material You / Material Design 3 music widget (not specific to Harmonoid).

Somewhere along the line

  • Last.fm scrobbling.
  • Mini-window mode.
  • Minimization to system tray.
  • Improved playlist specification.
  • Plugin API.
  • Windows 11 IExplorerCommand integration.
  • Re-design illustrations & empty state artworks.
  • Ability to disable animations (Disabling animation #341).
  • Expose theme configuration & add support for third-party themes.
  • Enable ICECAST metadata support for online URLs & cache cover art.
  • Consistent & precise Material You / Material Design 3 implementation.
  • Improved UI for tablets.

Seems impossible based on my availability


Along the way, account for the improvements made in Flutter itself.

Personal Thoughts

I built Harmonoid for myself. I have spent a large amount of time on configuring small bits & pieces of the UI & animations. You may know more about this in "Why" section of the README. Holding accountability of a software, ensuring that the implemented features work perfectly & UI feels good / consistent / nicely-put-together, is a really big challenge. Still, I feel it's in a good state now.

Recently, I have been really active in terms of development on Harmonoid (and various modules as part of it). I still fix bugs within few hours of report (now things are really stable though) from the users, usability is important.

However, I've decided to slow down.

I recently had a realization (after having a talk with my family & friends) that I've been working on this like a maniac. I should instead study my subjects in detail, prepare for interviews, learn more skills & work for my future. In general, I'm missing out my life as-well. Now, I'm back in college & I also have a part-time job along the way. Harmonoid isn't going anywhere. Unfortunately, the amount of time that I've spent on Harmonoid is far-far more than a "portfolio project" deserves. A "portfolio project" doesn't have any users or any responsibility of holding accountability.

When adding a new feature, it's now a trade-off between:
"The effort it would take." V.S. "The actual improvement in experience it would bring."

There are project Patreon & supporters (love you guys), who deserve some exclusive features for their valuable early support to the project. Let's see where this goes.

Then, there are people who ask for crazy features. Like... c'mon I'm a single developer with little-to-no funding & backing. There's no way I can compete with a multibillion-dollar organization. It's just that I worked hard on this software, after missing out on a lot of moments of my life with my family & friends to hold "somewhere-near" credibility & quality.

Anyways, good things take time to build (years of time).
And I've just started, there's a lot more to come... as long as I don't suffer burnout.

Thanks!


If you have any question, feel free to ask in a comment below.

@alexmercerind alexmercerind pinned this issue Oct 16, 2022
@alexmercerind alexmercerind added platform: android This issue is related to Android specifically platform: windows This issue is related to Windows specifically platform: linux This issue is related to Linux specifically labels Oct 27, 2022
@alexmercerind alexmercerind changed the title RFC: What's next for Harmonoid? RFC: What's next for Harmonoid ? & Release Goals Nov 4, 2022
@alexmercerind alexmercerind changed the title RFC: What's next for Harmonoid ? & Release Goals What's next for Harmonoid? & Release Goals Nov 7, 2022
@palijn
Copy link

palijn commented Dec 23, 2022

Most portfolio projects are just that, things you put in a portfolio and never attend to.
Harmonoid is a masterpiece . Be proud of it.
Very few developers manage such feats alone. You can show for real that you stand out of the crowd.
This project should speak volumes in your interviews about your abilities : smart and hard work, attention to the details, dedication, close following of specifications/standards, catering to the end user experience, ability to implement things beyond the drawing board.
Thanks for sharing this software with the world.
Please take care of yourself and keep the vibe going.

@pktiuk
Copy link

pktiuk commented Aug 14, 2023

Hello,
I've seen that there is not much activity in the code of harmonoid recently.
What is going on? Lack of time or your focus is now shifted to something else?

It is still a great job already done, but I am just curious.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform: android This issue is related to Android specifically platform: linux This issue is related to Linux specifically platform: windows This issue is related to Windows specifically
Projects
None yet
Development

No branches or pull requests

3 participants