Internet > dl file > convert decrypt > read file > play > remove files after max cache reached
The internet/downloading takes a lot off power.
The filesystem is also in use far more
The encryption takes a lot off cycles as well. The reason that it is there is so it won't be a glorified music piracy software ala napster/kazaa/limewire.
At one point Apple removed indy apps from their store which cached youtube music to file system for offline listening. A nice feature, but music is copyrighted and has
a rich history with lawsuits. You can't just stream music, because streaming in this context is same as downloading.
All battery munching things that add up, but which are essential due to the nature off the data.
Furthermore, Spotify needs to run on ios, android, windows, linux and osx.
For this needs far more intricate code than a player for 1 OS. Optimizing individually for each and make it shared platform is no easy task
I agree a lot needs to be better, but there is quite some bias and overlooked factors.
Modern wifi is surprisingly efficient and shouldn't make much of a dent on a laptop-like device.
There doesn't need to be much of a difference. Decoding encryption is no good excuse to bump it up to multi-GHz range -- even at high quality, compressed music comes at no more than a few dozen kilobytes per second. That is nothing.
Unless the application is pre-caching entire albums, encryption & decode aren't a good excuse.
Portability has nothing to do with it either. mpg123 runs on lots of systems. "I must run on Linux so I use 3.5GHz on Windows!" said no application. Ever.
Presumably the ideal wifi system would transmit with as little power as needed, but would ramp up power when faced with thick walls, long distances and interference.
It likely just isn't a concern for them. Just as making page loads lightweight isn't a concern for most press-like organizations that prefer to serve megabytes of script, pictures and ads across dozens of requests.
Bloat and inefficiency is the way it goes in this industry, and these companies are too big to care if tedu doesn't like the way the cycles are wasted. Solo developers may have different priorities.
I remember well the anecdotes of working for Steve Jobs. Devs sitting through an entire weekend just to make the transition for switching between menu's precise to the millisecond. This one is slightly hyperbole, but the point is standards.
It's no coincidence the ipod is the most famous music player in history ever.
Devs might see the issues with the code, but as you say, a lot off people in high places give 0 shits.
I've had this happen myself at many companies I worked with. I found a way to be more efficient and u get false promises of it being adressed in the future or your advice gets ignored, or dismissed as a waste off time.
At worst u become the know-it-all who "can't let things go". Fun times..
While there are many inexperienced devs. A devs work is only as good as the standards of it's "captain".
Do what I do. Don't ask them for the extra time. Make it a challenge for yourself to create the better solution in the allotted time budget. Or make it a side project (10-20% time).
I may be becoming too cynical or slightly old but I don't care if the businessmen are smart enough to recognize a good investment in quality. I am not interested in educating bean counters. I simply don't ask them and I leave them no choice. I invest in a future where I won't be cursing myself or them. They never know it and we're all better off.
Do I understand you correctly in that you attribute increased power usage to the intricacies of copyright law (at least in part)? Because that's an interesting angle that I hadn't even considered yet. :)
Well, I opened up my supposed music cache from Spotify once and u dont get a list with audio tracks, but encrypted data. The cache was about 12gb large so it must be the audio.
If it was the pure audio source then nothing stops me from copying it and put it in my own library, possibly shared with anyone through my own NAS avoiding ads and future subscriptions.
I could also just stream the cached folder into my own app, and while losing the ability to pick songs in real time it effectively becomes a radio given the main client keeps running, which I would do on a random cheap pi or server.
Read file > play
Spotify
Internet > dl file > convert decrypt > read file > play > remove files after max cache reached
The internet/downloading takes a lot off power.
The filesystem is also in use far more
The encryption takes a lot off cycles as well. The reason that it is there is so it won't be a glorified music piracy software ala napster/kazaa/limewire.
At one point Apple removed indy apps from their store which cached youtube music to file system for offline listening. A nice feature, but music is copyrighted and has a rich history with lawsuits. You can't just stream music, because streaming in this context is same as downloading.
All battery munching things that add up, but which are essential due to the nature off the data.
Furthermore, Spotify needs to run on ios, android, windows, linux and osx.
For this needs far more intricate code than a player for 1 OS. Optimizing individually for each and make it shared platform is no easy task
I agree a lot needs to be better, but there is quite some bias and overlooked factors.