Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Typewaiter, the typewriter that doesn't wait (oisinmoran.com)
135 points by OisinMoran on July 10, 2022 | hide | past | favorite | 49 comments
Howdy HN, just recently made this silly typewriter variant and think some of you might enjoy it so thought I'd share.

Here the cursor takes no heed of what you're typing and just advances at a steady pace, with the effect that typing something reasonable-looking requires you to type at a very steady rhythm. There's also the bonus that the space character is no longer needed—you can (and kind of have to) just wait—so the keyboard minimalists among us can shave even more space off their devices. Only desktop for now.

It's an interesting contrast to the last one I made—which requires you to do all the heavy lifting in moving the cursor position yourself—https://oisinmoran.com/typewriter




Note that there are two projects:

1. https://oisinmoran.com/typewaiter (the HN submission points to it), here the cursor moves on its own, and

2. https://oisinmoran.com/typewriter (linked in the HN submission's description) and here the cursor doesn't move.

I originally skimmed the post's description, clicked the final link and I didn't understand why I'm seeing something different. I guess there is a lesson about phishing here somewhere.


In the second link, it seems the typewriter writes wherever your mouse cursor is pointing.


This is a fun idea, but I did think from the description it would be a typewriter that starts completing your stories for you if you stop typing for too long.



This is precisely what I was thinking as well. Either via Markov chaining or GPT-3


Github Copilot does this is comments as well...


Someone call gpt 3


Very clever! As a 10fastfingers fan it's interesting how this forces you to slowly dole out your thoughts instead of just dumping them at maximum speed.


Yeah it's interesting that even if you could increase the speed (possible feature idea) there's still some push towards behaving like a metronome!

It really makes it quite evident how variable the timings for certain letters and words are (like "the" is almost a single character).


> push towards behaving like a metronome!

Typing on a older Teletype machine is like that. The keyboard is mechanical - really mechanical, not just clicky. When you press a key, it locks down, and all other keys are locked until the previous keypress has been processed, which takes about 200ms. So you learn to type at a constant speed.


Typing on an old (purely) mechanical typewriter was similar - you couldn't type too fast, or the type levers would jam. But that was already mostly taken care of by the longer travel of the keys...


I thought QWERTY was invented to avoid jams? I'm pretty sure you can still type fast on a manual typewriter.

https://oztypewriter.blogspot.com/2014/03/evolution-of-world...


To avoid jams by slowing the typist down, among other ways. The way you would speed up, I imagine, would be by knowing where all the keys were in relation to each other, and knowing whether you had more or less time between presses for the path to be cleared for the next.

edit: I was great at jamming manual typewriters when I was a kid, because when I was unsure of the next character, I wouldn't release the previous key fast enough; I would rest on it for a fraction of a second. Bad habits.


And how the spacebar becomes obsolete.


Yeah, looks like the opposite of the writing app I wrote a few years back (https://enso.sonnet.io) where the point is to just keep writing with as much fluency as possible.


This wigs out Firefox, by default Quick Find opens up if you're not typing in a text box. So it's impossible to type more than one key stroke.


It only wigs out after it times out. It works fine in Firefox for me. I did not understand exactly what it was doing at first, but it seems to be a trainer for precisely timing the space between your keystrokes.


It only does that for me if I hit the ' or / keys - all others work just fine. (FF on macOS 10.12).


Sorry about that! Have only tested it on Chrome and Arc so far. I initially got messed up myself by the Vimium extension but just had to disable that for the page. Will take a look at this, thanks.


It needs a `preventDefault` on the keypress events.


Feels like a kind of 'musical typing'; I find myself tapping my teeth together as a metronome.


Hmm would be great if it was mobile friendly, the keyboard did not show up at all.


Can you add persistence (e.g. by running and saving a session encoded in the url)? I'd like to share my letters! Nice idea, makes you think about your thinking..


Oh also if you make something cool with it please share with me on Twitter, I'd love to see! https://twitter.com/TheOisinMoran/status/1546257077194063872


This is more than just a bit of fun. And a good reminder that sometimes, we just need to slow down.


Thank you! Yes it can almost be meditative trying to type to a such a uniform and set pace—perhaps the digital equivalent of a mantra meditation.


This is a lot of fun. Great concept!


Thanks! Glad you enjoy it!


That is great. I love how it pushes you to write.

Would be cool if you could save the written text later.


meta question: how is it possible that this post has both a direct link and text?


As of few months ago, Show HN posts are allowed to contain both.


I wish I could see the cursor.


Agree. If I could see the cursor moving it would be relaxing and clever. Without seeing the cursor it is maddening and frustrating.


Thanks for the suggestions! I'm working on it. 'tis a bit trickier than I expected.

EDIT: Have added a visible cursor now (with the ability to toggle it on or off to preserve the initial feel)! You should see it if you refresh.

Wasn't too complicated in the end, and did some fun calibration target practice with "x"s to make sure it was positioned nicely.

Thanks for the feedback josephcsible and Apreche!


do I need to use a certain browser? I'm using safari and I can't understand this at all. The letters just pile up on top of each other.

edit: it started working for me -- the cursor would not move before. Not sure why that deserves down votes.


Cursor follows your mouse.


so you have to move your mouse while you type? When I first looked, there was no cursor for me, the letters just piled up in the same spot. When I look now, I see a moving cursor, and the letters fall under the cursor. I can't see that the mouse does anything at all for me at the moment.


There are two projects

1. https://oisinmoran.com/typewaiter (the HN submission points to it) and here the cursor moves on its own, and

2. https://oisinmoran.com/typewriter (linked in the HN submission's description) and here the cursor doesn't move.


Thanks for pointing this out; I had only clicked on the description link and hadn't noticed the difference.


I first need to learn how to type on a typewriter that has no backspace!


So, a typewriter?


Easy fix, but vimium does not play well with this.


No way to get the on screen keyboard on mobile, alas.


Yeah I'm unsure how doable this is. It's either fairly easy or close to impossible, as this isn't really a text input but is just capturing keystrokes and putting them on a canvas.

I'll look into it! Thanks


if any input or contenteditable on the page has focus, the mobile keyboard should appear. even if that input is invisible.

and then you can catch those events just like any other.


Well, the trick is then processing those events. For `input` events it's fairly straightforward, put the character on the screen. But IMEs can also issue a composition event sequence, and it's not obvious how to handle those in a sensible way. If you wait for `compositionend`, then nothing will be visible until the composition is done. The usual thing is to overwrite each time with the current state from `compositionupdate` events, but in this case that requires moving the cursor backwards.

Perhaps the cursor could pause during a composition event?

For testing, you can easily generate composition events from a Mac keyboard, e.g.

1. Press option-e and observe an acute accent with an underline: ´ 2. Press a vowel and observe the lone accent transform into the accented character: é


This was going to be my suggestion as well. Put a proper input on the page but move it off screen or hide it with css.


this is so fun!


    it     i      s     !


[deleted]




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: