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 computer.
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:
devine-lu-linvega apparently works all-morning on a raspberry pi,
running a two-tone linux distro.
i'd like to see
a dedicated piece of furniture for typing.
- 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 any page,
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'.
Annotations amusingly,
were one of the only Vannevar Bush ideas that Engelbart didn't implement (in time) for his demo.
another thing is:
default no-focus
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.
that's bad.
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 multiplexing - 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.
and
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 -
aka:
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,
there's:
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,
is
syntax-highlighting in software-development.
- maybe the only exception would be #hashtags?
really though.
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)
yup.
i have come to believe that
Engelbart's typing interactions
are not compatible with interactive elements.
that there's not a good way to do this.
and that nobody has done this well, ever.
and I can't figure-out
exactly
even what dream-computer would
do typing well.
and this kind of infuriates me.