162 comments

[ 3.1 ms ] story [ 228 ms ] thread
If you are using iA Writer, it also has this feature: https://ia.net/writer/support/editor/focus-mode
Close: Writer still lets you edit text in that mode. Ensō looks like typewriter mode, and is also append-only. Writer doesn't have that bit.
True, good point.

I feel like the main point is that you are not able to "edit" your text in the sense that you re-structure paragraphs, moving bits around, not about not being able to correct a typo.

I think you're right. For me, the fading is enough to greatly reduce that temptation. I could just turn off focus mode, but there's a big "out of sight, out of mind" component, too.

It would be kinda cool to have a way to disable backward cursor movement, or a "enable focus mode until I restart the app" option as another barrier to "I just want to make this one quick change...".

Huh. Wonder if I could emulate the cursor stuff with Keyboard Maestro by making it swallow those keypresses?

Yup, that's one of the reasons I built Ensō instead of using iA Writer.
I really like it. As a writer of novels, this is useful for those moments when I have too many doubts about how it should look. One minor feedback: deleting should be forbidden - it's a way to edit the text.

So it should be like a writing machine + the fade out effect.

So few novelists on HN! Where can I read your stuff?
I'd prefer to try to not associate my user with some personal data. But thanks for the interest!
Hehe, I considered that in my first prototypes. I avoid any kind of customisation like fire when it comes to Ensō, but perhaps I should change my approach after all...

My main source of inspiration was writing by hand, and then typing.

Writing by hand definitely does not allow to delete! :-)
There’re these things called erasers…
…or correction fluid (like Tipp-Ex)
...or just crossing out.
You must be kidding. Striking through the text is ridiculously easy.
Love the idea. Also, a fun elisp project to try and figure out.
That's clever, and I see the appeal. The UI looks an awful lot like iA Writer in typewriter mode. That's a compliment.

But it does seem like a feature that iA could add, calling it "write-only" mode or such, and then you could have that nice experience with all the other awesomeness that Writer brings.

Still, unless/until they do, I totally get why someone would want to use this. Nice job!

Horses for courses, but the fading gimmick would not work for me at all.

However, this is conceptually interesting. It might be fun to speak the first draft of my next piece and transcribe the result with Whisper.

I experimenting with sth similar actually.

One small additional requirement: although I studied linguistics and took a year-long course in English phonology, speech-to-text still struggles with my accent.

The approach I'm playing with atm is inspired by some advice from Simon Willis, here on HN:

record audio → transcribe using whisper → clean up and format using a GPT prompt

So far the results have been pretty good: the original meaning is preserved but the text is much easier to read (and the missing/"misheard" words are often corrected).

What I'm experimenting at the moment:

- picking the right model size, tweaking the prompts

- better UX (e.g. immediate visual feedback)

I think the fading, if I paused to think about anything, would make me lose track of what I'd already written.
I found this obscure emacs package last week that seems related: https://github.com/KeyWeeUsr/typewriter-roll-mode

(I'm not related to this package in any way. Don't use it either.)

50 lines of elisp.

I tried it just now, and it seems like what it does is that every time I press space it scrolls the buffer so that I am at the top and only see the current line I am editing. Does not look as nice as that fading out editor, but maybe it is functional enough. It would be more like that other editor if it would show at least one or two previous lines of text.

That's easy enough to adjust if you'd like, redefine typewriter-roll--scroll-up to call (recenter-top-bottom 2) instead of 0.
Thanks! I was inspired by a different thread to disable the backspace key by adding this to the mode file:

    (defvar typewriter-roll-mode-hook nil)

    (defvar typewriter-roll-mode-map
      (let ((map (make-keymap)))
        (define-key map (kbd "<backspace>") 'ignore)
        map)
      "Keymap for typewriter-roll minor mode")
I've always noticed when writing by hand I could get into the zone more easily but always thought it was because of the lack of speed compared to typing. I had never considered maybe the huge effort required to edit was another factor that kept my mind focused in the present.
It might also partially be that the activity and movements of writing by hand put you in the zone better than using a keyboard. When you have a pen/pencil in hand, your body may feel "it's prose/whatever writing time" rather than when you have a keyboard in hand, when the multitude of activities (browsing HN for example or texting on IRC or whatever) dilutes a similar mental association between tool and activity.
> All of your changes are saved locally. Ensō works perfectly fine even without internet connection.

I know this is a sign of the times and so I'm not blaming the author, but Christ, what a depressing development that this is enough of a feature to be one of the headline hero paragraphs on the landing page.

Developing for the web client and having centralized control over both code and data on your server is just so much easier for the developer. Not necessarily the best client experience, but the difference in development and support cost is huge.

Thus any local-first software is more rare, if it has to also include an online component. It's just harder.

(comment deleted)
Author here:

0) Ensō's on the top page of HN? what the hell!

1) it's fun to use Ensō in the middle of the woods with no internet access (done that), but

2) the main reason I build web apps this way is that following offline-first (generally) results in a better user experience, especially for people without access to optic fibre or 5G[*]. And with Ensō this was trivial to implement.

3) the second reason I do that: often it's much easier to write offline first apps. 10 years ago we already had tools like pouchdb to do so much heavy lifting for us.

[*] Ironically, having lived in Shoreditch for 7 years helped me develop this mindset, as every single flat I rented there turned out to be the one without fibre. In one of them the windows even acted as a Faraday cage, so no luck with 4G!

Yeah, I want to be totally clear that this wasn't a dig at you - Ensō looks really cool and I'm glad to see a web application embrace offline-first development. This was more just generic griping at how the web has become the only real cross-platform application development environment, regardless of how well it's actually fit for that purpose. But that has nothing to do with you - keep rocking with this :)
Kudos for the "offline first" approach.

