That's actually not that rare when I work later than usual. Some stupid problem my brain is too fried to solve. Eventually I give up, feeling defeat for the whole evening and solve the problem in 10 mins the next morning. Get enough sleep, people.
However, much research shows the hand banging against the wall period is required for you to achieve the morning breakthrough.
The sleeping break is where your neurons form new connections based their activity yesterday. The “thinking hard” and the frustration is a required part of the morning epiphany.
This meme is really only true for things like Slack where the app is just the webpage in an app, and even then it's not quite true because Electron is a lot heavier than a webpage because it has to now run the webpage and the app - which I think is terrible.
But then also, Electron enables actual apps to be developed using web standards - which I think is great.
TLDR: Use Electron to make apps, not glorified webpages.
For Slack it does. Building an app via Electron means it’s cross-platform by default, so Slack doesn’t need to invest in separate platform teams to solve the same problem (Windows, macOS, Linux).
Electron also has better support for things like native notifications, video and voice calls, offline capabilities, and to other native APIs etc that are either unsupported or spottily supported via the browser.
It’s a much more lightweight option for building cross platfrom apps than Electron. Heck, even Tauri is better than Electron even though it also uses web technologies for UI.
It has all this support for native platforms yet it’s always a clunky memory hog that makes zero effort to respect the design language of the OS it’s running on.
I’m on macOS, I want the app to be a native macOS app. If I wanted it to look like a webpage, or Windows, or Linux GTK then I’d switch to one of those and expect it to match those paradigms.
It has all this support for native platforms yet it’s always a clunky memory hog
Maybe so but it has improved a lot over time. The app devs share some responsibility too so it’s not all on Electron.
zero effort to respect the design language of the OS it’s running on.
That’s the Dev’s design choice, not a limitation of Electron.
I’m on macOS, I want the app to be a native macOS app. If I wanted it to look like a webpage, or Windows, or Linux GTK then I’d switch to one of those and expect it to match those paradigms.
I don’t disagree but at the end of the day it doesn’t matter to enough people for it to become an issue. People are used to Slack and the way it works.
Moreover the cost of building the same app 2x or 3x simply doesn’t make business sense.
I’m a web developer but is there no concept of classes, libraries, etc in other programming languages?
What happened to writing the “core” of an app that doesn’t rely on UI then simply writing the front ends for each platform you want to support?
You keep saying Electron is used for better compatibility and listing out Linux, Windows, macOS but here’s the thing — most companies are only targeting those. That’s just three (if you don’t write for a million desktops on Linux).
Is it really so hard to support just three environments with only the UI being tailored for the OS it’s running on?
Honestly, it just feels like poor tooling and a poor excuse.
What happened to writing the “core” of an app that doesn’t rely on UI then simply writing the front ends for each platform you want to support?
What do you mean? I can’t speak for Slack but I’m sure some degree of business logic / client side logic separation exists.
By the way, what you just described is the essence of cross-platform development, rather than an argument for building apps natively.
simply writing the front ends for each platform you want to support?
But why would you rewrite the “front-end” for each platform if you have one you could just port over? Who is going to pay for those 2x developers and what would be the ROI on this effort?
That’s just three (if you don’t write for a million desktops on Linux).
Is it really so hard to support just three environments with only the UI being tailored for the OS it’s running on?
In Slack’s case I’d wager the answer to be a resounding YES. I don’t think you fully grasp the full scope Slack’s capabilities, and the amount of work involved to build native clients for not just one or two, but three different platforms - it’s definitely not just the “UI”.
Honestly, it just feels like poor tooling and a poor excuse.
Quite the opposite - frameworks like Electron let’s devs with your skillset build with the stack you already know, and abstracts away quite a bit of the cross-platform complexities, which strangely enough is what you are suggesting but also what you are arguing against
Installing WordPress through a traditional Apache server shared hosting account only requires one click, and you can host as many sites as you want for like $9 per month.
Once upon a time, a content management system for microsoft.com was a plug in for VS. And also a plug in for Word. And these two plugins had different feature sets, so you had to use both to manage content on microsoft.com. Don’t ask how I know.
Me: open the form, add my field. Now VS crashes. I have to open the form code in a different editor and delete all the code VS added to the form when I opened it in the form editor.
“No, wait, it’s not what you think! There’s a continuous integration system, a commit would’ve triggered a new build! It might have paged the oncall! Babe! The test suite has been flaky lately!”
Yeah one of these views is more valid than the other:
“I got an error message! It says, Please right click the application and select ‘Run As Administrator…’ What does it mean?! What do I do!!! Why are these instructions so confusing?!”
“I got an error on the page! It says ‘Password incorrect’ What does that mean? How do I fix it?” “Have you tried using the correct password?”
Why on earth are you putting double quotation marks inside double quotation marks? We have single and double quotation marks for this exact reason. It took me forever to understand what you’re saying
Yeah, I’m in the IT dept (companys conatantly flop between throwing software into engineering, IT, or its own dept) and the other day, 5 minutes before I leave for a week long vacation a user comes up and asks if we’re ignoring her.
Outlook is constantly asking for a password to one of the emails she uses. She doesn’t know it and keeps clicking close on the popup. So she sends an email, FROM THE ACCOUNT SHE IS LOGGED OUT OF, to helpdesk a few days earlier.
I’ve had to walk someone over the phone through a prompt that says “Click OK to continue” and there was nothing else except the OK button.
Also when I used to work for Federal Student Aide help center it was common for (people who were about to enter into higher education) to get stuck at the end of the online form when a final screen came up with the options “Submit” and “Cancel”
That just seems like bad software design with a prompt like that, unless its for audit trail purposes and it’s used to log the user is actively accepting to continue.
I was looking for a journaling app that didn’t have vendor locking, or required some weird export dump that messed your formatting and folders up. That lead me to Markdown and Obsidian. I love it. And when I die, that shit will still be readable by any basic text editor.
I’ll admit I’m a sucker for a good UI, and I’m very picky apparently. And as much as I like Markdown, I like looking at rendered Markdown more, lol. I was just looking at GitJournal and Markor and my god…hideous apps.
I came from DayOne, and their format is some json that I wasnt too keen on for future proofing.
I don’t remember why, but there was some reason I wrote off LogSeq. I tried so many apps but Obsidian was the best fit for me. Maybe I’ll have to try Logseq again and remember…
I’m still figuring out how exactly I want to use LogSeq, but for now it’s kinda acting as a Calendar, Journal, Me Wiki, ToDoList, and general notes scratchpad. I’m not sure how organized I can keep it, but it definitely is nice opening 1 app, and being able to put anything and everything in the journal page for today, just #hashtagging topics for searchability/Discoverability.
Sort of…I’m still testing various apps. The big draw for me to Keep was mobile and web apps. I will often sit at a computer to input even short ToDo because phone swipe keyboards and me do not get along. There is no shortage of Keep clones, but a bunch are missing sync function entirely or require Nextcloud, which is way too much app for my hardware and I’m not standing up an instance just to sync some notes. Here’s a not very formal rundown of what I’ve so far:
Joplin - seems like a solid app and you can easily selfhost the server. But the android app is awful. That and the fact it stores Markdown files in a sqlite db had me look elsewhere
Quillpad - a fork of Quillnote. Looks identical to Keep. Only syncs with Nextcloud and has some quirks. The big one was creating a To Do list with checkboxes from the Notes app in NC displays correctly in Quillpad, but you cannot interact with them at all. So strange.
Zoho Notebook - Zoho as a company is likely the closest you’ll get for a straight up Google replacement. But their privacy policy has some concerning statements regarding sharing data with “market partners”. It was enough for me to keep looking.
Carnet - only syncs with Nextcloud and for some reason the Android app is stupid slow.
Memos - more of a microblogging app. Similar format to Twitter but you can keep it all private and publish nothing. This one has no official app, in favor of a well done progressive web app. Also stores .md in a db file. Incredibly easy to self host. I keep wanting to love this one, but the single column view (think Twitter threads) as opposed to Keeps grid…i don’t know. I still have it up on my server since it takes almost nothing to run and I keep playing with it.
The two contenders for me right now have some amazing promise and nice features already, but it’s whats on their roadmaps that has intrigued me more:
Acreom - not FOSS yet and the mobile app can only sync with their cloud. No E2EE…yet. On desktop it’s great. You can use it without an account and like Obsidian, it stores it in flat .md. The To Do/Task function has some natural language processing that can recognize date/time for due dates like “Deploy patches Wednesday at 4am” would recognize Wednesday as Sept 20th since that’s the next closest date and the time at 4am. I think once they open source it and at least allow local only storage on a phone, it’ll be killer. I’d love to use Syncthing to just keep my pile of notes up to date between multiple devices. Not possible on mobile yet. This one is geared more towards developers to track projects, even offers a Jira tie in (gross).
Notesnook - somewhat recently open source. Has great apps for all OSes as well as a web app. And what is really nice is that the UI is consistent across platforms. They have a paid tier that’s a bit spendy for my liking, but they are working on a self hosting option that will be free of course. The dev did tell me they’re toying with the idea of a charge for commercial self hosters, but definitely not for individuals. This one isn’t in plain .md due to their selling point, which is encrypted everything.
Wow, thanks for the write-up. Joplin, Memos, Acreom sound/look the most interesting. Notesnook’s feature lockouts on the free tier makes me feel like they may not be included in the self-hosted option, that seems like a common practice. But I’ll keep an eye out… I’m gonna copy this whole thing into my page on notes-apps for later reference.
One I didn’t include because it either requires specific hardware, or some hacky workaround is Synology Note Station. Great app, and I got it up and running using a docker container that runs their proprietary OS. Other problem is the mobile app is not nearly as good.
As you can tell, I love notes apps. So the trend of all these Personal Knowledge Management/second brain apps is amazing.
What was that device, an early cellular modem or 802.11 wireless bridge? The thing ontop of the briefcase looks like a head visor with an antenna. Google search keywords are just noise.
programmer_humor
Active
This magazine is from a federated server and may be incomplete. Browse more on the original instance.