Developers making desktop applications should be made to use anemic ~10 year old computers so they know what their application will feel like to common people. Builds can be done on a headless server with plentiful ram; the requirements of the build environment needn't factor into what computer a programmer is given to test their work.
Every performance problem was obvious. Every fix was a clear improvement. And when things were acceptable there, the app absolutely screamed on modern phones. We had startup times faster than Android's launch animation with a little bit of care. Our users loved it.
The equivalent for web development would be to set the network throttling (two clicks in the Chrome DevTools) to the 3G preset, packet drops and all
It’s too bad that perfectly serviceable machines like that are being relegated to closets and trashcans due to sheer inefficiency of modern software.
Thinkpad X200, I'm betting. Lovely machines until you open Firefox.
KPXC looks absolutely lovely but for me it lacks one feature: fold up the tree in one click. This sounds a bit naff but:
We have a KPDBX that is used by several people concurrently - mostly Windows via a drive letter, so direct access. One or two use it via a local clone that they sync remotely back to our central copy. One of those insists on ignoring the tree structure and searching instead, causing the tree to expand somewhat, and then syncing that state back via their "save". I found a plugin for my Windows sporting colleagues that folds the tree back up on open, also KP has a right click option to recursively open or close the tree.
KPCX does not have either option and I generally prefer to find an entry by browsing to it.
Not all people work the same way: some open so many tabs on so many browsers that their machine eventually crashes, and they leave KP in a right old state. Others close tabs when their title is occluded or the tab is no longer needed (you can always reopen closed tab). Some leave RDP sessions open for ever on every box ever and some don't.
Anyway, you get the idea!
I just need browser integrations to work and for it to be open source, I was pretty surprised how well the autofill works on Android. No way am I putting my passwords on the cloud, that makes zero sense to me.
As a nice example of the downsides, due to a few clicks while removing a friend's trial account, 1P irrevocably deleted their data immediately. Which was not clear and was not desired. (Not a bug per se, just "wait what, heck no I didn't mean to do that / didn't know it would do that immediately and with no explanatory prompt")
If they hadn't worked so hard to kill off their local backups, it would've been easy to restore access. Instead nope, and they lost quite a few customers immediately.
Quite right. I use self hosted Nextcloud to get files around. For my sins I own a MS partner firm but I use Arch (BTW)!
Dynamic DNS will always help you to get a presence on the internet unless you are behind NAT and even then, there are remedies (VPNs for example).
Keep it free kids!
Also I don't think the Windows app is an Electron app? I'm not sure how to see it but it feels very native to me. Do you think they have a native Windows app but an Electron mac app?
Seriously, any devs that use Electron rather than programming for an operating system's natively provided APIs are lazy and/or incompetent and very disrespectful of peoples' computers and time.
This is such an aggressively bad take. This is disrespectful of a lot of developers' time. Plenty of open source software I greatly enjoy wouldn't exist on Linux if it wasn't for Electron. Electron is not a choice I would make for myself but to say "if you use it you are incompetent" is just a bad take.
I might consider respecting them when they start respecting my time and hardware.
The only Electron programs I tolerate are of the Too Big To Evade kind: Steam, Discord, LINE, and DMM Game Player.
The rest can (and have) all take a hike for wasting my electric bills.
Also, don't expect (let alone demand) to earn any respect from users if you don't respect them in the first place. It's really that simple.
Citation needed.
If my competitors want to waste time and resources hiring people to create 3-4 versions of the same app for different devices/OSes, I gladly welcome it. I'll be a well established incumbent by the time they put out their MVP.
If I can solve an important business need, my customers don't care if I use 120mb of RAM to do it. They certainly don't see it as "disrespectful" if I can save/make them money in the long run.
However, the problem is that you end up with apps that behave differently, miss features, and have different bugs across platforms. Drives people crazy. Just one example: 1Password 7 for Windows shows different search results in a different order compared to the Mac app. Obviously it could be fixed but then a different issue pops up somewhere else.
Instead of adding new features we spent time fixing (making?) various bugs in different ways.
The new 1Password 8 still has a ton of platform-specific code but the core is the same across all desktop and mobile apps. It allows us to get the new features out faster and also spend time on platform-specific code.
Is it the most performant? No. Does your average user care? No.
So in the meantime, I don't really give a crap what the average angsty passive aggressive self-entitled developer thinks about the underpinning framework that my products are written with since frankly, you're not really the target demographic. (For most software).
It's very vary poor outlook on other people to think their lazy and incompetent. I'm sorry you hold these values but please try and get out of that toxic mentality your publicly showcasing here.
At 1Password we actually did not mind developing separately for every platform. It's been done for years. We build it for ourselves and don't mind putting extra work for better experience.
However, the problem is that you end up with apps that behave differently, miss features, and have different bugs across platforms. Drives people crazy. Just one example: 1Password 7 for Windows shows different search results in a different order compared to the Mac app. Obviously it could be fixed but then a different issue pops up somewhere else.
Instead of adding new features we spent time fixing (making?) various bugs in different ways.
The new 1Password 8 still has a ton of platform-specific code but the core is the same across all desktop and mobile apps. It allows us to get the new features out faster and also spend time on platform-specific code.
In my case I preferred the more tailored to each platform aesthetic, but I can see how that variation could confuse people.
Still a huge fan and recommend 1Password to friends.
but there's solution even for those: fork it :)
I hope the people complaining about electron are the ones that at least put money where their mouth is and donated to those projects if they do expect native versions
No you are absolutely wrong. Laziness is not a factor.
Have you ever had to develop and release an application across 5 operating systems all with different UI APIs while also offering a web based UI too? Perhaps it actually makes a lot of sense to consolidate your code base so you can focus on feature development instead of OS compatibility issues and managing many versions of your software across os targets? This is why electron is appealing. In my experience most people who dislike electron apps are speaking from ignorance. They usually have some sort of irrational prejudice against web technologies.
Yes, writing and maintaining codebases for multiple environments is tedious, but it's part of the job description if you are providing good, solid software for more than one operating environment.
If you argue it's too tedious to maintain six codebases, that is the definition of laziness and you ironically helped reaffirm my argument.
Either suck it up or find a new, less demanding job. Programmers of yore managed to do it and we were all better off for it.
Have you ever run a company or worked on a software team? It's a rhetorical question, it's clear that the answer is a solid no. It's not about convenience, it's about economics and getting shit done. Customers getting a product that works is better than them not getting a product because your company blew all its money trying to hire and manage six software teams, or getting a product that only works on some platforms. What a colossally bad take.
Nope. :V
>but you spent years studying to get a computer science degree
Nope. :V
>later on started a family
Nope. :V
>decided to get a job in Human Resources.
Nope. :V
I'm just a stereotypical self-taught computer nerd of the 90s and early 2000s who saw how lean and effective software of yore were and yearn for those days.
Seriously, we have mundane access to tens and even hundreds of GB of RAM and 5GHz of CPU and what do we use it all for? To try and keep the stuff in the background happy, usually Windows or Chrome in this day and age.
The better hardware becomes, the worse software becomes to waste the hardware even harder. Fuck this noise, I want my childhood computers of badassitude back.
Swap speeds are fantastic, but that isn’t an excuse to bloat out software to use all a customer’s RAM which they might want for other things.
No, it doesn't hold for any desktop application unless you have very good reason to believe that application is the raison d'etre for that computer. If that application is the reason for that computer existing and being used, then maybe you can say unused ram is wasted ram. But if that isn't the case, if your application is auxiliary to the primary purpose of that computer, then "unused ram is wasted ram" is never true for your application.
Photoshop for digital artists or CAD for architects are examples were "unused ram is wasted ram" might be true. Fullscreen computer games are another. But a password manager app? The password manger app is an auxiliary program, not the reason for that computer to exist. The password app should never assume ram not used by the password app is otherwise unused.
There is no such thing as unused RAM after a decent amount of uptime on any mainstream operating system running defaults anymore. If no application has requested it, RAM will get used as file system cache which speeds up the experience in general.
Every Electron app seems to want around 400MB RAM minimum. It's not practical for too many of your day-to-day essential applications to be greedy with resources, it all adds up and not everyone has 32GB of RAM.
I used Matrix chat client, Element, on Android - it's an electron app, guess what? It uses 500mb-1GB of RAM. KDE NeoChat Android used 50MB. Electron is simply not a good fit for everyone.