'The Mother of All Demos' Is 45 Years Old, Doesn't Look a Day Over 25
theatlantic.com
theatlantic.com
I am trying to implement something in a similar vein[1].
[1] 98, 4, & 44: https://github.com/samsquire/ideas
Do that sort of things still happen today? Of course new things get invented and new ways to interact with media and a computer such as Leap Motion, Myo - Gesture control armband, Siri, and I'm sure there are tons of other examples out there. But they seem to be what in Engelbart's presentation was the mouse, just a part of the larger picture.
[1] Jan 9, 2007 video in this podcast series: https://itunes.apple.com/us/podcast/apple-keynotes/id2758346...
I wonder if Apple will be able to keep pushing devices of such impact out on the market.
What about today's tools isn't alighted with Engelbart's vision? Everything? That seems a bit too broad
As the article rightfully points out, what matters is intent, not the actual technical means of implementation, or even how it appears. We do have modern "screen-sharing" applications with multiple cursors. Just take a look at Google Docs.
The "problem" of today's tools is that computing technology went through this phase called the "PC" in which single-user interaction was all there was, and we went ahead and found efficient methods of single-user interaction, and then taught entire generations to think based on that metaphor.
What if that were the norm, because you could find such people -- right for you -- anywhere in the world, and work with them all your life, not just until this project funding ran out, or someone graduated, or got a new job, or whatever.
That's what I think Bret Victor is aiming to find out, and that's why I think a lot of people are really excited by what he's saying.
"Sharing" (of applications, data, peripherals, and capabilities like network storage) to be a first-level primitive provided by the system and all applications ought to be designed to work with it.
Consider this: we're all connected via networks and bluetooth. So why can't I, in a simple way, let your mouse control my cursor? Or send just part of my screen to part of your screen on the OS level? Or have a photo library on my NAS that smartly caches things I look at often on my iPhone, syncing changes back when I edit a photo? Or share a vim session such that my mouse and keyboard follow my vimrc and yours follow yours? Why do these things have to be built in hacky ways, over and over, specific to individual applications rather than built as reusable building-blocks?
We've gone to so much trouble to bolt sharing on to "personal" computers, when that whole idea is flawed. Engelbart's goal was to create a fundamentally networked system where the combined abilities of everyone would exceed the mere sum of their capacity.
If Engelbart's vision were alive, we wouldn't be excited that we have Skype and screenhero. We'd ask, now that we have these things, how can we build software that uses them to get better outcomes? A medical tool the lets two doctors interact over a patient's EMR and rotate CAT scans together in a way that increases the odds that they get the right diagnosis? A pair programming method that finds more bugs, and gets better designs, more than just one person looking over another's shoulder? A spreadsheet that lets two business founders argue about their core assumptions and business model collaboratively?
Read about the early history of computing to see examples of this. One that comes to mind is the timesharing systems in the early MIT AI lab, where there were no security systems. RMS talks about copying bits of code and configuration that he found in his professors' private folders, and the way that people would snoop on each other and build complex systems out of these shared parts.
It is one of the reasons why email is such a mainstay of collaboration.
What would be the first step in getting people ready?
Aren't we in the process of achieving a lot of these goals in a pretty clean way? There was a lot of code to write to get to this point.
E.g. my favorite pet peeve is how many things from AmigaOS "disappeared" when AmigaOS got relegated to a steadily shrinking niche with the death of Commodore. And this is just one of many "forgotten" operating systems with features that have been left behind.
Consider pervasive scripting of applications (yes, I know about Apple Script, but having spent 5 years in an office full of Mac users, I've yet to see anyone use it; on the Amiga AREXX was something almost everyone used in some form or another; and no, shell scripting is not comparable); consider componentized systems where users regularly install new components that enhance "all" their applications (e.g. need support for 7z? on the Amiga you'd install a new XPK library if you want to support a new compression algorithm, and all programs that want to compress data will support it; need support for an archival format? Install the right XAD library; want your paint program to read WebP? Install a suitable DataType library, and any application that knows how to use DataTypes to load images will be able to load it); consider if end users can replace dialog boxes or other GUI components wholesale in almost all their applications - AmigaOS has a few different alternatives: ARP, ASL and ReqTools that provide things like file-requesters. Because of the nature of AmigaOS, there were quickly apps that would act as shims from e.g. ASL to ReqTools, allowing users to pick and choose the file requester they want without relying on application developers choices.
We took giant steps back when Windows snuffed out most of the competition and with it a huge amount of innovative ideas that current mainstream computer users have never even experienced.
Even the stuff that made it into systems like AmigaOS and many others in the 80's to early 90's were mere shades of many of the visions coming out of the 60's and 70's, but the features in OS's like AmigaOS, OS/2, BeOS and many others were there - many of them are not hard work, but a matter of culture and support for the ideas.
I would rather debug shell scripts all day, which I also dont love.
All this stuff sounds pretty cool! And can't we make linux like that? (no hope for windows)
Same with sharing other types of data, installing new apps will automatically appear if they provide the functionality that another app asks for.
The stated goal is to allow Web interactions to be defined by content rather than the page environment. The approach is an SOA which can be configured by manipulating views of the links exported by Web APIs. Workers can then share the page environment through mediated access.
This particular project is at the head of about 2 years of previous work [3] [4] [5]. There have been some failed approaches, and WebRTC was a detour to get launched [6]. I feel confident that GIDE will solve some of the past problems, though I'm waiting to see if it can achieve all of its goals.
1 https://grimwire.com/local/#docs/api/agent.md 2 https://github.com/grimwire/ide 3 https://www.youtube.com/watch?v=CJLiAdYTDz8 4 https://www.youtube.com/watch?v=VK3KcoOnROA 5 https://www.youtube.com/watch?v=PR-DvCEy1vA 6 https://grimwire.net
The opencolbalt/croquet stuff sort of takes this approach, though development seems to have stalled there. http://www.opencobalt.org/
Part 1 - https://archive.org/details/XD300-23_68HighlightsAResearchCn...
Part 2 - https://archive.org/details/XD300-24_68HighlightsAResearchCn...
Part 3 - https://archive.org/details/XD300-25_68HighlightsAResearchCn...
[Edit: formatting]
It's pretty amazing how much that video demonstrates. I wonder what the next version of that video will be. Hopefully it's not computer related.
There have been things like the Frogpad, or the Twiddler. But they're expensive and not available anymore.
https://en.wikipedia.org/wiki/FrogPad
http://www.youtube.com/watch?v=ciQVBNHrKKA
I totally agree, I think their time has come and it'd be great if someone could rescue the tech from all these dead or dying companies and provide a decent chording keyboard for people on the move.
I mean, it's likely easier said than done, and would take some time and effort, but it's probably also pretty do-able.
[1]http://www.adafruit.com/blog/2013/09/27/new-product-bluefrui...
[1] http://arduino.cc/en/Reference/KeyboardWrite
[2] http://store.arduino.cc/index.php?main_page=product_info&cPa...
* I'm an idiot, that was a top link because they're using the name twiddler, but they don't seem to offer bluetooth.
7 keys across four fingers, and then perhaps a trackpoint for the thumb.
In terms of a bluetooth gpio controller, there are a few options including a few that have been kickstarted recently (e.g. bleduino and rfduino).
It disappeared because the people a Xerox Labs decided it was too hard for normal people to learn to interact with a computer in this way, so they replaced the chorded keyboard with on-screen buttons plus a set of keys on the left of the keyboard for the most used operations (Undo, Open, Copy, Paste, etc). Then Apple, to make things even friendlier, removed the extra buttons from the keyboard entirely and relegated the most frequently used operations to key combinations (Cmd-C, Cmd-X, Cmd-V, etc). You will notice that many shortcuts are relegated to the left side of the keyboard.
Edit: I mean on the announcement at the bottom of the article.
https://archive.org/details/XD300-23_68HighlightsAResearchCn... (first reel, follow the links for the other two)
If you are interested in how NLS was actually used I also suggest watching the 1969 demo which is less flashy but contains a better explanation of the interface.
It looks like a interactive document/hypertext backed-up by a schema-less store ( much like JSON, with hierarchies ). Also I liked the idea to build "views" from the document(s).
Today, if you want a different view of a document/data, you typically have to convert the document/data into a new one (in a different format). Then, as you change the original, the other remains outdated. Views are awesome because they remain up to date.
https://archive.org/details/XD302_86ACM_Prese_AugKnowledgeWo...
The Q&A session at the end is very interesting. People asking about gestures and using a pencil (stylus) instead of a keyboard (note this is back in 86).
<a href="http://A young Stewart Brand — who would shortly launch The Whole Earth Catalog — operated one of the cameras in Menlo Park. Brand, along with others,">was fairly mind-blowing</a>