Engelbart's Violin - chorded keyboards
loper-os.orgI succumb to these emotions from time to time, but it's worth noting that—software wise—you can certainly live in the past we hoped we'd have if you put in a modicum of effort:
Plan 9: actively maintained, runs well in a VM: http://plan9.bell-labs.com/plan9/
Smalltalk: many options, notably Pharo: http://www.pharo-project.org
Lisp machine emulators: http://www.unlambda.com/
Haiku is approaching a 1.0 release quickly: http://haiku-os.org/
And of course you can have a "real" keyboard if you desire, such as the Kinesis Ergo: http://www.kinesis-ergo.com/ Switching to this keyboard and the Dvorak layout is certainly an upgrade from consumer to professional equipment and, requiring about a month to retrain, will certainly dispel the illusion that discomfort is an essential and missing part of acquiring expertise at computing. The fact that I type faster than my peers makes the fact that I write code much more slowly than them all the more bizarre.
I'd love to know why superior technologies fail to conquer markets, particularly enabling technologies like Smalltalk, but my point is that our man Stanislav has no excuse: they exist now and he knows about them and can use them right now if he wants. Instead he seems to be embarking on some kind of ambitious hardware project. Good luck to him on that, but if his definition of success greatly exceeds (say) CoffeeScript or BeOS's success, he can expect failure, regardless of how long his ideas endure or how influential they are.
Alan Kay makes the point repeatedly that when implementation (or usage) of a technology outstrips education, what you get is a pop culture, driven by marketing and fads, AKA eternal September.
I think you and by proxy Alan Kay nailed it there.
As a person who purchases items for need and function, not form, desire or promise [1], I get to see the distinction daily.
[1] all my current worldly posessions together cost 50% less than a new low-end MacBook Pro (bar one item - a musical instrument).
Emulators don't cut it, because the bottom-most complexity layer matters:
http://www.loper-os.org/?p=448
And the ground rules of computer system creation have changed. The reasonably-cheap, high-capacity FPGA now exists, as it did not in the age of the BeBox. It is no longer necessary for a hardware project to generate millions of sales (or any sales at all) in order to be "successful" (in the sense of actually remaining available to interested persons indefinitely.)
That being said, I am still working on a Linux-based emulator for the Loper architecture. In all likelihood, it will be unusably slow for any truly practical use, but will serve as a proof of concept (that is to say, agitprop.)
(Author of linked article speaking, in case no one noticed.)
I like your notion of bedrock abstraction. I don't see the connection between it and the idea that emulators don't cut it.
Details of the underlying computer architecture (say, x86) and the implementation of the emulator (say, C/C++) inevitably leak into the abstractions nominally above that level.
One trivial example: let's say that I want to emulate a machine with 100,000 CPUs. On a quad-core PC. There is a strong pressure to reduce the number of emulated CPUs if possible, to more closely correspond with the physical architecture. This in turn leads the user of the emulator to avoid the kind of programming that would take advantage of 100,000 CPUs. Already the notion that "you can emulate anything" productively falls out the window.
Likewise for type-tagged architectures. (The user always has an incentive to strip away the "unnecessary" tags.) Look at Common Lisp and its "optimize" directives. The result is inevitably that somewhere in the system, there will be "C-style," non-type-tagged code. This is a Bad Thing.
Superior technologies succumb to marketing from lesser products.
Going back to the guy who built a motorbike in the desert, the Citroen 2CV is a remarkable piece of engineering and design, but everyone would rather drive a disposable iPod (ford) than a LISP machine (2CV).
This is precisely due to marketing and turd polish.
I was the co-patent holder of Microwriting with Cy Endfield (film director - Zulu). 25000 people purchased the Microwriter and the follow on machine the AgendA which was a true pocket organiser, diary, alarm etc and was a fore runner to many of the current machines and was manufactured from 1987 to 1991. It only failed because of the economic downturn of the early 1990's when Sir Mark Weinberg withdrew from the project after investing a lot of money in a new machine which over stretched the finances of the company. The CyKey (the name is a tribute to Cy Endfield) is still available as an add on to a PC or Mac and was developed to fill a gap and was developed by us here in Devon. Basic Microwriting can be mastered in about 20 minutes by most people because of very clever mnemonics which Cy created; based on something we all already know-the shape of the letters!
> This rather unimpressive “hello world” was achieved after around fifteen minutes of practice. What would it have been like if I had been put in front of an Endfield keyboard as a small child, instead of a typewriter monstrosity?
As someone who has played piano since he was eight, I can answer that question: you'd still be unusably slow.
This is the terrible secret of the chorded keyboard: it requires that you press multiple keys at once. Any good pianist can tell you that you can make your hand do high-speed delicate work, all over the keyboard, one note at a time, but dense chords cannot be moved through remotely as quickly, unless you're looking to develop carpal tunnnel. It's a misfeature of the mechanics of the human hand.
Piano keys have centimeters of travel distance. Chorded computer keyboards - not necessarily. One can "cheat" by requiring only the faintest movements from the fingers. The Microwriter arguably does this.
Also: have you ever seen a court stenographer at work? You are simply wrong. (At least, with regards to the limits of what human hands are ultimately capable of.)
Stenotypes are also called shorthand machines for a reason. They might be able to type 300 WPM, but that's partially because they aren't writing english.
We rarely write in English.
If you've ever used TouchDevelop on a Windows phone, you will see why domain specific keyboards are a good idea:
http://i1-handheld.softpedia-static.com/images/software/scre...
I can actually code faster on my phone than a PC with a keyboard.
Guitar are pattern instrument : once you know one, you can move it to change tonality, without any problem — and they require finger movement of less than 5mm (even less on a very good prepared electric guitar) Playing one note at a time will still be incredibly faster than moving chord, even chord that you have practiced for a (very, very, very) long time.
It's actually possible to turn some regular keyboards into steno machines, using opensource software: http://plover.stenoknight.com/
Steno produces syllables at a time via chording. They say with a few months practice you can get to 120 wpm, and eventually over 200. Users rave about how much more productive they are when they can type as fast as they think.
"Every word my characters said to me came up on the screen as quickly as they could have spoken them. Before, in the time it took me to type out the six or seven letters that made up each word, my brain would cloud over and I would start second-guessing myself so much it was a mighty battle even to get to the end of a sentence. With steno, most words came in a single stroke, so my text was able to keep ahead of my doubts and excuses and just keep going. I could write for half an hour on the subway going home, or pull out my gear and do a quick 10 minutes in the park before schlepping onward to my next gig. Before, I would have told myself that I didn't have time to get anything substantial done in those few scattered intervals, that I needed several solid hours to get into the flow and mood of writing. After learning steno, I couldn't get away with that ploy. Before I knew it, my 10 minutes were over, but I'd managed to fill half a dozen pages. It wasn't even the speed that helped me do it, primarily; it was the fluency that steno gave to my thinking." http://plover.stenoknight.com/2010/04/writing-and-coding-wit...
This is why I learned Vim and why I find its theory of interaction superior to other text editors.
Maybe a century down the road we will have vim-customized keyboards. Tangible keyboards will always have a place, I think, because they provide tactile feedback, unlike "pictures under glass" like you get with touch screens.
It would be quite ironic to have vim-customised keyboards, seeing as how vi's interaction models is modelled on an old, now obsolete keyboard.
I agree that modal editing is a great idea, but I'm not convinced vim's is the best (even though I do use it in any editor).
You'd end up with the following if you had a tailored keyboard which is not good for anyone:
http://mahast.com/blog/wp-content/uploads/2012/03/keyboard.j...
Looks like it's good for someone who cannot be bothered to learn pinyin or wubi.
I wonder how much help mature 3D printing might be. You could already do a rough approximation of form-fitting case and keys for a one-hand chorded keyboard with today's printers. The microswitches and electronics would be all DIY though.
Looks like the Twiddler site is selling the things (http://www.handykey.com/), but $200 is a lot for a thing I'm not sure would be any better than a regular keyboard. Also, thing like that really should be wireless. I do hope that with the ascent of mobile computing, we're going to see some more innovation with terminal design, since the age-old typewriter television paradigm really doesn't work on the move.
In general, besides RSI, I'm not sure how much the keyboard matters in the end. People who work in the analog, like carpenters, musicians and surgeons, can do better quality work with better quality instruments. But programmers work in the digital, like writers and mathematicians. Mathematicians don't generally worry about how the craftsmanship of their whiteboard markers affects the quality of their work.
I stumbled across this website a couple of weeks back, and I have to say this is my new favorite egomaniac.
In case they come to dominate as the input devices to eyewear displays in a (possibly haptic) glove like form factor; I've been mentally preparing myself to not arbitrarily dismiss these devices and learn their use. Such resistance to change is how people who were once ahead involuntarily fall into curmudgeonry.
Imagine a chorded keyboard on the left and right, with the right one (or perhaps both?) doubling as a mouse, with one or two of the keys assigned to mouse function. That's 2^8 to 2^11 different characters you can represent, and you never have to move your hand over to the mouse!
how many of those chords are you going to learn and remember?
I think the article's author would argue, all of them, given enough time and necessity.
Frogpad.com
As far as proffessional equipment goes, we're there... I have an 8 core workstation with 8gb of ram and 2 24" monitors running linux with a window manager heavily customized by me.
Compare that to a macbook air.
Hey, I have a 2 core ThinkPad t61, with 4gb of ram and a 14" WXGA screen and I bet my equipment is as professional as yours...
However, 99% of that equipment is a black box designed for the lowest grade user which is the very apt point of the article.
You are not a professional - you are a salt mine worker as am I.
This kind of reasoning makes the same presupposition as the article's author. But it is ironic that he mentions musicians--a professional musician's tools, like a programmer's are basically high quality versions of the amateur's.
The conjecture about keyboards being suboptimal is verifibly true, but that does not automatically extend to the machine as well. I also suspect coding experiences will be pretty subjective.
I think the point is the wrong way around.
1. The amateurs tools are a low quality, oversimplified version of the professional's. The same goes if you compare a Korg Trinity to a cheap Casio keyboard (I've owned the earlier of the two for 16 years and play for 2 hours a day at random intervals if that's any help supporting the difference in quality).
2. The machine is definitely suboptimal. I suggest that you read the remainder of the author's blog about sane computing.
Quantity is not quality.
imo, the [1]datahand keyboard makes a lot more sense than chorded keyboards. Each finger has access to four characters mapped to up, down, left or right. All it takes is a short movement of the finger to press a key.
[1] http://cdn1.mobilemag.com/wp-content/uploads/2009/05/image_6...
It doesn't as not all movements are as accurate with your fingers.
Pushing down and aligning your fingers is incredibly accurate but rolling/moving your fingers is not.
Hm, you might be right. But as how I understood it, the datahand is trying to let you use the same movements as you are already using on a normal keyboard, only without having to travel the full distance. I have a hard time seeing why that shouldn't work
Try typing with your nails down on the keys i.e. with curled up hands and you will see.
The issue unconsidered is that programming is nothing new. It's applicable algebra.
If we consider his idea in the realms of mathematics, amateurs and experts still only/mostly use a pencil, graph paper and their minds.
A keyboard and mouse is more than enough to code.
I agree that it lies more in how you express yourself than in the instrument itself. Indeed, the more you must think about the instrument, the worse it fulfills its purpose.
But you miss how beautiful and fluid pencil and paper really are!
Many centuries of civilization have innovated and iterated on the pencil/paper combination. For visual and tactile possibilities, pencil and paper vastly outstrip a mere board of buttons (keyboard). You get tactile feedback, varying thickness and darkness, and you can crease and rotate the paper as you shape your design. Future interaction will resemble pencil and paper, not a keyboard or iPad!
> Future interaction will resemble pencil and paper, not a keyboard or iPad!
Probably not. At least one generation of children has already grown up without proper penmanship training, and for them, the experience of handwriting at any length ranges from awkward to excruciating.
On top of that, experts use linux as their OS. The average consumer doesn't know it exists.