typing - we don't do it right.
even though, in some ways,
it's the whole point of a computer.
we should build a CPU, from the POV of making a typing machine.
there are a few noteworthy projects attempting to make a writing-first
because when you're writing your phD, you should be more than 300ms away from a porno.
some electronic typewriters
like the Cannon Starwriter
found a niche before personal-computers.
more recently, FreeWrite
make e-ink devices that go for 500 bucks:
apparently works all-morning on a raspberry pi,
running a two-tone linux distro.
i'd like to see a dedicated piece of furniture
- given that phones/tablets are increasingly 'bed computers'
importantly - a thing to walk-away from, when you're done your work.
each web-browser ships with its own very-poor text-editor.
it's called <textarea/>.
webpages tell you where you're allowed to type, by giving you a recognizable box.
and we've been trained like children to type only here.
i remember discovering that you can view-source
save it to a file,
and change any of the text.
then open it back in a web-browser.
we have a 'graffiti model', instead of a 'read/write web'.
were one of the only Vannevar Bush ideas that Engelbart didn't implement (in time) for his demo.
another thing is:
of the cursor, on page-load.
in some videogames, you have a always-on keyboard.
you don't need to think about where your cursor is.
you can just type, and the computer picks it up.
i've always felt that the browser should retain the keyboard focus, until the page steals it.
when you load a webpage, there's this dark experience,
where your keyboard, (your main thing!)
is talking to nothing, and completely ignores you.
even old keyboards almost always had a shift key.
This avoided the problem of having an uppercase keyboard, and a lowercase keyboard.
Some keyboards would have several shift keys:
'Capital shift' and 'Figure shift'
this allowed adding more characters, like numbers and punctuation.
this was an obvious thing to do,
even in 1890.
engineers call this
- adding multiple modes to one channel.
50 years later
, we have 5 modifier keys
which are the most-used buttons on a keyboard, by far.
and by any account - are handled in a sloppy, ad-hoc, unconfigurable, and invisible way.
keyboard shortcuts are something we need badly to do better.
One thing that's still impossible today is multi-key shortcuts:
i want to press
S ᐩ P
to open Spotify.
F ᐩ I
to open firefox.
Devices that support Multi-key shortcuts are called chorded keyboards
and are used in stenography:
to write the word 'today':
T ᐩ O ᐩ D
to write the words 'are you':
R ᐩ U
and you can type faster than people talk.
a chorded keyboard was part of Engelbart's mother-of-all-demos,
and I have no idea why they have not re-appeared in the past 50 years.
it seems like a good idea.
- okay lastly -
what you see is
what you get
in 2011, Mike Bostock created D3
it's a ubiquitous tool to help people make visualizations on the internet.
the idea is that everyone has:
1) some data,
2) a rendering of it, and
3) a map between these two things.
then they run into problems keeping these two things together
like during a transition, or interaction, or a data-change...
the idea was to keep these things together
so they had clearer relationship.
(and called it 'Data-Driven-Documents')
this is not easy.
d3 (respectfully) doesn't even do it very well.
that's how i think about typing,
1) the actual characters you typed
2) the rendering, and display
3) and some interpretation / mapping between them
i really believe that the only example
- in the world -
of this actually working,
- maybe the only exception would be #hashtags?
syntax-highlighting is easier, because it's passive
there's no interaction,
you can't ask something to be a different colour.
in 2003 Mozilla implemented an IE feature called 'design mode',
with the intent of allowing WYSIWYG rich-text editing on the web.
- to do syntax-highlighting in websites -
- to give feedback for typed text -
we know this now as content-editable.
i have 10 projects I want to start, as soon as it works.
i reckon every major software organization has their own attempt at rich-text.
in 2019, none of them work well.
it's one of those things everyone thinks they can do.
here's the Draft.js guy:
you can enjoy his talk, and wish the project well,
and not realize the library (which is facebook funded)
i have come to believe that
Engelbart's typing interactions
are not compatible with interactive elements.
and that nobody has done this well, ever.
and I can't figure-out
even what dream-computer would
do typing well.
and this kind of infuriates me.