You made me curious. I created a new account and reinstalled Evernote. I opened it, signed in, and do not have any data stored in Evernote. It uses about 1 GB of RAM on a MacBook Pro with M1 Pro. This is just poorly built.
You donāt say if you have 8GB or 16GB memory overall or give any indication of how much other stuff is running on your Mac.
In my experience, macOS memory management is simply phenomenal. That 1 GB memory footprint you cite for Evernote is hardly a fixed amount. My M1 MacBook Air will cheerfully and effectively cram more and more ārunningā programs into its memory and make adjustments to handle it all. And if I discover that Activity Monitor or a rare message from the operating system finally thinks memory is becoming rather overstuffed, it is an easy matter for me to quit a few programs that I have spun up and and then forgotten. I really canāt keep more than a dozen or so programs busy at one time.
Iām curious as to why in particular memory usage makes a program like this good or bad.
As former software developer, I can say with garbage collected languages/platforms your memory usage is only governed in part by your actions.
Just as important is the platform (ie Java virtual machine or JavaScript engine that I assume exists in this case). Also the operating system has a lot of say.
What makes you feel that Evernote is poorly written? (Not trying to defend, Iām truly curious)
Efficiency. Reporting overall memory use in Evernote is shorthand for pointing out the number of processes running, how much of the overall computerās resources they consume, and how unnecessary it is to have a copy of Chrome running to do what Evernote used to do by itself when it ran as a native application.
When writing in a language like Swift or Objective-C, your code is compiled down to machine code and run natively on the computer. Since Evernote is now an Electron application, its written using web technologies, so all the HTML and Javascript has to be compiled on the fly, which means they need to have a browser engine running as well.
That Evernote is now an Electron application instead of a native Mac app means that the developers settle for the lowest common cross-platform denominator, and ship an application thatās easier for them, not better for the customer. The app uses more RAM, more CPU, and doesnāt integrate into the OS as well as a native Mac app. Thatās what makes it a bad app.
Arguably, itās better for the consumer to have the same app in different platforms: iOS, Mac, Android, Windows while at the same time having a vendor with an operation that is financially viable.
The Electron discussion has been beaten quite a few times in this forum, but Iād say that resource usage is becoming the less relevant part these days, I donāt even notice that Evernote is running in the background in my 2018 Intel Mac.
Do you condemn equally VSCode, Obsidian and every other Electron app?
FWIW you can write inefficient Swift or Objective C code. As you user we would likely never know.
Microsoft, in their WebView2 documentation, gives some reasons for developing the different types of apps we use today.
- Wide reach includes websites and Progressive Web Apps.
- In the middle are hybrid apps, such as WebViews and Electron.
- Maximum power is native apps.
I agree, and I think we will see the number of web / hybrid apps increase.
āSome Mac nerds are sure to throw me under the bus after this, but web apps ā not native apps ā are surely the future for most people.ā
Performance and polish increasingly matters the more the app is used daily. The Remotion team once estimated that around 30 minutes of daily use for typical users, it becomes worth it to develop a performant and feel-good client (at the time of this writing, typically a native app unless the engineering team is large.)
User research is helpful here because itās really hard to put on paper what makes an app feel better to use. You can only measure it in aggregate after the fact with churn and disengagement statistics. (You can also just sell to the top of an organization and have the org force your software on their users and plausibly deny any difficulties with the rolloutāEvernote isnāt in this position, though.)
Except when you live in the 70-80% of the country where web access is not a given. Then we feel sidelined and marginalized. Just because the coastal urban population has web access all the time doesnāt mean that the rest of us donāt matter! Said the person fighting a non-native wolf introduction forced on us by urban idiots who have no F-ing clue about what it means for us here who have to live with an apex predator that is not native that is being forced upon us with no ability to protect the animals we have an obligation to serve (thanks to stupid endangered species lawsuits that wil prevent us frim killing a wolf that is killing our sheep even though there are less than 10,000 BWMS in the world and soemn states have more than 10,000 Canadian timber wolves!)
Sorry, been dealing with writing what are probably tilting at windmills arguments about why itās a Bad Idea that will only hurt us for generations to come.
That quote is from the sweetsetup article but I agree with it. Most people have fairly simple computing requirements. A lot of them are already doing most of their work in a browser and we have a generation of students used to working that way entering the workforce.
But before clould computing, AI, or whatever can significantly change things web access has to be a given. So someone will need to solve the rural internet problem. Hopefully something like Starlink, Kymeta, or ā5G, 5G, 5Gā, etc. will turn out to be the first step of a solution.
No need to apologize, youāre among friends.
I remember these discussions regarding Firefox years ago. People were outraged that it used a big chunk of memory, but no one seemed to report such usage actually causing problems. People treated RAM as their own cash rather than something ready to be used.
Using available memory can mean an efficient app, preloading content and features so theyāre ready to go, but being forced to back off by the OS when thereās memory pressure. My 8GB MBA has never run out of memory - disk space yes, memory no. Even on Windows itās been a while since I encountered memory issues.
Yes.
Imagine how fast classic macOS would feel on modern hardware. Blazing. Limited, to be sure, but incredibly fast. I might be the grumpy old man yelling at clouds, but wasting resources just because we have them doesnāt seem right to me.
Keep in mind, when I am at my house I have internet that is in the top 10% of the nation. What people miss is that it only exists when I am tied to the fiber from the electric company. Go 1 mile away and no interent available. Starlink is good in lots of places but requires a clear view of the sky, mountains and canyons defeat that. Even within cities there can be pockets of no cell phone coverage. Just on our regular trips to go shopping we hit cell phone holes with zero coverage. The recent accident with the totaled truck happened in just such a hole (in another state but still a cell phone dark area) and was why it took hours to even get a call in to 911 and was only with the help of passing motorists. It was also in a canyon with limited view of the sky so satt. based systems are also iffy
But macOS memory management is more subtle and effective than ever before. Because of this, apps have more freedom to āwasteā memory when the operating system is smart enough to cope, even as memory pressure increases. Within limits, macOS can rein in apps that are extravagant with resources.
Iām simply echoing what @nationalinterest said earlier ā¦
I havenāt driven in your state since the 90ās but I remember having to switch frequencies so I could keep listening to the same broadcast radio station. And a community getting cell coverage was big news. It sounds like some of those same problems still exist.
Back then we had dead areas (which my VP kept telling me to have āfixedā) but itās rare to find one in the southeast today. Good luck.
More recently itās flipped: Firefox is fairly proud of their multi-process memory usage. Yes, that number in Activity Monitor is one users can misunderstand, but Itās still a proxy for good software engineering. For apps that see a lot of content come and go while remaining open, like a browser or Evernote, memory usage becomes more about good memory allocation and collection than the size of the codebase or third party libraries. Users pick up on (mostly) intangible consequences of poor memory management and donāt have the vocabulary or tools to express it, so they may complain about proxy metrics, but their underlying reactions are legitimate.
can I upvote you more?? wonderful explanation and I wish I had the understanding to write like that!
For example, there is this pesky process called āWindowServerā that is hogging 3.64GB of RAM on my machine! Outrageous! Jokes aside, memory usage & management has gone much more sophisticated than the good old days where you were recommended to setup a swap partition double the size of your RAM.
Just look how much more detailed info was displayed 10 years ago.
Probably Apple removed it because users were doing all kinds of wrong interpretations.
I would disagree here. Many workplaces tell employees what apps they need to use as well as platform. They are also increasingly not happy for work devices to be used for personal work due to data protection. Thereās a separation between work and personal.
If everything has to be available on every platform we end up with the lowest common denominator where the app works as a silo.
If I want to use a ChromeOS app, Iāll buy a Chromebook. If weāre going to end up with most apps being Electron, why spend Ā£1500 on a mac when a Ā£200 Chromebook will do the job?
Every time I try Election apps they are annoying, frustrating and a pain. I do not want a ChromeOS VM running my daily apps.