Skip to content

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

@alexmercerind

Description

@alexmercerind

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    platform: androidThis issue is related to Android specificallyplatform: linuxThis issue is related to Linux specificallyplatform: windowsThis issue is related to Windows specifically

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions