austinried / subtracks

A music streaming app for Subsonic-compatible servers
GNU General Public License v3.0
675 stars 29 forks source link

[Announcement] Subtracks 2.0 is under development #131

Open austinried opened 2 years ago

austinried commented 2 years ago

Just a quick announcement here to let everyone know I am currently working on the next major version of Subtracks, which will be a complete rewrite. After working on the offline support branch for a bit and experiencing a new tech stack (Flutter) through work on another project, I'm pretty confident that this project will be much better off with a total overhaul. Besides all of the advantages Flutter and Dart bring, this will let me build from the ground up with a lot of the features that are missing now.

So with that said, I'm creating this issue for two main reasons: to announce that I'm pausing contributions until I at least get to the alpha phase on the rewrite (except for translation updates, which I plan to port over to the new codebase, so please feel free to continue on those), and to track all of the issues I'm aiming to resolve in 2.0. The "extras" here are things that I'd like to have in the next release but may not make it depending on where I decide to cut it. If they don't make it into 2.0 that doesn't mean they won't be done, but that they will be in a future update.

Once I get the prototype into a decent state I'll put it up in development branch here, and then I may start doing some alpha/beta/RC releases depending on interest.

Goals

Extras

nagarrido commented 2 years ago

Can't wait to take a look at it! Are you planning on uploading an apk once you get the basics working?

jcalado commented 2 years ago

Wonderful news! Thanks for sharing you plan and for what subtracks is so far. Since switching do airsonic, subtracks has been my go-to for mobile music :)

Gene-W commented 2 years ago

Wow, very exciting news! Offline support and playlist management will be features that will further set Subtracks apart from others even more. If I can contribute by testing and reporting from alpha or any point you feel is needed then I am available. Great work so far, looking forward to 2.0!

austinried commented 2 years ago

Thanks for the support! Right now I'm planning on putting up alpha apk releases as soon as I get the all of the basic functionality working and the new CI flow worked out. What I'm working on right now is still more like mature-prototype phase, but it's taking shape quickly and I'm pretty happy with how things have been transitioning to Flutter.

I'll keep updates in this issue though so if you're interested in testing or development of the new version, watch this space!

kybercore commented 1 year ago

Thanks for your hard work you put into the project! I was wondering whether there is any chance we'll see a Material You implementation because there currently isn't any subsonic clients with it

Nif-kun commented 1 year ago

Although a bit late, I'm happy to see that this is still getting updated. Subtracks has been the only client I've used that is both lightweight and clean in UI. The others have been rather slow, janky, or feels bloated. I'm very hopeful for your progress in this project and thankful for your hard work. I'll be keeping watch for future releases and would gladly participate in alpha tests.

SpencerDub commented 1 year ago

This is awesome to hear. I have been really excited about Subtracks since discovering it. As a longtime user of free and open-source software, I'm (unfortunately) used to a level of interface jankiness, but my family members who use my home music server aren't. Subtracks is by far and away the cleanest, most user-friendly Subsonic app for Android, and I'm eager to see version 2.0 that I can share with my family.

And what the heck, I'll be happy too to use such a nicely designed app instead of the janky (non-Subtracks) one I currently use.

Enrico204 commented 1 year ago

