Newpipe: Deprecation of Android 4.0.3-4.3.

Created on 6 Nov 2018  Â·  32Comments  Â·  Source: TeamNewPipe/NewPipe

This is not so much a report of an existing issue given that I have found little of note, but rather a question regarding the direction for app development.

Are there any plans to deprecate Android 4.0.3-4.3 and set the minSDK version to 4.4 KitKat?

Most helpful comment

Everybody who has been affected by depreciating Android 4.0.3-4.3 can find a legacy version maintained by @friendlyanon here. Atm it is not available through F-Driod, but we hope this is going to change soon.

All 32 comments

If we could get rid of android 4.0 we could abandon the old player which is deprecated for about 1.5 years now.

Ah, right. The legacy MediaFramework player. Definitely something to move on from.

Another thing to consider is the goal of only supporting 5.0 Lollipop onward, but that assumes you are willing to drop all Dalvik support and focus development only on the ART, and have made the app fully conformant to Material Design prior to pushing version 15.0 minimum, or whatever the next version release goal is.

I will look into what code issues come up from setting the minSDK version to 4.4 KitKat if I have some time, as well as check Android Lint for anything.

Inspect Code turns up a number of errors and warnings, but the minSDK version has been set to API level 19/4.4 KitKat. Will attempt to submit a pull request for this.

Since I am not familiar with the process of submitting a pull request for this, I will leave this video link for you to watch and take note of: https://www.youtube.com/watch?v=f3k1Iz1vtQs

Apologies for not being able to directly contribute code from inexperience.

I use NewPipe mostly with old phones that I keep as PMPs, it's the killer app for those (currently I'm on a 4.1.2 small Galaxy with replaceable battery which is perfect for my use case), so this is bad news definitely.

I guess current versions will work for a while, unless there are changes in YT, but that might change at any point (their TLS 1.0 servers should work at least until 2020, so straightforward streaming for older platforms should be fine for a while, maybe even a few years as they still happily stream ancient formats). Is there any possibility of keeping compatibility with 4.x devices with an install option (maybe just use an external player) or a legacy version of NewPipe?

Well, I would not leave out the possibility of maintaining the last 4.0.3 minimum version, or otherwise taking a far more conservative approach to deprecation by simply making the earliest version of Jelly Bean (4.1/API Level 16) the new minSDK. Most lightweight apps (Discord, et cetera) still use it as their minSDK versions, apart from some games which support only 4.4 KitKat and up or apps looking to support specific features and up. Apps using Material Design compliance as a selling point or more practically abandoning the Dalvik runtime with a minSDK version of 5.0 Lollipop come to mind.

Personally, I was considering moving to 4.4 KitKat after finding it natively supported adaptive bitrate streaming and streaming subtitles, but found that this only applied to the TargetSDK version. With this in mind, the logical step here would be to first drop the legacy MediaFramework player by deprecating 4.0 Ice Cream Sandwich, and later move on to 5.0 Lollipop to deprecate all of the Dalvik runtime environment if desired. Likely when 7.0-7.1.2 Nougat is phased out.

(As for my personal devices, my use case is a Samsung Galaxy running 6.0.1 and a tablet on 5.1.1, so I could not go above those versions.)

Do it. 4.4 is the minimum a phone should have anyway. Everybody can flash their phone to at least 5.0

Mostly everyone, and assuming they choose to flash the custom XDA ROM, LineageOS, or other alternative ROM; yes. However, YMMV in the case of some phones and flashing experiences, especially if the device was once carrier-locked.

@SC1040-TS2 Those people need to stop holding onto ancient devices and buy a new device. Even Android 8.1 phones can cost as little as $50 and it will be many years before apps will require 8.1

Wait, hold on there, lad. There is one major flaw to that logic which I just happened to realize too late: Flagship phones, which are typically the most expensive phones due to loyalty, are also the most widely supported. Granted, there are exceptions such as the Moto G6, but a flagship budget phone is otherwise rare unless referring to brands such as Alcatel, Kyocera, or ZTE.

I can see that your subjectivity has blinding qualities, and is inconsiderate of the old breed who prefer features that were dropped for the sake of incentivizing frequent and profitable upgrade habits and in favor of hardware-based DRM, such as removable batteries, the 3.5mm jack, et cetera. I suggest adopting a more objective narrative.

As for @mnlmnl, what specific device do you own and use for the media player? I want to see if XDA has any recent ROM releases for it.

@Riotous People should definitely do what they think by themselves. Besides my (secure) modern daily drivers I use my old hardware if it does a good job. It's reasonable, it's eco-friendly and I don't have to waste time setting up new stuff every few months unless I really have to. So it's great having efficient apps in my P9, but it's also great not having to buy another device for replacing my lost iPod and having a lot of fun with something I had sleeping in a drawer. And then there's the case of people that really can't afford to keep up, some economies out there aren't great. I think that NewPipe makes a lot of sense precisely for older hardware and those use cases. If you just use modern devices you won't really notice the performance improvements, and if you can afford fancy stuff whenever you feel like, maybe you should pay for YT Premium as well.

