I don't understand this objection. Every time people say "software is slow today: compare Spotify to Winamp/Xmms", the objectiion is that Spotify isn't Xmms, it's a music streaming service. But so what? Why can't a music streaming service be fast to start up? It's already a thick client. My life isn't going to end if I can start playing music within milliseconds but the playlist is a few tracks different compared to a hypothetical playlist that was hypothetically edited on another computer which doesn't exist because I use spotify exclusively on my phone.
There is something about Spotify that means if I play a track for the first time it will have to wait a few seconds to start streaming. But what is it about Spotify that means that it takes several times longer to start playing the same track I was listening to just before it crashed compared to how long Winamp took?
> I'm using the desktop app right now. It's using 160mb of ram and it's very responsive.
This feels a little like it's meant to be irony, except that you clearly mean it seriously. You don't see anything wrong with a webservice client that has local caches using 160 MB ram? And you think that's not bloated, in comparison to a music player that ran on a machine which had 8 MB ram - even for the operating system?
My experience with Spotify is that it's basically a loading symbol. I more or less switch between two playlists (Discover Weekly and Liked Songs, with occasional forreys into the albums of tracks I hear and like). Every time it gets kicked out of memory - which happens extremely fast on my phone with 8 GB ram - it takes ages to get back up to the point it was before. (Compared to my podcast app (Antenna Pod), which only gets kicked out of memory over night when everything seems to, and which is fast and responsive even when just starting.)
Spotify isn't really a song player. It is a song license management system with arbitrary playlists referencing song data whose licensing may change.
You want to access the same data under the same license. Spotify isn't sure the license hasn't changed since it last started streaming to you.
The misery of such a system is exacerbated by buggy client software.
Maybe if the Spotify API was more like the Stripe of music licensing systems, you'd sideload your own client.
I don’t really understand the rant about Spotify. In my experience it’s one of the “good” modern apps. One of the amazing features that it has is the remote playback control - I can listen to the music from my PS4 and control it from any of my devices that have Spotify installed.
What they could do better is the playlist organizer, the existing one is too simple.
I mostly agree that the overall quality of the modern software is subpar, comparing to the gems from the past (vim, emacs, winamp, vlc, etc), but Spotify is more or less fine.
They are relatively high resolution. That look good on my 4k screen.
How much ram do those decoded assets take up?
Your 8MB ram computer would not handle network streaming, decoding 320kbs/s audio, displaying a high resolution UI, etc.
The comparison is ridiculous.
There's a difference between today where people use 4k displays to back in the days when 1024x768 was high end. That's 10x the amount of pixels.
-
Also your complaints seem to be about the speed of your internet connection.
The average person does not wait multiple seconds to play a song.
Reduce the quality of your streaming if you want it to be more responsive.
--
Also your phone seems to be a bad phone.
Storage speed and CPU power are also factors in how fast a device runs software.
My 3 year old Note 9 works perfectly fine.
It means the memory and CPU consumption could be reduced had it was written using more lightweight framework like C#/.NET, C++, or something else, like PWA in browser instead of a full, seperate, single Chromium instance for one app.
You can build or port a web app to electron using mature and productive tools (html/css/boostrap/typescript/angular...god forbid React). What's more to say.
The compiled language ecosphere requires each their own set of tools for each platform. Beside electron the next best cross platform framework (xamarin forms) uses proprietryish UI document description (XAML) requiring the developer to work through another huge learning curve.
Especially in a time when smartphones are the main platform for most consumers.
Winamp was already mentioned in another comment. While 160mb is "fine" on 16gb systems, it's still much more than similar apps used to take up and will not be much fun on a 4gb system, which is what many not so technical people still use daily.
As a whole Spotify includes way more functionality than winamp, they have completely different goals though. Winamp is a player, Spotify is a service. Nobody would use Spotify as a pure music client, you can't really compare them.
- I can play any song or podcast that I want without ordering a CD (that I couldn't afford as a kid) or opening up a torrent client.
- Curation is taken care of. Every song I've ever "liked" or added to a playlist is available on any of my devices, without me having to worry about syncing.
- I can discover music similar to an artist or song with Song Radio. I have curated playlists created for me based on my tastes (Discover Weekly).
- I can cast to any other device, like a Sound bar.
- I can run this application on Mac, Linux and Windows and it works without a hitch on all 3. I remember back when native applications simply didn't appear on Linux. Skype was the dominant video calling service and it simply didn't work on Linux. Now you can choose the OS that you want knowing that all software will work, without mucking around with Wine.
There's two kinds of people - those that pretend that Spotify and others don't have any new features compared to Winamp 5.0. The second kind pretend that these features are useless or no one wants them. Nope, I like the status quo just fine. So do tens of millions of others.
All of that software is still available. Download Winamp (https://www.winamp.com) or whatever other "lightweight" players you want. Fact is, people voted with their wallets and they went with the streaming services that use electron for their clients.
Spotify makes it cheap to use without ownership - like uber basically - and millions do like that.
I blame the greedy music business that really didn't want to sell singles.
They've been forced to change - partially thanks to amazon and apple - but they embraced the change too late, and instead change was forced upon them.
The music biz could of made a version of limewire where people could pay for songs at a fair price and get top quality.. take advantage of the curation people were doing, and more - but they went to courts to block instead.
There's more than 2 kinds of people.
Some people voted with their wallets for MusicMatch Jukebox 7.1 - then yahoo took it, ruined it, then killed it.
Many people are voting with their wallets to borrow music from a fancy playlist company - that's cool -and I'm glad it exists. I prefer to own music that I can put on different devices myself and access anywhere anytime without an internet connection or worrying that my license key is not valid.
FI android did AirDrop I think the tide would be different. Amazon an excellent buy digital audio options (via computer) - sadly they make it very hard to download and own digital mp3s using the android app -
I get that some of these decisions are based on the whole - push them to the subscription /rent to use model where we win having lots of people who use it little.. but I prefer to download to the computer unzip and plugin a cable to transfer.
So while tech of the yesteryear is fine, some of the 'modern tech' is purposefully handicapping in some ways - and sometimes they are doing so to keep people hooked on drip-to-use-not-own-rent-forever models.
The good is that more people can enjoy more music - so yay spotify. The bad is that I don't think it's as good for the bands, and depending on the magic wifi can leave you high and dry when you need tunes the most - but at least you'll have a few dollars in your pocket :)
That rent and never own economy is good for some things, but it's not for everything for everybody.
Another Winamp plug-in that’s incredibly useful is the disk-writer, included with the application. With it you can use any of the input plugins to transcode files to uncompressed WAV format.
Streamripper.
Others can't remember atm. Good times hunting through the plugins and themes.
And that is acceptable for a music player ???.
There's also the song data for what's playing now and next song.
You don't seem to understand what the application is doing.
Why is that so different from Java or .NET?
Simply because it's an easy meme.
It means (1) high memory usage (although people are ridiculously oversensitive about this relative to CPU use) (2) long startup times (3) high ambient CPU usage and (4) a high-latency interface (on average machines - anything is snappy on a brand-new $1k M1 Macbook Air).
> and it's very responsive
On what CPU? Will it still be responsive on a 8-year-old Core i5 on one of my Thinkpads?
Electron will be using GPU rendering.
What kind of GPU performance does your 8 year old laptop have?
Probably a minimum of 5x less performance than a smart phone.
What does "more powerful" even mean? If you mean "better single-threaded CPU performance", I absolutely don't believe you. If you mean "better multi-threaded CPU performance", I might believe you, but would need evidence.
Moreover, that's irrelevant. I, and everyone else who talks about "bloated Electron apps" (including in this thread) is almost exclusively referring to desktop applications. Why would we be talking about running Electron on a smartphone?
> Electron will be using GPU rendering.
Sure. Can you show that CPU usage will still be low? In my experience with Electron applications on a newer laptop with decent graphics (can play Dota 2), CPU usage is still 15% of a single core while literally nothing is happening.
https://browser.geekbench.com/android_devices/samsung-galaxy...
Similar performance to an average Haswell Laptop CPU.
https://browser.geekbench.com/processors/intel-core-i7-4600u
Also it has the Intel 4000 series. This GPU lagged in rendering the windows desktop on 1080. Let alone with a dual monitor setup.
It's not irrelevant. My point is that your ancient CPU with a horrible GPU is less powerful than a mid range smart phone.
Or a secondhand flagship.
There needs to come a point where you accept that your hardware is crap not the software.
Dota 2 is 7 years old. It wasn't decent graphics back in 2013. You may as well have said that the laptop runs minesweeper with decent graphics.
Go load up Genshin Impact. It runs on smartphones, but I imagine might set your new laptop on fire.
Why is your 15% thing the fault of electron? Microsoft teams is a crap application it's not the frameworks fault.
I'd say the majority of shitty applications I've used is coded in Java.
I've used plenty of enterprise tools that spit out the lovely error message "NullPointerException"
Is it fair to say that all apps coded with Java is shit?
But also where are you getting your 15% from?
However, it doesn't matter.
> It's not irrelevant. My point is that your ancient CPU with a horrible GPU is less powerful than a mid range smart phone.
I literally pointed out exactly why it's irrelevant, and you completely ignored me. I'll point it out again:
> I, and everyone else who talks about "bloated Electron apps" (including in this thread) is almost exclusively referring to desktop applications.
Comparing phones to laptops is an apples-to-oranges comparison. It doesn't matter if a low-end phone might be able to run an Electron app well, because we're not talking about low-end phones - the discussion in this thread, as well as almost every other thread that refers to "bloated Electron applications", is talking exclusively about desktops.
If your "point is that your ancient CPU with a horrible GPU is less powerful than a mid range smart phone", then your point is also irrelevant for the purposes of people talking about bloated Electron apps, because almost none of them are discussing phones.
> There needs to come a point where you accept that your hardware is crap not the software.
Yes, and 7-year-old hardware is not that point for these programs - maybe for ML training, but not chat apps. That point only occurs when hardware is slow enough that the algorithms needed to run the core functionality cannot run quickly on it. Software that does not make efficient use of its hardware is crap. Electron does not make efficient use of its hardware.
Electron is either crap, or makes it so easy to write crap that it might as well be. There's a reason that you see people so often complaining about it, and that's because it's so inefficient that it causes a noticeably poor user experience, even for developers running on mid-range devices (which makes it far worse on low-end devices).
As evidence, Ripcord[1] offers a substantial subset of the features of Discord and Slack[2] with significantly better performance. The fact that it's made by a single person and yet manages to significantly out-perform large teams of (ostensibly) competent engineers while still implementing the core functionality provides strong evidence that it is the framework's fault, because it's clearly not because those features are somehow intrinsically computationally expensive to implement.
> I'd say the majority of shitty applications I've used is coded in Java.
Yes, and I think that Java is a terrible platform, too, speaking from experience with Minecraft, GNU Electric, Netbeans, and Eclipse. That doesn't make Electron any less bad.
> Is it fair to say that all apps coded with Java is shit?
Nobody said that they (or Electron apps) are. All of the complaints that I've seen, including mine, is that Electron generally has terrible performance, strongly encourages bad performance, that all major applications built in it are slow, and while it might be possible to build fast tools in it, we haven't seen them.
> But also where are you getting your 15% from?
...literally the CPU usage of Discord while it's running.
[1] https://cancel.fm/ripcord/ [2] https://dev.cancel.fm/service_features
That being said, I stream Spotify music through foobar using an external plugin, mainly because it is so light. Yeah, it isn't perfect, but if there was a demand for a light app, it is perfectly possible.
These other apps are for curating your own audio files.
Also what does "bloated election app" mean? Because it seems like it's just a meme at this point.
I'm using the desktop app right now. It's using 160mb of ram and it's very responsive.
Teams is just a bad application.
A lot of shitty "enterprise" software is written in Java. If I started saying Java = Bad software. I'm sure many people would disagree.