Typewriter Mode fans, assemble and share your insights!

Typewriter mode: how much should the world move?

I want to open up a design discussion with you all before we settle Lettera’s typewriter mode, because I think the usual implementations are subtly wrong and I’d like to know whether you agree.

What typewriter mode actually is

Two separate things, usually shipped as one switch:

  1. Overscrolling: you can scroll past the top and bottom of the document, into empty space. Without it, the last line of your text is glued to the bottom edge of the window, and once you’ve filled the window you’re forever typing at the very bottom of the screen.
  2. Focus lock: the line you’re editing is held at a fixed position relative to the window. Type a new line, and the text scrolls instead of the cursor moving down.

You can have the first without the second. Lettera does both at the same time now.

I mention the split because I suspect some of you want overscrolling always and focus lock only sometimes. Tell me if that’s you. I explain why I think that may be the case and can use your help, dear user of Lettera, to make the best typewriter mode possible.

Improve what’s already perfect?!

Lettera’s current implementation is locking focus strictly: Press ↓ once to check the line below and the whole document moves. Click into a paragraph two lines up and it lurches again. These staccato movements or focus jumps, I think, are one reason people don’t like typewriter mode.

But maybe you think this is fine – then please do share!

A change (and maybe improvement) would be a dead zone: Small movements within a boundary don’t scroll. The world only moves when you genuinely run out of room.

Another approach could be to apply focus lock only when typing, and allow free cursor movement and clicking without scrolling otherwise.

Let’s hear from you!

What kind of typewriter mode do you know and use, and why do you like/hate it? What made you a typewriter mode convert in your past?

2 Likes

I like having both. The first is essential; the second may disturb some people, but I find it really useful. I don’t remember the first app I used that offered typewriter mode, but it was a big change for me.I often write articles that are around a thousand words long, And it’s really annoying to have to manually scroll as you type further down on the screen.

I do find what you call focus jumps to be very jarring. In some editors, it can be hard to double-click to select a word or more text because it moves too quickly; that’s not the case with Lettara. This said, I would agree that having a “dead zone” might be nice. Why should the whole page scroll if I select or edit some text a few lines above the center of the screen? It’s especially annoying when I’m line-editing something, such as when I cut some text in one area to paste it in another on the screen (ie, that doesn’t require scrolling). I have to turn off typewriter mode.

I am not sure what is meant. In Bear as in Lettera when I go past the last visible line in the editor the cursor jumps to the middle and I see blank space under the cursor resp. the last line. Do you mean that behavior with overscrolling? If so then I am confused because that feature exists anyway. Probably you mean something else?

Actually that’s what I expect from typewriter mode. The idea is that you can type without looking and keep your head straight.

Hello. Yes! I totally get this. I always want overscroll and sometimes want focus. (I also want to be able to set the focus to the top ~35% of the screen). Dead zones sounds like a good solution to the jumping problem.

2 Likes

Okay, let’s think what can Typewriter do. I think of 4 Modes:

  1. Set focus at 25% at Top
  2. Set focus at 50% at Top
  3. Set focus at 75% at Top
  4. Set focus after scrolling (the actual position of the cursor stays fix)

If you choose Typewriter, you can switch on a menu which you prefer. So yes, you need dead zones to complete this experience.

Overscrolling is essential for any writing app, with or without typewriter mode. The last thing I want is for my eyes to be stuck at the bottom of the screen. I see the focus lock as an upgrade to that. In Bear, I’ve gotten used to pressing Ctrl+L or Globe+down periodically to keep my cursor near the top/center, but it’s nice to not have to do that with Lettera.

Therefore, I expect focus jumps and see them as a feature, not a bug. If I make edits while in typewriter mode, I do so with the keyboard and rarely touch the mouse. I’ve gotten used to every kind of focus jump with various apps, I don’t care much about dead zones either way.

What I do care for is having too many options that have to be accessed as individual menu item clicks / keyboard shortcuts. I like one typewriter mode and one shortcut to toggle it off/on. Ulysses recently separated everything, and now I need 4 shortcuts to enable/disable what I want.

If you’re thinking about improving the experience, my vote would be, first and foremost, to remove scrolling glitches like the one below, and second, maybe implement top/center/bottom options for fixed focus. The rest already works.

1 Like

Scrivener has five options, and that covers pretty much what anyone would want. You might not need that many, but it is quite flexible.

2 Likes

Focus lock is the most important for me. I don’t need to scroll into vast empty space below, but I like it when the place I’m typing stays in the middle, or near it. (in Drafts, it seems to be about two-thirds of the way down, and that’s fine tool.) I notice you’ve fixed the problem I originally wrote in about, ie, you can’t select a word because it’s moved by the time of the second click, but I still don’t like it much; now, you can select a word by double-clicking, but it then jumps after the event. I like the way it is in Drafts and Obsidian; you can double-click to select a word anywhere on the page and it doesn’t move, yet while typing you still have Typewriter mode if it’s enabled. I like how Lettera is now, but wish I could just select, without any jumping.

1 Like

I don’t think I’ve seen the implementation that ‘seems obvious’ to me, which is: almost the current behaviour, but locked to whatever vertical position in the window the cursor is when I start typing. That is: if I scroll to position the content so my insertion point is a third of the way up (or down), then start typing - respect that choice, and scroll content as I type or use the arrow keys to maintain vertical position. But don’t snap the edit line to the centre of the window.

Unlock as soon as I scroll with the mouse/trackpad, or click to reposition the cursor.

My hunch is that this would be less jarring than the now-traditional typewriter mode snap-to-centre behaviour, and would allow the user to frame how much or little context they want around their cursor. The difficulty, as I see it, is how the editor behaves with a completely empty document. Does it lock the edit line to the top of the window? (Ew!) Or perhaps the mode only enables on first scroll within a new document.

1 Like

I’m not sure I understand this one either. Focus Lock is a must as you have it, keep me centered, don’t have to look where I am and it’s not the bottom of the window.

What I have noticed is if I use the mouse to copy a word 5 lines up it will treat it as if I’m editing and centers that line since that’s where the cursor is but I have another app that uses typewriter mode and it does not do that. It lets me copy the highlighted word or even change the format of that word by popping up a context menu but it does not center the line. If I move back to paste that word it will center again only if the row is below the 50% mark and I paste it or begin editing.

In Lettera, it follows the cursor no matter what I’m doing so that’s when I see it bouncing back & forth …whatever line the cursor is on gets centered. So if I simply use the arrow keys to walk back up the window it will center every row vs this other app treats the space above the line as the no-action needed area until you move past the top of the window.

Not a fan of it repositioning all the time when the portion of the window is above center. I would say keep it fixed unless I move up and start typing and even then if it’s within the top 50%, edit in-place. In this other app, I can cursor up to another row and if I start typing it doesn’t move and as I add new rows the text below may shift down until it hits the 50% mark and then it will scroll up if that makes any sense.

To summarize,

  1. focus mode = typewriter mode
  2. center the typing row at the 50% mark or allow user choice of %
  3. assume anything above the line (50% mark) is the safe editing zone and no scrolling or recentering needed unless editing row starts to go below 50%
  4. don’t recenter because I repositioned the cursor for highlighting text above the 50% mark as an example - basically same as #3
  5. when entering new lines above the 50% mark scroll existing rows down until you hit the 50% mark then scroll up to keep it centered

Hope this makes sense. I actually didn’t notice it that much with the current implementation in build 4178 until you asked about it. When I compared it to this other app, it’s very noticeable now.

The app I’m referring to is Diarly, a journaling app, it’s on the App Store.

thanks for asking.

-tom

1 Like

Overscrolling is something that all writing apps should have by default. For anyone that doesn’t understand what it is:

Normally, when you scroll to the bottom of a document, the last line is at the bottom of the screen. Overscrolling allows you to keep scrolling beyond the end of the document so that the last line of text can go all the way up to the top of the screen.

Focus lock is different and should be an option for those that want it. I want it for sure. I use Scrivener and have it set to the bottom third of my screen. That way, I’m not staring at the bottom of my screen the entire time and I can see more of what I’ve written than if I had it set to the middle of my screen.

2 Likes

Well, as a writer, your five options are totally not what I need. Yes, I don’t want the page to keep jumping around, but “assume anything above the line (50% mark) is the safe editing zone” only works if I click to edit something, not if I want to type a paragraph in existing text. Honestly, the only way to get around this is to just turn it on and off depending on what you’re doing.

@kirkmc do you like what is there now in Lettera, at least 90%?

If you do then we are saying the same thing because it’s working for me just fine. I could live with the repositioning of the row, it wouldn’t stop me from using it.

And thanks to @Prometheus I now understand what overscrolling is and see it all the time just didn’t realize there was a name for it.

I like both options, and as others have stated for typewriter mode, the highlighted (optional) line should be settable from 25% to 75%.

My two cents is that the real annoying part of typewriter locked scrolling is the jumps when the cursors is moved with the mouse. IRRC Ulysses has options to only move the view when the user types. The view moves naturally/“slowly” as soon as the user types or moves the cursor with the keyboard. That’s very nice too.

I also like the option to set an offset dead zone. Some app implements this. I think Paper does it. It also has an option not to scroll when the cursor is relocated via mouse.

Re the setting for the amount of offset when scroll lock is on (center, top, bottom ev) there’s another one some apps do that lock it to whatever the offset is when the user scrolls with the mouse wheel. That’s nice too. I think Ulysses does it and calls it adaptive or manual.

The option to have an over scroll independently of scroll lock is something I wish every text editor had. A MUST have for me.

1 Like