SmartTube icon indicating copy to clipboard operation
SmartTube copied to clipboard

Release on F-Droid

Open alexanderadam opened this issue 4 years ago • 19 comments

I was searching for SmartTubeNext on F-Droid but I was unable to find it. IMHO the license should be fine but I don't know about the dependencies.

It would be great if you could make SmartTubeNext available on F-Droid.

PS: Thank you for creating SmartTubeNext :pray: PPS: If you are considering to publish SmartTubeNext on F-Droid, you probably might be interested the FAQ and maybe this guide PPPS: I'm not an Android developer or related to F-Droid. So I don't know about technical limitations in case there are some.

alexanderadam avatar Feb 14 '21 16:02 alexanderadam

Some showstoppers there. Here's the report from one of the library scanners:

Libraries detected:
-------------------
* Android Support v4 (/android/support/v4): Development Framework
* Arch (/androidx/arch): Utility
* AppCompat (/androidx/appcompat): Utility
* Browser (/androidx/browser): Utility
* Androidx Core (/androidx/core): Utility
* Documentfile (/androidx/documentfile): UI Component
* Exifinterface (/androidx/exifinterface): Utility
* Leanback (/androidx/leanback): Utility
* androidx.legacy (/androidx/legacy): Utility
* Lifecycle (/androidx/lifecycle): Utility
* Loader (/androidx/loader): Utility
* Media (/androidx/media): Utility
* Preference (/androidx/preference): Utility
* Print (/androidx/print): Utility
* Room (/androidx/room): Utility
* Sqlite (/androidx/sqlite): Utility
* Vectordrawable (/androidx/vectordrawable): UI Component
* WorkManager (/androidx/work): Utility
* Glide (/com/bumptech/glide): Utility
* Crashlytics (/com/crashlytics): Mobile Analytics Tracking
* Firebase Data Transport (/com/google/android/datatransport): Utility NonFreeNet
* ExoPlayer (/com/google/android/exoplayer2): Utility
* Google Mobile Services (/com/google/android/gms): Development Framework NonFreeDep
* Google Core Libraries for Java 6+ (/com/google/common): Utility
* Firebase (/com/google/firebase): Utility NonFreeNet,NonFreeDep
* Firebase Analytics (/com/google/firebase/analytics): Mobile Analytics Tracking
* Google Gson (/com/google/gson): Utility
* Disk LRU Cache (/com/jakewharton/disklrucache): Utility
* Jayway JsonPath (/com/jayway/jsonpath): Utility
* OkHttp (/com/squareup/okhttp): Utility
* Dagger (/dagger): Utility
* RxJava (/io/reactivex): Utility
* JavaX Dependency Injection (/javax/inject): Utility
* json-smart-v2 (/net/minidev/json): Utility
* OkHttp okio Framework (/okio): Utility
* Apache Commons (/org/apache/commons): Development Framework
* ASM (/org/objectweb/asm): Utility
* Reactive Streams (/org/reactivestreams): Utility
* Simple Logging Facade for Java (/org/slf4j): Utility
* dnsjava (/org/xbill/DNS): Utility
* Retrofit (/retrofit2): Utility

Offending libs:
---------------
* Crashlytics (/com/crashlytics): Tracking
* Firebase Data Transport (/com/google/android/datatransport): NonFreeNet
* Google Mobile Services (/com/google/android/gms): NonFreeDep
* Firebase (/com/google/firebase): NonFreeNet,NonFreeDep
* Firebase Analytics (/com/google/firebase/analytics): Tracking

5 offenders.

The 5 offenders are not permitted at F-Droid (and before you ask: I wouldn't take it into my repo either unless at least Crashlytics and Firebase Analytics are removed; 5 non-free libraries is a bit much for free/libre software).

IzzySoft avatar Jun 09 '21 20:06 IzzySoft

Sounds like this needs a post patched version to be releasable on fdroid.

theScrabi avatar Aug 04 '21 15:08 theScrabi

Ah no. Apparently you have to implement some parts yourself in order to be able to compile this, as not the whole source code of the app is publicly available: https://github.com/yuliskov/SmartTubeNext/issues/622

theScrabi avatar Aug 04 '21 16:08 theScrabi

Try this branch. It compiles, but does not run propperly: https://github.com/theScrabi/SmartTubeNext/tree/fdroid

theScrabi avatar Aug 04 '21 17:08 theScrabi

Sounds like this needs a post patched version to be releasable on fdroid.

Also Fdroid doesn't have official Support for Android TV (Leanback) which is too bad.

DraconicNEO avatar Aug 16 '21 01:08 DraconicNEO

That does not matter. You can still install apps from adb or use a different fdroid client ;)

theScrabi avatar Aug 16 '21 08:08 theScrabi

That does not matter. You can still install apps from adb or use a different fdroid client ;)

Although if it were put on Fdroid I imagine a lot of Mobile (Phone & Tablet) users would download it then complain that it doesn't work correctly, without understanding that it's for TV devices. This is because Fdroid is targeted towards mobile users more so than TV users.

DraconicNEO avatar Aug 23 '21 01:08 DraconicNEO