But Shoreditch? ;) When I worked there (2015) I was wondering where all the alleged hipsters were of the "Silicon Roundabout", since all of the people in cafes had FB on their laptop screens instead of code, and it wasn't cheap either. Not sure if it changed for better or worse since, but since then Google closed Campus.

Made me think of Excalidraw when I saw it - cool stuff! Will try my 750 words on it.
Reminds me a lot of Omm writer, really nice peaceful writing experience, designed to keep you focused on just writing
Seems like it would be a good tool for coding interviews that want to mimic the whiteboard-coding experience without a physical whiteboard. /s
Very nice. In my experience writing both prose and code, rewrites are usually better than edits. Strangely, this tool reminds me a bit of how Fossil does not have rebase. The history is useful for context, but it shouldn't be edited.
This kind of stream of consciousness is how I do a lot of my GPT work. I have double command key tap to start dictation, and then I launch into these stream of consciousness dialogues with uhms, ohhs, and uhhs etc. GPT is able to then summarize that for me, filter out the garbage, and we can iterate from there.
I do this for five to ten minute stretches to draft pages of prose. Also filtering through ChatGPT to clean it up and reformat it into any shape I'd like.
I really don’t want to bash it as the web version is free, and I absolutely agree that authors should be able to get money in exchange for their work, but still… not sure if the Mac version does anything more, but if not, making it paid when it is a program most people can reproduce in at tops 100 lines in any framework of their choice rubs me a bit in the wrong way.
I don't understand this comment. If it's that easy to reproduce (and I don't necessarily disagree), go ahead and do it, and users can use that instead.

Or, if it's not worth your time, consider paying the person who took the time to build it.

Cue the famous HN post saying dropbox could be replaced by ftp.
It’s literally a textfield with a fade-off effect on top.

But your take is also correct in most cases, I just felt that this one hits a particularly strange balance here.

(comment deleted)
(comment deleted)
(comment deleted)
Most people? You mean most programmers, presumably?
Reminds me of http://al.chemy.org A dead (sigh) drawing app with no layers and no undo and tons of wacky brushes. The main idea is that you can doodle and let the "happy little accidents" drive you into something that you can use as inspiration for a piece (think of it like ink blots)
I would't call it dead, rather done. It's good that it doesn't get more features.
If you want a dead simple writing app, I think this is a better option for mac users: simpletext.app

Costs 9 bucks for a lifetime license.

Better option: Apple's Notes.app which comes included, you can also make a note full screen and it looks almost the same. On top of being iCloud synced to all your devices for free.
Unfortunately, Notes is incredibly slow. Even with just a few hundred pages of text in a note, and no images or complex formatting, it stutters on text input on an iPhone 15 and, while not stuttering in input, is jerky and slow to scroll on an M1 MacBook Pro. That means that there’s management overhead — going back and editing notes to split them up — to keep it usable, which is almost exactly contrary to the point of this article’s type of writing-and-writing-alone tool.
I like this idea, I do this all the time. Not sure I need an app though, I'll just turn off the monitor.
I would be very worried that there's some random action stealing the focus of the writing app and me just typing letters into the void.
The hotkey to return to my window manager is pretty hard to hit by accident. As for the writing app, it's just a python script looping over lines read from stdin and writing them to disk. Not many opportunities to do anything else.
Why not just cat?
Because I am a dummy. This is even better:

cat - > prose.txt

Thanks for the idea.

Heh, for that exact reason I'm using it with my screen dimmed as much as possible and even considered adding a night[*] (black to red) mode for OLED screens (I write at night, I'm a vampire).

One of the use-cases I found when I was researching Ensō: there was a blogger who'd split writing into two steps:

1. writing with their screen dimmed as much as possible

2. editing the next day

Also, perhaps a pure-black screen with a simple indicator of the number of characters/words written would work here? You'd still know that the editor is recording your changes. Seems like a nice idea for a little app/toy.

[*]examples, inspiration: https://untested.sonnet.io/Obsidian+for+Vampires (apologies for messy notes, this project is separate from my main site)

Looks pretty close to what iA Writer has been doing since its inception over a decade ago. Back then it was a very unique approach.

https://en.wikipedia.org/wiki/IA_Writer

(comment deleted)
Big fan of this app because it lets you write plaintext (.md or .txt) on your iphone
(comment deleted)
There are at least a dozen Mac apps that have been doing this for decades. Why the upvotes?
As a non-writer, I don't know those apps, I saw this on HN, tried it for 30 secs, and loved it. I'll never be a customer btw.
Or, if you prefer to write with sweaty palms and the gun of permanent literary destruction against your head, there’s the Most Dangerous Writing App of course. https://maebert.github.io/themostdangerouswritingapp
How long before it actually saves?
you set the session lenght before you start in the tooltip
I made something similar at https://drivl.app. I should have known someone else had already done it
Really neat app! Raises the stakes for writers. I'm inspired now to write something like this but with a "redemption" feature where your lost words can be recovered by consistently completing multiple sessions over time.
(comment deleted)
Here's a naive bash implementation of this, just for fun:

  while true; do 
     clear
     tail -n 5 /tmp/notes
     read line
     echo "$line" >> /tmp/notes
  done
(comment deleted)
Is there a plugin for obsidian?
There are two experiments AFAIK: one done by Steph Ango (Obsidian CEO) and another one by me. I didn't publish mine because I thought no one would like it, but I'm happy to do it if more people express interest.

https://x.com/rafalpast/status/1693961256879726684?s=20

PS I use Ensō with Obsidian for my morning notes: https://untested.sonnet.io/Stream+of+Consciousness+Morning+N...

I would try it if you like! Drop me a mail at enos.luxurious788@aleeas.com (real mail alias)
I am building a writing tool and this serves as an inspiration. So beautiful!