According to https://developer.android.com/about/dashboards/ for the devices accessing Google Play last week of October, Ice Cream is mostly dead (0.3%), Jelly Bean sum 3%, and KitKat still are 7.6%. As there are 2 billion monthly active devices, that's potentially 60 million Jelly Bean devices and 152 million KitKat ones. Not bad. I don't think telling 200 million people they have to flash their devices with custom fw or they "need to stop holding onto ancient devices" is a reasonable position, honestly.

@SC1040-TS2 That makes sense, thank you.
@SC1040-TS2 Yeah, I'm pretty sure I could find something for it, but I guess I'd end up buying something else with Lollipop at least as it doesn't make sense to invest any time playing with it. It's a very cheap S6310N, but the sound is not bad at all and its battery lasts 2-3 days with background streaming... the thing just works.

@mnlmnl The people using very old devices with 4.1 are mostly using them as a media player since they still work, but if apps simply do NOT run on 4.1 anymore, then those people should simply looking for a cheap player running 8.1. They will probably play video and hold more audio than that ancient 4.1.x device and it will be many years until apps require 8.1 to run. So really, those people just need to spend a few bucks once a year. I've seen people pay $50 for their new phone this year, and that that price most people can buy more than 1. New hardware is very cheap. There's simply no excuse not to buy a new device unless you're actually so poverty-stricken that you can't obtain $50. I suspect anybody posting on github has at least that amount of money to spend on Android devices.

@Riotous I get your point, but of course there are reasons for not buying more stuff. Replacing 200M phones with cheap $50 ones is worth $10 billion in retail, and the environmental impact of that is even more costly, but we don't usually talk about it. This is more about principles than anything else: this attitude of "just buy a new one"... at some point we should think about the consequences. Anyway, people will replace all of them gradually, they'll die or I guess their cipher suit won't cut it in 2-3 years, yet in the meantime many of the remaining ones can still do the job, so why not? It'd mean a little less coltan mining, which really is a good thing.

What phone costs 50USD unless it is locked on a contract, @Riotous? An Android One device that is designed to be underpowered and a bare essential akin to the old 2.3 Gingerbread phones?

Also, you seem to not understand that refusing to upgrade a phone is born from many reasons, among them being conservative in not wanting to pay so much for a flagship(the perceived standard for phones) nor a new SIM card, or otherwise a contract where more than double the phone's price is paid upon expiration. It is a matter not of having money, but weighing the costs versus the benefits of making an incremental hardware and software improvement in the face of other, more pressing expenses. Phone technology no longer wows many users due to the stagnation of said hardware and software's features, which is independent of the MinSDK version and partially dependent on the TargetSDK version—What the app can support and run on. The original discussion topic is not about what the app can support, but rather what existing support should be left behind.

Also, what is with the fixation on 8.1 Oreo? Is it your specific device's OS version?
———
As for @mnlmnl's viewpoint, I agree with the sentiment that NewPipe can be an extremely useful YT parser on legacy devices, but find the retention of the Samsung Galaxy Young to be rather weedy, especially in comparison to the implied Huawei P9 used as a daily driver. That said, it would not hurt to deprecate 4.0 Ice Cream Sandwich with how little it is used these days, though with how many active devices still use 4.4 KitKat I would seek to eventually make it the farthest back legacy version supported by the app.

A good rule of thumb from my perspective would be to support a range of five to six versions prior to the most recent one(9.0 Pie), or two to three unsupported legacy versions with adjustments for usage. Given 4.4 KitKat's current market hold, it makes for a good deprecation target unless one wants to aim for 5.0 Lollipop to drop all Dalvik runtime enviroment support.

but find the retention of the Samsung Galaxy Young to be rather weedy,

I know, I know... but I got it for free man, and I'm totally abusing NewPipe>VLC on it at home XD. (Too bad it can't see foobar2000 BTW, RadioDroid can and that's even more spartan, maybe more so with OpenSL).

@SC1040-TS2 You can get tons of prepaid Android phones, brand new, up to date, locked to a contract but unlockable with a $10 code for $50. They're not underpowered phones. They have the latest 400 Snapdragon (sometimes 600 series) or Mediatek processors with 2GB of RAM, 5 to 6 inch screens, and are much faster than any device that came with 4.x. The prices are even lower on Black Friday and other store clearances. I know people who just buy a new prepaid phone whenever they break it. It's like nothing to them. If you don't want to use them as a phone, you can just use Wifi and they work fine as media players, etc.

Every year, hardware gets cheaper and cheaper. People take advantage of this all the time. I personally just buy unlocked phones whenever I need one, from a retail store and it lasts me at least 3 years.