Great news! @austinried I have some experience with Flutter (although I'm not a professional app developer), so I might help to fix some bugs or write some code in my free time :-)

kentone commented 1 year ago

Hi! About #12 I could do some tests, and even help the devs to setup the android auto Head Unit emulator (I did it already, to test all the Airsonic alternatives without having to go to my car). I'm not a dev, but a sysadmin that is used to do testing with some criteria and order.

I currently use ultrasonic on my car, but it has some issues that I hope they fix on next releases. Your app looked far cleaner than ultrasonic, but sadly I cannot use it on my car :(

I will be very happy to help!

cheers,

HipyCas commented 1 year ago

Any update on the progress of this? @austinried

austinried commented 1 year ago

I've had less time to work on this lately but it's getting very close to alpha now actually, I just haven't pushed the branch up yet because it's still missing a few critical UI components. Just the other day I finally hooked up my offline mode implementation and got to see it working so that was exciting.

Anyway I'll try to finish that UI work and get an alpha build going pretty soon here.

joelchrono12 commented 1 year ago

I had recently gave up on my subsonic server because I don't really stream my music, I normally download it locally from spotify or jellyfin or just on my device. So I am glad that this is being worked on. I want to test the alphas asap!

HipyCas commented 1 year ago

Grat to hear that an alpha is coming soon! I couldn't be more excited for it! Thanks a lot for your work in this!!

Makesesama commented 1 year ago

Are their any updates? Im looking forward to it!

nagarrido commented 1 year ago

Any updates? I'm really excited for this

Surfoo commented 1 year ago

Do you need help? Maybe you could push the code and indicate remaining work

aaronbieber commented 1 year ago

Piling on to say Subtracks is my favorite subsonic-compatible client and the only thing it needs to be perfect for me is Chromecast support. I'd love to help if I can!

nagarrido commented 1 year ago

Is this app still in development? If not, I will have to look for other alternatives, as offline support is important to me. It would be really sad, as this is app is the best I've found yet

basharkey commented 1 year ago

Any updates? I'm really excited for this

Is this app still in development? If not, I will have to look for other alternatives, as offline support is important to me. It would be really sad, as this is app is the best I've found yet

@nagarrido your comments don't help and make you look entitled. I am sure the developer uses what free time they have to work on the next release. If you are that impatient how about you work on your own subsonic client.

Pimmelton commented 1 year ago

Any updates? I'm really excited for this

Is this app still in development? If not, I will have to look for other alternatives, as offline support is important to me. It would be really sad, as this is app is the best I've found yet

@nagarrido your comments don't help and make you look entitled. I am sure the developer uses what free time they have to work on the next release. If you are that impatient how about you work on your own subsonic client.

Whoa - ease up there buddy. Don't go quashing someones enthusiastic interest in the project. That's how to destroy community participation, not encourage it.

It has been 6 months after all. At some point it makes sense to stop trying to 'perfect' the code enough for public release and just throw it into a branch so people can actually contribute with pull requests, ideas, suggestions, whatever. Can't do any of that without the code. That's the power and spirit of FOSS - release early, release often, build a community, make something better than one person can do alone.

fybx commented 1 year ago

@Surfoo @aaronbieber @Makesesama @Pimmelton It seems that this project has come to an end. @austinried, I am honestly worried about your well-being since you haven't committed anything on GitHub after opening this issue.

Gene-W commented 1 year ago

@Surfoo @aaronbieber @Makesesama @Pimmelton It seems that this project has come to an end. @austinried, I am honestly worried about your well-being since you haven't committed anything on GitHub after opening this issue.

Agreed, the project was off to a great start and I also hope all is well for you @austinried!

austinried commented 1 year ago

Hi, still alive here, and working on this more lately actually. I started a new job a few months after making this announcement and stopped having time to do anything on it, but I've picked it up again recently and I'm hoping to get something out soon.

aaronbieber commented 1 year ago

First, so glad to hear that not only are you okay @austinried, but gainfully employed 😁. The industry is in tumult and we can all take a moment to appreciate having a job!

It sounds like there are a good number of people who are eager to be more involved, and I wonder about the possibility of getting a “2.0-early-alpha” branch out so that folks can start helping out. I’ve only worked on one “toy” native app before, but I could definitely find time to pitch in, because I (like many others) see this app as perhaps the best Android alternative. It’s simplicity is what makes it so great, compared to e.g. DSub, which is a UX nightmare.

fybx commented 1 year ago

I'm with @aaronbieber on this "best Android alternative". Subtracks is the only app that provides a fluid user experience with a modern and thoughtfully designed interface. So clean and yet so spectacular.

austinried commented 1 year ago

Hi again, sorry again for the long periods between updates here. After rewriting this app twice in dart and being much happier with where it's headed now, I have just pushed the rewrite into main and created the first alpha release. I'll be working on the alpha more, and I hope to get that promoted to beta as soon as all of the features are locked down.

So if anyone is interested in testing/contributing/giving feedback, you can check that out here: https://github.com/austinried/subtracks/releases/tag/v2.0.0-alpha.1

austinried commented 1 year ago

Also feel free to submit new issues for anything related to the alpha, I'll get a tag going for them soon!

austinried commented 1 year ago

2.0.0-alpha.2 has been released with a few new features and some bugfixes that should hopefully allow more people to test the alpha.

aaronbieber commented 1 year ago

I didn't want to open an issue for this question. I'd love to help out with testing, but I am running Navidrome as my music server, and I can't add it as a source. When I tap "save," nothing happens (no error, either).

Could this be because only token auth is supported right now? The Navidrome API docs page doesn't mention what auth types are supported, and I'm assuming it's just plaintext.

If anyone else has been successful connecting the alpha to Navidrome, maybe you can help me figure out how to make it work.

jsrol commented 1 year ago

@aaronbieber

Yeah i had the same issue. You need to add the navidrome port to the address. I used http://ipadress:port and it works fine!

aaronbieber commented 1 year ago

Thanks @jsrol, that worked! (For anyone else coming along, I used http://hostname:80 for the server address for my default Navidrome install).

aaronbieber commented 1 year ago

@austinried It would be great to have a way to enumerate the issues/TODOs that are specific to this new version, either a new issue label, or even a forked repo or something.

For instance, perhaps the source could default to port 80 or 443 as appropriate, and perhaps the fields on the source entry page could have "tip" text indicating the expected format (e.g. protocol://address:port or something to that effect, for the address).

austinried commented 1 year ago

That's actually really strange that you needed to do that, are you sure it doesn't work without the port, maybe with the force plaintext option toggled? I can add the subsonic demo server (http://demo.subsonic.org), for example, without it just fine, which is another server on port 80.

Maybe this is a problem with using an IP address instead of a domain/hostname?

aaronbieber commented 1 year ago

This is strange, it does seem to work now (though I can't tell you whether this is because I added the first source successfully or not). I tried with and without the http:// and with and without the port.

When I tried a couple of days ago (with the bare domain name), tapping "save" did nothing; it didn't add, it didn't give me an error, or toast, or any response at all. That was what brought me here in the first place (I didn't know where to start on debugging that).

I am happy to experiment in the name of debugging, if there's anything in this situation that would be good to know!

austinried commented 1 year ago

Ah ok, I'm guessing then when it wasn't working you had some combination where the scheme (http://) was missing, which currently passes validation so you don't see an error but doesn't actually work. That should be fixed in the next alpha thanks to @jcalado's nice tweak on the validation there, and I'm also adding some more specific error messaging around this part (displaying subsonic errors, wrong username password, etc).

austinried commented 1 year ago

There's a 2.0.0 milestone by the way as well that I'm trying to group everything for this release into, you can check that out here: https://github.com/austinried/subtracks/milestone/1

austinried commented 1 year ago

Alpha 3 is out and is mainly focused on error messaging and logging to help troubleshoot connection issues: https://github.com/austinried/subtracks/releases/tag/v2.0.0-alpha.3

HipyCas commented 1 year ago

I am using Navidrome too and the alpha is not working at all, Navidrome is reporting write tcp 172.19.0.2:4533-><ipaddress>: write: broken pipe when trying to play something, yet it is not reporting any error when creating the connection.

EpicDrakkar commented 10 months ago

Any chance to Chromecast this? Is the most used feature to me. Thanks, and Im willing to support this project.

eddyizm commented 8 months ago

I am familiar with flutter/dart, where is the branch to be able to contribute? I just found the alpha release but would like to help. EDIT - realized it may just be master, I will pull down and see if I can't get my environment up this weekend.

ZenKyma commented 4 months ago

Can't wait to see this actually happening 🎉

EpicDrakkar commented 4 months ago

Happy to see this moving <3 I use this application everyday from my Raspberry. Actually im listening it right now.