The fdroid client is targeted for mobile users yes, but Fdroid is primarily a repository of free/open source software, which is not and should not be bound by how you use the applications or where they will run. This satisfies the reason to add the app there.

Also there is something like an app description in fdroid so you can tell the user that it is ment for TV use ;)

theScrabi avatar Aug 25 '21 07:08 theScrabi

users would download it then complain that it doesn't work correctly, without understanding that it's for TV devices.

To mitigate that fear: what is the minimum screen size of an Android TV device? Assuming there's none for the pockets of your trousers, you could set supports-screens to omit "small" and "normal", just featuring "large" and "xlarge", so it wouldn't even offered to be installed on phones (and tablet users are few in comparison). Further, are there any features not (or rarely) supported by phones but always by TVs? That's what uses-feature is for. If you declare such a feature there, the app will only be offered to devices which can supply it.

Also there is something like an app description in fdroid so you can tell the user that it is ment for TV use ;)

And there's that :rofl: As you might argue some folks won't read that (the very same folks won't read it anywhere else then either), there are things like emphasis. So you could say as first thing Android TV only!!!11!! (using <b>Android TV only!!!11!!</b>). Those who still miss it then cannot be helped anyway…

IzzySoft avatar Aug 25 '21 08:08 IzzySoft

To mitigate that fear: what is the minimum screen size of an Android TV device? Assuming there's none for the pockets of your trousers, you could set supports-screens to omit "small" and "normal", just featuring "large" and "xlarge", so it wouldn't even offered to be installed on phones (and tablet users are few in comparison). Further, are there any features not (or rarely) supported by phones but always by TVs? That's what uses-feature is for. If you declare such a feature there, the app will only be offered to devices which can supply it.

I don't know if Android TVs have a Minimum "screen size", All depends on the size of the TV (which obviously isn't known by the manufacturer). Also if you include users of MXQ and MBOX devices you can forget about those methods since it will register as a tablet or even a Phone thus you'll exclude those devices which unfortunately are the Majprity of Android TVs out there.

(I'm not saying they're good at all, I've owned on, they are lousy TV devices that need a Mouse and keyboard to be even remotely usable. You Should never buy them, get something decent).

DraconicNEO avatar Aug 26 '21 05:08 DraconicNEO

There is a working proof-of-concept for F-Droid on Android TV: https://gitlab.com/fdroid/fdroidclient/-/merge_requests/685

It would be great to see that work progress further. I think the cleanest development path would be to take that merge request and make a development fork. We can add that development fork to fdroiddata/f-droid.org so that people can easily use releases. Then as that gets finalized, the changes can be split out into patches and merged into fdroidclient.

eighthave avatar Aug 31 '21 09:08 eighthave

It's sad to see that this client contains that account of crap and that's it's not fully open source. Do we have any forks or is the developer perhaps interested in fixing this?

I would love to see this or a similar client on F-Droid.

Hund avatar Sep 05 '21 05:09 Hund

Maybe there is a small chance of getting this to work using the NewPipeExtractro. Maybe this could be possible if someone wrote a wrapper that behaves exactly like the MediaServiceCore this way the fronted of SmartTubeNext would still be usable. Some things like login and account support would have to be removed however.

theScrabi avatar Sep 06 '21 07:09 theScrabi

Maybe there is a small chance of getting this to work using the NewPipeExtractro. Maybe this could be possible if someone wrote a wrapper that behaves exactly like the MediaServiceCore this way the fronted of SmartTubeNext would still be usable. Some things like login and account support would have to be removed however.

Not worth it, accounts are kind of a vital feature of SmartTubeNext. People want an Ad free YouTube TV client that otherwise functions the same as regular YouTube TV, not a NewPipe TV client.

DraconicNEO avatar Sep 09 '21 06:09 DraconicNEO

Although if it were put on Fdroid I imagine a lot of Mobile (Phone & Tablet) users would download it then complain that it doesn't work correctly, without understanding that it's for TV devices. This is because Fdroid is targeted towards mobile users more so than TV users.

I think this should be a question of the past : we invented responsive design and on the same way I think any application built for android should work on any device. It's called convergence and I have no doubt it will happen eventually. Though we might not have the use for a calculator or a calendar on a TV (it might still be the case with mouse and keyboard plugged in), it makes perfect sense for both an app store and a video player, and it's absolutely doable. I guess it's mainly a matter of having the right shortcuts on a remote control. On this matter F-droid official client is still not great to use on a TV but it already works.

I wonder what's the use of this proprietary bits ? Look mostly related to Google analytics... Are they mandatory ?

krodelabestiole avatar Dec 22 '23 17:12 krodelabestiole

F-droid official client is still not great to use on a TV but it already works.

Which f-droid client does work best on ATV?

bt4ibwem8 avatar Jan 12 '24 09:01 bt4ibwem8

F-droid official client is still not great to use on a TV but it already works.

Which f-droid client does work best on ATV?

Neo store does auto updates.

KruyKaze avatar Jan 12 '24 17:01 KruyKaze

Any hope this night be solved any time soon?

Linkinsoldier avatar Jan 17 '24 08:01 Linkinsoldier

Any updates on this please?

ncodee avatar Apr 25 '24 11:04 ncodee