There's simply no excuse to have a phone with 4.x anymore. Just buy new hardware and get on with your life. Newpipe should be at 4.4, minimum.

newpipe crashed on every video here :(

android 4.1.1 :(

Then lets abandon it.

@GalAbutbul I don't usually play videos, but NewPipe 0.14.1 plays them very well in android 4.1.2. I've checked again and it just works (obviously you shouldn't try to play 1080p on weak devices). I don't understand what's the point in removing compatibility for an app that still works and makes these devices pretty useful, as it probably would mean keeping the parser up to date and leaving the player as it is, or even removing it and piping the link to an external player, VLC for instance still supports 4.x (and earlier)... of course VLC is huge and also a pretty focused piece of software, but then this is not my project and uncritical consumerism simply makes my eyes roll. Thank you for NewPipe anyway, @theScrabi.

@mnlmnl there's hundreds, even thousands of devices you can buy with Android 8.1 right now for very little money. The Newpipe project shouldn't be stuck in the past just to support a small number of user's PMPs. If you're still running a 4.1.x device, you need to either buy a new one or flash it to something better. You'll thank yourself when you buy a new device, even a cheap one, because it has newer hardware, more ram, and more storage space. It will make you wonder why you stayed with that old device for so long when cheap Android phones are basically being sold for practically nothing. If you think you need to spend $700 to play Youtube videos, then you need to open your eyes and see that the majority of devices out there are actually very cheap but still very usable.

@Riotous I have a nice and fast modern device that's my standard phone to move around and being productive in general, and also older ones which I keep for PMPs instead of getting new PMPs that aren't really much better than an obsolete android phone, because it's convenient and I think about the environment. Obviously you can't understand that point, you think that somehow those new phones happen magically and there is no one mining and polluting to make them, you also think that their low price just happens, well, it doesn't, they're cheap for a reason. That's my point, I use my old stuff because it can be done, it's fun, and it never bothers me because when I really need new hardware I buy it without hesitation. I've been around for a while, so I can appreciate the point in stability, having things that just work, and never being too excited about this year's hype, there'll always be more and also software bloat plus assorted second-system syndromes. NewPipe is a very cool open source project that also makes your old stuff useful a little longer instead of it just going to be disposed of somewhere in Africa under the worst conditions you could think of. I like it that way, but it's no big deal if the project is about making a cooler app, it's simply another choice.

@mnlmnl Yeah, sorry but the Newpipe project's deprecation of 4.1.x has nothing to do with global pollution. That's the hundreds of millions of people in Africa, India, China and Southeast Asia that don't recycle their phones and just throw them somewhere and destroy their own ecology. If that's really the only reason you want Newpipe to be stuck supporting 4.1.x then you should instead focus your efforts on going to those countries with a large bag and collecting old phones to recycle! 😂

@Riotous Well, VideoLAN still supports 2.2. I guess they don't know what they're doing either.

PR for deprecating support for android 4.1 - 4.3 can be found here: https://github.com/TeamNewPipe/NewPipe/pull/1884

I hope KitKat support stays for at least a couple of years.

@mnlmnl VideoLAN is another kind of software entirely.

Software has to move on from older code at some point. You guy can't expect everybody to still have a phone from 2013. Besides as technology progresses, the minimum API requirement will get farther and farther from the current API. Buy yourself an 8.1 device. Apps won't require 8.1 for at least 5 or more years, probably more.

@AnotherLife Probably. There's no huge media support past Kitkat that isn't solved by Exoplayer.

Stop spamming comments telling people to buy 8.1 devices. You've said it enough times. And stop acting like you are a developer or in any way an expert on what direction a piece of software should take.

@AnotherLife the developers have made their decision. Old code needs to be removed. The devs don't need to waste time supporting devices few people have. Flashing your device or buying a new one are the only real solutions right now. You guys have had over 5 years to make this upgrade. Now's the time to do it. Trust me, you'll enjoy using Android more this way. 4.x was when Android stopped being terrible. A new device, even a cheap one, runs much better than those old devices.

I'm using my old devices as media players. And, mostly for sending videos to my Kodi device attached to the TV. Lets say, a Kodi remote control. These devices have been over 400$ each. I remove google from them, so no way of using the youtube app. For some of them there is no newer Android version available!
NewPipe has serious bugs on 4.03, but I can live with it. My wish is that one can fix at least the youtube changes crashing everything like some weeks ago for the old devices.

@Isayso If you can remove Google from them, you can flash them with a newer rom.

Everybody who has been affected by depreciating Android 4.0.3-4.3 can find a legacy version maintained by @friendlyanon here. Atm it is not available through F-Driod, but we hope this is going to change soon.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Aevann picture Aevann  Â·  3Comments

cool-student picture cool-student  Â·  3Comments

probonopd picture probonopd  Â·  3Comments

tty4242 picture tty4242  Â·  3Comments

Hunter9888x picture Hunter9888x  Â·  3Comments