Looks like the Windows support is provided by a third party that isn't able to produce windows installers past the 1.8.0 version. I had to search around a bit to find that one, so a direct link for anyone that wants the 1.8.0 Windows x64 installer package:
Yes iA Writer is great. I love the new Style Check feature. I don't write much but when I do features like focus mode and style check really help me output a decent to read document.
Something I like is that everything is in plain text and it just uses iCloud for sync rather than trying to do its own thing. Or you can just use Dropbox or whatever else you want as it is just text files in a folder which I always prefer over a database and proprietary syncing solution.
GhostWriter is more basic than others, which some may consider a good thing. I tried it on Arch for a bit since there is a package in the official repos.
I however prefer just using Atom with Markdown Preview Plus. It has a ton of features built in with sane extensions, or you can integrate it with Pandoc:
No, Electron is not falling out of favor, but there's a strong opposition for it from some parties, which I'm a member of.
Make no mistake, Electron is awesome stuff, but it consumes too much memory and processing power for what it can do.
Atom, the poster child of Electron uses as much RAM as Eclipse and can't do 10% of a stock Eclipse installation. When I left it, Atom was unable to open large files, do lazy loading or similar simple stuff.
Other Electron based software also wastes too much resources for the functionality it offers. This is where it gets the most flak.
I'd put up Slack or Discord as the modern exemplars of Electron apps. As much as I loved Atom it has clearly been de-prioritized and on the verge of being shelved by GitHub & Microsoft. Yeah Slack and Discord take a few hundred MB of memory, but for thousands and thousands of people they sit there hanging out in their desktops all day every day with very little fuss. You don't need to install a JVM to use them, you don't need to worry about keeping it updated... it just works. Whether you're on linux, mac or windows... again, it just works. I can walk my parents through installing and using Slack over the phone--I cannot do that for nearly any other desktop app.
So you are willing to trade ~1GiB of your RAM and ~5% of CPU cycles just to be able to send/receive some text messages?
I use those services only in their webapp form and even then, my laptop grinds to a very noticeable halt as soon as they are loading in the tab.
Electron is a nice cross-platform solution until it isn't. Imagine using VSCode, Discord, Slack, Matrix, Spotify, some markdown editor and now you have 6 browser instances chipping away your machine resources...not even counting the actual browser.
> So you are willing to trade ~1GiB of your RAM and ~5% of CPU cycles just to be able to send/receive some text messages?
Yes. Also, I'm curious, do you find the webapp forms use measurably less resources than the electron version? I would've imagined they're pretty close (with Electron possibly even being lighter than a full browser tab), but I am not confident and could be completely wrong.
> Imagine using VSCode, Discord, Slack, Matrix, Spotify, some markdown editor and now you have 6 browser instances chipping away your machine resources
I, and surely tons of others on this forum, am doing this right now without issue.
Sure it's not perfect, especially if you're on battery, but most of the time it just doesn't matter to almost all of their user base.
> I, and surely tons of others on this forum, am doing this right now without issue.
I personally run Teams, Spotify, Evernote and Discord, but I close them as soon as finish working with them. So without issue is a bit of a stretch. Also These applications glitch in a funny, agonizing and obscure ways. They are non-deterministic blobs and this is not good.
> Sure it's not perfect, especially if you're on battery, but most of the time it just doesn't matter to almost all of their user base.
Actually, when computing is moving on portables in an ever increasing speed, this sounds bad. "It's a nice application, but it just kills your mobility. It's not important anyway, eh?"
I don't think the approach of "we have a lot of processing power and its processor is efficient anyway, so let's abuse this" is a good way to approach software development.
There is enormous pressure on web engines to improve efficiency and decrease battery/power spend. With browsers and JS sandbox VMs they are much better equipped to actively manage and spin down idle tasks. Folks get 20+ hours of battery now on M1 macs running tons of Electron apps like Slack, Discord, VSCode, etc. all at once.
The reality is it's far, far easier to write a bad Qt app that sits in busy wait loops locking up an entire core while refreshing UI and destroys your battery (this is a knock on complex native app development, not Qt).
> There is enormous pressure on web engines to improve efficiency and decrease battery/power spend.
Yes. However, these efficiencies are not always translate to better Electron or WebApps on desktop applications.
> With browsers and JS sandbox VMs they are much better equipped to actively manage and spin down idle tasks.
If your code doesn't allow these idle tasks to spin down, all this work is effectively moot.
> Folks get 20+ hours of battery now on M1 macs running tons of Electron apps like Slack, Discord, VSCode, etc. all at once.
This is possible because of the process suspension capabilities of macOS. Not efficiencies of the applications themselves completely. Evernote is the 6th most power hungry application on my M1 MacBook Air, First two is Zoom and Skype. Third one is Safari. I run Teams and Discord only on my desktop, so I've no 12hr power statistics for them for now.
> The reality is it's far, far easier to write a bad Qt app that sits in busy wait loops locking up an entire core while refreshing UI and destroys your battery (this is a knock on complex native app development, not Qt).
Qt's QML simplifies this stuff tremendously. You can write a whole UI in Qt in five lines with QML, without thinking about any of this stuff, while keeping everything native and nice.
The reasoning is, since those are "web"-apps at the core, I saw no reason to complicate my OS package manager with a chrome-instance (bar VSCode). The whole install-use-update could be replaced by opening a tab.
I've used Postman as a desktop app and the performance was subpar.
We're living in a world where my 2 year old phone has 8GB of DDR4 RAM. Even a $150 Chromebook has 4GB. RAM consumption just isn't a realistic concern anymore for office and communication work, much like hard drive space is basically infinite for most people.
When you’re doing development work on any system, every resource is scarce.
I prefer to allocate that memory to a VM or sandboxed/instrumented debug binary instead of a “communicate by sending cats” application.
I want to reiterate that using resources carelessly just because they are abundant is bad resource management. If two or three applications are that careless, neither your RAM, nor your disk space is infinite anymore.
Microsoft Word for Mac uses less RAM and power than Evernote. That’s madness! I love Evernote, but eh, that’s a bit too much for a networked note editor.
> I use those services only in their webapp form and even then, my laptop grinds to a very noticeable halt as soon as they are loading in the tab.
I'm slightly curious about this, pretty much all my gaming-chat has been done on discord for years now and I've literally never had an issue with it at all
They sit in the background and pop up alerts in your native OS notification center. They can start up automatically when you login. You can't accidentally close them when shutting down a browser. That's about it, honestly (Discord is a little more special since it needs native access to see and capture games being played).
There are some well optimized Electron apps, I agree however, they can be implemented in a much better and more native way, without being harder to install and/or update. Qt is a possible alternative. Similarly WxWidgets can do it.
As a big fan of compiled, so-called proper programming languages (and high performance code developer to some extent), I can tell that JVM is being bashed unnecessarily. JVM was heavy, I agree. Since the age of Intel Core i series, JVM is no longer heavy.
I use one of the heaviest JVM applications regularly: Eclipse. It can run in circles around any of the Electron apps with similar memory usage, and I get much more bang per MB in Eclipse. In ~1GB I can keep 3 IDEs open with plethora of files, daemons, tools and integrations. We have in-place updaters for a lot of platforms. Mac has sparkle. Linux's AppImage can update itself seamlessly.
There's no guarantee that an Electron application targets everything out of the pipeline. We still don't have an official Evernote client for Linux. Spotify for Linux is a volunteer project inside the company (which had a very painful and bloody teething too). Slack just hogs your computer. I didn't look to resource usage of Discord, but it's not light I presume.
On the update department again, I've found out that Office for Mac has updated itself again and I didn't notice. Same for Firefox.
So Electron is a nice solution, for some stuff, but it leans too much on "Hardware is cheap, network is reliable" paradigm, which is flat out wrong.
It's very cheap to build on Electron, but user pays the price. There's always the price. It all depends who's going to pay it at the end of the day.
> You don't need to install a JVM to use them, you don't need to worry about keeping it updated... it just works. Whether you're on linux, mac or windows... again, it just works.
That's because the dependencies are included. You can bundle JRE with your Java app and it will "just work" too. You can also ship a native application that "just works" too. There's certainly nothing inherent about Electron apps that make them easier to use. In fact, I'd say many of them _aren't_ easy to use by nature of them not following OS standards; each one has a new interface you have to learn.
It's been controversial from the start. It's essentially using a browser engine in the same way as Java uses the JVM runtime, so all the performance arguments against that apply to Electron too--probably even more so given that the JVM is specifically optimized to be used that way whereas Blink/V8 is not.
Personally, I think the idea of a cross-platform application runtime with GUI capabilities is a good one, browser-based or otherwise. The only real problem is every app needing its own, rather than using some sort of shared (but partitioned) app subsystem based around a central browser engine. I think the Chrome apps were supposed to be essentially that, but didn't work out. That said, Chrome basically treats every tab as a separate browser instance, so Electron really isn't as bad as all that compared to a browser-based app.
The problem is everyone compares it to native, not acknowledging the dev's choice was probably Electron vs. no support off the dev's main OS (usually Windows), rather than Electron vs. native support for Mac or Linux. I still remember when you had to have Windows to run most of the interesting productivity and development apps, so I'm pretty OK with extra overhead in exchange for the expanded support.
It's a great dev experience, and lets you build desktop applications to users fast. Some purists on HN may jab at it because they know the internals that it ships a whole browser engine, and resource and performance-wise is not optimal. It'll be the similar crowd of people who shun JS frameworks for vanilla JS.
A bundle is basically what you see as an application in macOS launcher; under the hood, each app is actually a subdirectory with a bunch of things in it, which presents as a single-clickable in the GUI. I would interpret this to mean "manually sudo copy the (app directory) to /Applications, there is no installer" (download, untar and copy)
For the releases, I don't actually see a published tarball for the bundle (on github) so I'm going to further think that they mean "...first you have to follow the compile instructions to create the output bundle (binaries)" - get Xcode installed, etc. and follow the second macOS readme.
This is great. Non-programming text editors (along with task management, notes, email, and others) belong to the broad class of software for which the options available on Linux are typically extremely unappealing. Especially in contrast to what's available on other platforms (notably: MacOS).
Generally, your options on Linux consist of:
- A couple apps that have been around and remain essentially unchanged since the '90s,
- Some recent, well-meaning but poorly executed programs, and
- A nice-looking but infuriatingly clunky and out-of-place Electron app which I'm loathe to use on principle.
I'm very glad to see a first-class Linux app in this category.
There are always services like Notion to consider too. Cloud-based web-app, always available with zero need to install anything anywhere. Beautiful, mobile and tablet friendly writing. Move effortlessly between writing the same doc on your couch, desk, on the go, etc. Share and collaborate effortlessly with other people.
A self-hosted open source option here if you can do some basic web-app setup and maintenance is HedgeDoc.
Notion is anything but "always available". There's no offline first mode available as of yet and within last 2 months alone there have 2-3 incidents of downtime.
That's quite a qualifier you have there - there's no meaningful distinction between a text editor and a non-programming text editor. You have older options like Emacs and Vim, newer options like VS Code and Atom, and a broad array in between like Geany, Textadept, Kate, Pluma, and on and on.
In the non-programming text editor category you nonetheless have things like Joplin, Obsidian, Notable, and Boostnote. And of course web editors like Evernote, Notion, and Roam, plus TiddlyWiki, Dokuwiki, PmWiki, and so on in the wiki category.
I'm not a programmer, and I love vim and emacs. Not sure why people would dismiss them as being for programming. I edit config files, take notes, manage playlists, and write emails with one or the other. I always miss them when using a text field in a browser.
goyo and limelight can provide (less dramatic) distraction-free experience on vim, and even without searching I'm sure there's something for previewing Markdown from vim.
Vim displays plaintext, so you cannot use it to preview markdown as HTML. However, you can use a plugin such as "markdown-preview" [0] to preview markdown in your browser.
BTW, for my truly favourite aesthetic experience, I like to pair this setup with a nice dark theme, a high quality font, and cool-retro-term (https://github.com/Swordfish90/cool-retro-term/) emulating an old school CRT. Is this practical or ergonomic? Nope! But I love it!
Honestly, I've periodically considered heading back to Emacs-land to see how things have changed.
I used to be an Emacs user back in the early 2000s but Emacs pinky hit me something fierce (it's my own fault; I have poor typing style so I never use the right control, and I could never adapt to the control-capslock swap) so I jumped into Vim and never looked back.
But I gotta admit, Orgmode, among other things, has me feeling a bit Emacs-curious these days... ;)
As another commenter said, there are some nice all-in-one setups or minimal but sane defaults. I haven't used them but hear very good things. And don't forget you always have Evil for Vim bindings in Emacs (I think Spacemacs by default uses it?).
I should finally learn the Vim way. At the very least so when I forget to set EDITOR for root and edit some config, I'm not totally useless. That'll teach me for not opening it up (with sudo via how Emacs handles things like ssh) in my favorite editor. And org-mode is great, I've been doing more and more in Emacs and org these days (email, notes, todo, writing, coding).
Have you thought about trying a different keyboard? I use a Pinky4 and have ctrl (and alt and super) on a thumb key. It both moves these keys from your weakest finger to your strongest, and keeps your pinky free so you can maintain homerow even for something like C-a.
Alternatively, you may be able to hit some of the modifiers with the side of your hand instead of your pinky. That's what I did with my previous keyboard (Pok3r). It also made it easy to hit ctrl and super at the same time for some of my window manager keybinds that use both keys.
Most dedicated markdown editors all end up using the same JS code editor components like Ace, CodeMirror or Monaco, and those editors have great vim keybindings usually as extensions or options. See if the tool you're using lets you flip those vim bindings on. For some editors they expose it as an option and for others you have to hack around with the source (for example enabling it with stackedit, a PWA markdown editor like ghostwriter, is possible with some hacking: https://github.com/benweet/stackedit/issues/254 ).
Well, without knowing what your definition of a "pretty" frontend is, it's a bit tough to reply.
Go check out the screenshots for Goyo and Limelight and ask yourself if it's pretty enough for you. Personally, I think Vim can look as good as any modern editor with a couple plugins and a decent theme and font, but we might not have the same standards. :)
Thanks so much for the response! Unfortunately, I'm probably less concerned about the prettiness about more about the ease of install and (maybe) mouse support to fallback to when I'm feeling lazy.
I'm looking to avoid learning Vim plugins (again...again), setting up an environment, and learning keybindings for sidebars, filenav, etc...
Why it is so big? Download shows 79 Mb of compressed installer. What's inside?
My html-notepad (https://html-notepad.com/) (Sciter based) that allows to edit documents in as WYSIWYG as Markdown forms is just 2 Mb ( also compressed installer ) - 40 times smaller.
What’s the point of a WYSIWYG markdown editor? FWIW quip is one. The only thing I can think of is that if you need to post something you wrote on a platform that accepts markdown it makes it easy. But in general I write markdown when I don’t have google doc or quip
It's a mindset change--make writing flow as freely and easily as typing up a reply in gmail. Think about how many paragraphs you can bang out quickly getting a point across in gmail's editor. It doesn't feel like you're authoring content in a CMS, but if you squint that's really what gmail kind of is--just a CMS for writing content directed to a small (or large) set of people through direct e-mail as opposed to published on a web page.
You're not in a fancy CMS editor with all these whiz-bang blocks and components--those are just noise that give you more anxiety (should I be making this paragraph a hero/lead element? wait no, what about a side-by-side with a graphic? oh, but what graphic? ... hrm, time to go waste 30 minutes looking at unsplash... oh wait, what was I writing again? oh nevermind, I guess I'll come back to finish this tomorrow when my head is clear).
You're not writing content in something that feels like a programming language filled with special characters, an IDE yelling at you for every little misplaced indent or space, etc.
You're just writing text with some light formatting to emphasize structure and key elements. Maybe some lists or bullet points thrown in. A graphic figure or two. It's just like composing an e-mail, something you've done thousands and thousands of times already in your life. There's no pomp and circumstance, no steep learning curve... just writing.
This looks like the tool I've been looking for, and the screenshots in your README are beautiful. Thanks for the work you've done on this, I'm excited to try it out.
Thanks! I recommend using the repositories or the automated builds or compiling from source, as opposed to the tar.gz binary builds linked directly from the README, as those are somewhat badly out of date now. (I probably should update them at some point.)
(HN thread from Nov 2019: https://news.ycombinator.com/item?id=21462832 — I asked for other editors like this and got no other answers AFAICT. So this Mark Text is still the only open-source "WYSIWYG" Markdown editor I'm aware of.)
Are you trying the same Mark Text app (https://marktext.app/ , https://github.com/marktext/marktext)? Here is a screenshot I just took, trying out things: https://i.imgur.com/bvE0FyM.png — it seems to do WYSIWYG just like Typora (which I have used extensively), and in fact I can't find a separate preview mode anywhere. (There is a View→Source Code Mode checkbox that you can turn on if you want to view only the source code for some reason, but that's not the default.) See also the screenshots in the GitHub repo's README (https://raw.githubusercontent.com/marktext/marktext/develop/...). Could you explain the difference you have in mind?
Tried a few markdown readers and I've settled with Obsidian. So far Obsidian has the least amount of bugs and its snappy compare to other Electron based Markdown editors.
Now do the same for asciidoc as this is what book writers use, and make it easy to export to epub, and you have a product that will be used by the next generation of self publishers
I personally think the point of markdown is that any text editor becomes distraction-free. Everything to do with structuring content is inline with the text. How that structure is displayed is deferred to the rendering context.
Well, Markdown is a form of WYSIWYG strictly speaking. Poor man WYSIWYG if you wish.
This
* list item 1
* list item 2
mimics final representation of bullet list and so do pretty much all other syntax constructs of Markdown.
The only benefit it gives for the user (if to compare with typical WYSIWYG) is a simplification of caret positioning.
Consider these MD construct:
_italics_**bold**
In MD you can easily put something in between these two words or modify words themselves. But in case of "tru-WYSIWYG" you will have this situation:
<i>italics</i><b>bold</b>
with just one caret position between italics and bold. In fact there are three possible caret positions (on edges of words and between) but no WYSIWYG editor allows you to do that.
What I would really like is an editor where I can fix the cursor line on the screen and have the document move around that line. I hate looking at the bottom of the window all the time when writing long documents.
This is why I like rich text editors like google docs instead of IDEs jammed with markdown extensions. Rich editors come from a lineage of word-processing tools that are first and foremost for writing paragraphs of text and content. They go out of their way to make the experience of reading and writing pleasant, not mechanical.
" Number of lines (context) around the cursor
" You may like 3, or 5, or 10
" A high number keeps the cursor in the middle of the editor
set scrolloff=999
Then... it's always in the middle of the screen/window, even when working at really big resolutions.
The palette is defined in one spot, allowing colours to be used by both diagrams and typesetting the final PDF. Further, character names can be assigned and referenced within both the prose and diagrams. Also, the variables are interpolated, which allows variables to be defined in terms of other variables.
Are there any other text editors that have interpolated variable references? (I looked, but didn't find any, so started developing my own text editor.)
>Are there any other text editors that have interpolated variable references?
The closest I can think of are Frescobaldi's snippets[1], vim's `!read`, or spreadsheets. Maybe light table [2]? I haven't seen anything exactly like what you've made
> Are there any other text editors that have interpolated variable references?
I made my own markup language a while back that sort of has that feature (http://breuleux.github.io/quaint/syntax.html#variables). The variables can be defined inline or imported from a JSON file or whatever. It does reparse the whole thing on every change, so I'm not sure it scales very well. The language should be amenable to incremental parsing, though, I just haven't had time to tackle that issue. It's far more extensible and far better than Markdown IMO, but I suppose I'm biased.
Most people get this kind of logic from their CMS or publishing platform. Jekyll, hugo, wordpress, 11ty, etc. all have various external state stores (yaml files, JSON, CSV, calling a graphql API, etc.) that you can query and interpolate or insert data into your document using a bevy of different template languages. Check out Gatsby or even Next.js for something that's really pushing the boundaries of static + data-driven content.
Been seeing this a lot lately: someone posts a project or a company to HN, then immediately below it, the top comment negs OP and then goes on to explain how their project is better.
You mean leaving comments about highly related products/software/whatever with a different feature-set and approach? That sounds... perfect.
It can spark all sorts of discussions and ideas about the decisions and tradeoffs made in both projects. All aspects of this - from the ideas themselves to the community response to them - can be very valuable to the original creators of both. It can also give the original creator more information about what's been done and how. Searching for similar stuff when you lack a very well-defined term can be annoyingly difficult.
And it has what I think should be obvious value to the readers and commenters who are interested in originally posted product. Other similar projects may well serve any interested readers better than what was originally posted. Again, searching for this stuff can be difficult. Do you really want to remove this chance to discover a better-fitting product/project/whatever from all the readers?
I see no problem with people posting similar projects. With the usual caveats of civility that apply to literally every other comment as well, these stand to be highly productive comments.
I'm sure you're thinking of the more emotional aspects of this, and even here I disagree. The only situation I can think of where a poster is better off no even hearing about alternatives is if their main motivation is receiving praise on HN. And in that case, hopefully the situation will make it easier for them to realize that is what they are doing, and give them the opportunity to decide if that's something they want to continue doing.
You are right in that tone and intent matters. I think there is nothing wrong in principle in mentioning related work though. It can be done in a non-douchy way.
Strongly worded insinuations, sure, but that is not name-calling.
Kanye West hops on stage at the MTV Music Awards, steals the mic from "Best Female Music Video" winner Taylor Swift, and proceeds to tell the audience why he thought Beyonce should have won instead. It was an outrageous act widely panned as 'douchey'.
Is this example much different?
ps- Besides, a good community calls a spade a spade
It is not. HN isn't a place that guarantees advertising or publicity. Readers and commenters will click on this thread thinking "is there a better way of writing markdown" or "I wonder if I should be using a different editor" which makes all editors relevant information.
And honestly, if I see an advertisement _without_ any criticism, it sounds too good to be true to me. Seeing a comparison between these editors is going to provide a thousand times better information then just people talking about one or saying "hm, that looks interesting, I'll check it out sometime".
Criticism, sure. But upstaging? That is something I would find seriously deflating. Enough so that it suppresses a lot of interest I might have to post my own Show HN one day -- why bother if some other schmuck is going to upstage me and drive discussion towards their work?
I love this, I usually write my notes in Atom for school (I know overkill) but I sometimes takes screen shots of slides for my notes and never had a good way to view everything together.. this works!
I just downloaded it a few minutes ago. Its GUI is clean and sharp. I am a big fan of Typora. It is my favorite app for taking notes and todo lists. I think GhostWriter is another good option. There are a few features I miss from Typora:
- Creation of tables (CTRL + T)
- Export to PDF
- A bit of vertical space between a title (# title) and the next line of text.
- Support for Latex equations
A few things I like about GhostWriter
- Support for multiple flavors of Markdown
- Export to HTML
- Many themes
We’ve started using Typora at work and my big complaint is that I can’t pay them any money! I’ve sent them an email about it (months ago); so far, ignored.
It’s a bit crazy to me. As a business I want to know that the tools I’m building on are going to survive. Take. My. Money.
156 comments
[ 2.5 ms ] story [ 47.3 ms ] threadhttps://github.com/michelolvera/vs-ghostwriter/releases/down...
He does provide a 7-zip portable binary for 1.8.1+.
I did download and try it briefly. It has a wordpad-like feel, pulldowns for bold, italic, indent, lists and so on. Seemed pretty nice to use.
Something I like is that everything is in plain text and it just uses iCloud for sync rather than trying to do its own thing. Or you can just use Dropbox or whatever else you want as it is just text files in a folder which I always prefer over a database and proprietary syncing solution.
Edit: Open source for one, I would say.
I however prefer just using Atom with Markdown Preview Plus. It has a ton of features built in with sane extensions, or you can integrate it with Pandoc:
https://github.com/atom-community/markdown-preview-plus/blob...
I'm sure VS Code has something similar, but only from non-trusted third parties.
(Sad to see the state of desktop GUI has come to this...)
It's been next on my "to learn" list for way way too long.
Make no mistake, Electron is awesome stuff, but it consumes too much memory and processing power for what it can do.
Atom, the poster child of Electron uses as much RAM as Eclipse and can't do 10% of a stock Eclipse installation. When I left it, Atom was unable to open large files, do lazy loading or similar simple stuff.
Other Electron based software also wastes too much resources for the functionality it offers. This is where it gets the most flak.
Electron is a nice cross-platform solution until it isn't. Imagine using VSCode, Discord, Slack, Matrix, Spotify, some markdown editor and now you have 6 browser instances chipping away your machine resources...not even counting the actual browser.
Yes. Also, I'm curious, do you find the webapp forms use measurably less resources than the electron version? I would've imagined they're pretty close (with Electron possibly even being lighter than a full browser tab), but I am not confident and could be completely wrong.
> Imagine using VSCode, Discord, Slack, Matrix, Spotify, some markdown editor and now you have 6 browser instances chipping away your machine resources
I, and surely tons of others on this forum, am doing this right now without issue.
Sure it's not perfect, especially if you're on battery, but most of the time it just doesn't matter to almost all of their user base.
I personally run Teams, Spotify, Evernote and Discord, but I close them as soon as finish working with them. So without issue is a bit of a stretch. Also These applications glitch in a funny, agonizing and obscure ways. They are non-deterministic blobs and this is not good.
> Sure it's not perfect, especially if you're on battery, but most of the time it just doesn't matter to almost all of their user base.
Actually, when computing is moving on portables in an ever increasing speed, this sounds bad. "It's a nice application, but it just kills your mobility. It's not important anyway, eh?"
I don't think the approach of "we have a lot of processing power and its processor is efficient anyway, so let's abuse this" is a good way to approach software development.
The reality is it's far, far easier to write a bad Qt app that sits in busy wait loops locking up an entire core while refreshing UI and destroys your battery (this is a knock on complex native app development, not Qt).
Yes. However, these efficiencies are not always translate to better Electron or WebApps on desktop applications.
> With browsers and JS sandbox VMs they are much better equipped to actively manage and spin down idle tasks.
If your code doesn't allow these idle tasks to spin down, all this work is effectively moot.
> Folks get 20+ hours of battery now on M1 macs running tons of Electron apps like Slack, Discord, VSCode, etc. all at once.
This is possible because of the process suspension capabilities of macOS. Not efficiencies of the applications themselves completely. Evernote is the 6th most power hungry application on my M1 MacBook Air, First two is Zoom and Skype. Third one is Safari. I run Teams and Discord only on my desktop, so I've no 12hr power statistics for them for now.
> The reality is it's far, far easier to write a bad Qt app that sits in busy wait loops locking up an entire core while refreshing UI and destroys your battery (this is a knock on complex native app development, not Qt).
Qt's QML simplifies this stuff tremendously. You can write a whole UI in Qt in five lines with QML, without thinking about any of this stuff, while keeping everything native and nice.
I prefer to allocate that memory to a VM or sandboxed/instrumented debug binary instead of a “communicate by sending cats” application.
I want to reiterate that using resources carelessly just because they are abundant is bad resource management. If two or three applications are that careless, neither your RAM, nor your disk space is infinite anymore.
Microsoft Word for Mac uses less RAM and power than Evernote. That’s madness! I love Evernote, but eh, that’s a bit too much for a networked note editor.
yes
has 32gb and looking for next laptop with 64
I'm slightly curious about this, pretty much all my gaming-chat has been done on discord for years now and I've literally never had an issue with it at all
As a big fan of compiled, so-called proper programming languages (and high performance code developer to some extent), I can tell that JVM is being bashed unnecessarily. JVM was heavy, I agree. Since the age of Intel Core i series, JVM is no longer heavy.
I use one of the heaviest JVM applications regularly: Eclipse. It can run in circles around any of the Electron apps with similar memory usage, and I get much more bang per MB in Eclipse. In ~1GB I can keep 3 IDEs open with plethora of files, daemons, tools and integrations. We have in-place updaters for a lot of platforms. Mac has sparkle. Linux's AppImage can update itself seamlessly.
There's no guarantee that an Electron application targets everything out of the pipeline. We still don't have an official Evernote client for Linux. Spotify for Linux is a volunteer project inside the company (which had a very painful and bloody teething too). Slack just hogs your computer. I didn't look to resource usage of Discord, but it's not light I presume.
On the update department again, I've found out that Office for Mac has updated itself again and I didn't notice. Same for Firefox.
So Electron is a nice solution, for some stuff, but it leans too much on "Hardware is cheap, network is reliable" paradigm, which is flat out wrong.
It's very cheap to build on Electron, but user pays the price. There's always the price. It all depends who's going to pay it at the end of the day.
That's because the dependencies are included. You can bundle JRE with your Java app and it will "just work" too. You can also ship a native application that "just works" too. There's certainly nothing inherent about Electron apps that make them easier to use. In fact, I'd say many of them _aren't_ easy to use by nature of them not following OS standards; each one has a new interface you have to learn.
Personally, I think the idea of a cross-platform application runtime with GUI capabilities is a good one, browser-based or otherwise. The only real problem is every app needing its own, rather than using some sort of shared (but partitioned) app subsystem based around a central browser engine. I think the Chrome apps were supposed to be essentially that, but didn't work out. That said, Chrome basically treats every tab as a separate browser instance, so Electron really isn't as bad as all that compared to a browser-based app.
The problem is everyone compares it to native, not acknowledging the dev's choice was probably Electron vs. no support off the dev's main OS (usually Windows), rather than Electron vs. native support for Mac or Linux. I still remember when you had to have Windows to run most of the interesting productivity and development apps, so I'm pretty OK with extra overhead in exchange for the expanded support.
https://github.com/wereturtle/ghostwriter#macos
For the releases, I don't actually see a published tarball for the bundle (on github) so I'm going to further think that they mean "...first you have to follow the compile instructions to create the output bundle (binaries)" - get Xcode installed, etc. and follow the second macOS readme.
Better answer on bundles: https://en.wikipedia.org/wiki/Bundle_(macOS)
The only other reference to MacOS anywhere is how to build from source.
I use Joplin currently, it's kinda ugly, but works on all platforms including Android, and syncing it via Dropbox is trivial.
https://github.com/BNolet/ghostwriter/releases
Generally, your options on Linux consist of:
- A couple apps that have been around and remain essentially unchanged since the '90s,
- Some recent, well-meaning but poorly executed programs, and
- A nice-looking but infuriatingly clunky and out-of-place Electron app which I'm loathe to use on principle.
I'm very glad to see a first-class Linux app in this category.
A self-hosted open source option here if you can do some basic web-app setup and maintenance is HedgeDoc.
That's quite a qualifier you have there - there's no meaningful distinction between a text editor and a non-programming text editor. You have older options like Emacs and Vim, newer options like VS Code and Atom, and a broad array in between like Geany, Textadept, Kate, Pluma, and on and on.
In the non-programming text editor category you nonetheless have things like Joplin, Obsidian, Notable, and Boostnote. And of course web editors like Evernote, Notion, and Roam, plus TiddlyWiki, Dokuwiki, PmWiki, and so on in the wiki category.
0: https://github.com/iamcco/markdown-preview.nvim
https://github.com/rougier/nano-emacs (haven't tried, but clean look and defaults)
https://github.com/rnkn/olivetti (writing environment)
https://github.com/rnkn/fountain-mode (screenplay writing)
https://github.com/alphapapa/org-sidebar (sidebar)
https://github.com/jrblevin/markdown-mode (markdown, with preview too)
https://orgmode.org/ (of course, org-mode for everything)
https://github.com/junegunn/goyo.vim (distraction free mode)
https://github.com/reedes/vim-pencil (better behaviour for writing prose)
https://github.com/junegunn/limelight.vim (visual highlighting of current paragraph)
https://github.com/plasticboy/vim-markdown (better markdown syntax)
https://vim-voom.github.io/ (outliner sidebar)
Edit:
BTW, for my truly favourite aesthetic experience, I like to pair this setup with a nice dark theme, a high quality font, and cool-retro-term (https://github.com/Swordfish90/cool-retro-term/) emulating an old school CRT. Is this practical or ergonomic? Nope! But I love it!
(Of course could then use Evil in Emacs for Vim keys, or just run vim in a terminal inside Emacs...)
I used to be an Emacs user back in the early 2000s but Emacs pinky hit me something fierce (it's my own fault; I have poor typing style so I never use the right control, and I could never adapt to the control-capslock swap) so I jumped into Vim and never looked back.
But I gotta admit, Orgmode, among other things, has me feeling a bit Emacs-curious these days... ;)
I should finally learn the Vim way. At the very least so when I forget to set EDITOR for root and edit some config, I'm not totally useless. That'll teach me for not opening it up (with sudo via how Emacs handles things like ssh) in my favorite editor. And org-mode is great, I've been doing more and more in Emacs and org these days (email, notes, todo, writing, coding).
Alternatively, you may be able to hit some of the modifiers with the side of your hand instead of your pinky. That's what I did with my previous keyboard (Pok3r). It also made it easy to hit ctrl and super at the same time for some of my window manager keybinds that use both keys.
But all of this requires changing my typing style, and I've been typing the same way for, like, 25 years.
Put it this way: I chose to learn Vim instead of change how I type because that was easier. ;)
Am I just being lazy in learning the Vim plugin system? Are there pretty Vim frontends now that render all nicely like Ghostwriter et al?
Go check out the screenshots for Goyo and Limelight and ask yourself if it's pretty enough for you. Personally, I think Vim can look as good as any modern editor with a couple plugins and a decent theme and font, but we might not have the same standards. :)
I'm looking to avoid learning Vim plugins (again...again), setting up an environment, and learning keybindings for sidebars, filenav, etc...
https://spacevim.org/
My html-notepad (https://html-notepad.com/) (Sciter based) that allows to edit documents in as WYSIWYG as Markdown forms is just 2 Mb ( also compressed installer ) - 40 times smaller.
You're not in a fancy CMS editor with all these whiz-bang blocks and components--those are just noise that give you more anxiety (should I be making this paragraph a hero/lead element? wait no, what about a side-by-side with a graphic? oh, but what graphic? ... hrm, time to go waste 30 minutes looking at unsplash... oh wait, what was I writing again? oh nevermind, I guess I'll come back to finish this tomorrow when my head is clear).
You're not writing content in something that feels like a programming language filled with special characters, an IDE yelling at you for every little misplaced indent or space, etc.
You're just writing text with some light formatting to emphasize structure and key elements. Maybe some lists or bullet points thrown in. A graphic figure or two. It's just like composing an e-mail, something you've done thousands and thousands of times already in your life. There's no pomp and circumstance, no steep learning curve... just writing.
I'll comment on the repo as well, but would love to see the ability to drop in a standard image.
(HN thread from Nov 2019: https://news.ycombinator.com/item?id=21462832 — I asked for other editors like this and got no other answers AFAICT. So this Mark Text is still the only open-source "WYSIWYG" Markdown editor I'm aware of.)
Edit: The https://github.com/blackhole89/notekit mentioned in a sibling comment is now another.
I like the feature set, by the way.
This
mimics final representation of bullet list and so do pretty much all other syntax constructs of Markdown.The only benefit it gives for the user (if to compare with typical WYSIWYG) is a simplification of caret positioning.
Consider these MD construct:
In MD you can easily put something in between these two words or modify words themselves. But in case of "tru-WYSIWYG" you will have this situation: with just one caret position between italics and bold. In fact there are three possible caret positions (on edges of words and between) but no WYSIWYG editor allows you to do that.https://vim.fandom.com/wiki/Keep_your_cursor_centered_vertic...
Don't know a way to set it to a percent, but could be nice too, indeed.
Changing that `/2` to a `*3/4` might work.
https://vim.fandom.com/wiki/Keep_your_cursor_centered_vertic...
What I do in my ~/.vimrc is:
Then... it's always in the middle of the screen/window, even when working at really big resolutions.https://github.com/DaveJarvis/keenwrite#features
What sets KeenWrite apart is the ability to use (externally-defined) variables within the prose, shown in this older demo video:
https://www.youtube.com/watch?v=u_dFd6UhdV8
Also, variables work in diagrams, R expressions, and TeX equations. For example, take a look at the following screenshot:
https://raw.githubusercontent.com/DaveJarvis/keenwrite/maste...
The palette is defined in one spot, allowing colours to be used by both diagrams and typesetting the final PDF. Further, character names can be assigned and referenced within both the prose and diagrams. Also, the variables are interpolated, which allows variables to be defined in terms of other variables.
Are there any other text editors that have interpolated variable references? (I looked, but didn't find any, so started developing my own text editor.)
>Are there any other text editors that have interpolated variable references?
The closest I can think of are Frescobaldi's snippets[1], vim's `!read`, or spreadsheets. Maybe light table [2]? I haven't seen anything exactly like what you've made
[1] https://www.frescobaldi.org/uguide#help_snippet_edit_help
[2] http://lighttable.com/
Maybe Leo? I'm not sure if it qualifies as a (plain) text editor, but then maybe neither does keenwrite.
http://leoeditor.com/
Or you could pair markdown with m4 - but I wouldn't really recommend it.
I made my own markup language a while back that sort of has that feature (http://breuleux.github.io/quaint/syntax.html#variables). The variables can be defined inline or imported from a JSON file or whatever. It does reparse the whole thing on every change, so I'm not sure it scales very well. The language should be amenable to incremental parsing, though, I just haven't had time to tackle that issue. It's far more extensible and far better than Markdown IMO, but I suppose I'm biased.
Is this not the epitome of douchebaggery?
It can spark all sorts of discussions and ideas about the decisions and tradeoffs made in both projects. All aspects of this - from the ideas themselves to the community response to them - can be very valuable to the original creators of both. It can also give the original creator more information about what's been done and how. Searching for similar stuff when you lack a very well-defined term can be annoyingly difficult.
And it has what I think should be obvious value to the readers and commenters who are interested in originally posted product. Other similar projects may well serve any interested readers better than what was originally posted. Again, searching for this stuff can be difficult. Do you really want to remove this chance to discover a better-fitting product/project/whatever from all the readers?
I see no problem with people posting similar projects. With the usual caveats of civility that apply to literally every other comment as well, these stand to be highly productive comments.
I'm sure you're thinking of the more emotional aspects of this, and even here I disagree. The only situation I can think of where a poster is better off no even hearing about alternatives is if their main motivation is receiving praise on HN. And in that case, hopefully the situation will make it easier for them to realize that is what they are doing, and give them the opportunity to decide if that's something they want to continue doing.
Kanye West hops on stage at the MTV Music Awards, steals the mic from "Best Female Music Video" winner Taylor Swift, and proceeds to tell the audience why he thought Beyonce should have won instead. It was an outrageous act widely panned as 'douchey'.
Is this example much different?
ps- Besides, a good community calls a spade a spade
Exactly why every single reply to your comment has explained why you're wrong.
And honestly, if I see an advertisement _without_ any criticism, it sounds too good to be true to me. Seeing a comparison between these editors is going to provide a thousand times better information then just people talking about one or saying "hm, that looks interesting, I'll check it out sometime".
Not whatsoever. It's on-topic and allows the community to discover other related, competing projects.
- Creation of tables (CTRL + T) - Export to PDF - A bit of vertical space between a title (# title) and the next line of text. - Support for Latex equations
A few things I like about GhostWriter
- Support for multiple flavors of Markdown - Export to HTML - Many themes
It’s a bit crazy to me. As a business I want to know that the tools I’m building on are going to survive. Take. My. Money.
I am an Apple user -- highest of all classes -- the whole world is supposed to develop software just for me.
Oh well, I'll just have to SSH into my *nix box to test/use this.