smarks159
This essentially describes how the UI of Doug Engelbart's NLS system worked. Each command was describe in a DSL called the command meta language. These grammars where then compiled into a tree over which the command interpreter followed as the user entered in commands. At each step the UI would display feedback to the user about what input they had already entered.
I implemented such an interface in my first prototype of the system that I built in anyone wants to play around with such an interface.[1] I am currently working on a cleaner and more accessible version, but it is still in the design phase and not usable yet.
There is no funding, so the platform itself is also a hobby project for everyone involved. But there are a lot of really interesting ideas here.
The goal is to be able to create a modular, secure, distributed platform as a better alternative to the web browser while keeping many of the qualities that made smalltalk great, such as being extremely dynamic and interactive.
In addition the goal is to be more integrated with the outside world, so it supports things like using standard source code controls tools and has a native gui interface for windows.
I started a project[2] to try and understand these ideas and it has been a very enlightening journey.
Also a better formatted version of Augmenting Human Intellect can be found here[3]
3d printing of organs and tissues is something that can't be done with traditional machinery and is showing lots of promise.
A 10-20x cheaper energy storage solution than current battery technologies and it is available right now, and not years away from being implemented like other technologies.
[1]http://www.vaughncorp.com/downloads/press/grid-enabled%20wat...
I have been experimenting with implementing some of these ideas in the browser[1]. I primarily use the system to take text notes with and write down my ideas. You can't program in it yet, but part of the program is driven by datastructures that are created, edited and manipulated in the system itself. Instead of looking and manipulating the raw data, however, you can render the data to look like a pseudo dsl.
In terms of research papers, you may want to look at the ideas of Doug Engelbart. The process which you speak of, of collecting information and learning from it, Engelbart termed the CODIAK process. There is a section describing what CODIAK is in this paper[2]. (click on the CODIAK Process link in the table of contents). Engelbart speaks of this process in terms of groups and organizations, but the ideas apply to individuals as well. Engelbart's goal was to create an integrated "knowledge workshop", where all the different programs for organization everything would be integrated together and act as an extension of the human mind to augment people's abilities to collect and digest an ever increasing amount of information and knowledge. There is a lot of work left to be done in this area, but it is an important problem to solve.
Engelbart realized early on that the technology related to computing would increase in an exponential fashion and would bring about with it massive changes to society as we know it at every level. The problem is that human beings are not naturally adapted to live in an exponential world where everything is constantly changing, so how to we as a society adapt fast enough to keep up with these changes? Engelbart set out to attempt to solve this problem through his research.
"Augmenting Human Intellect" describes in detail the strategy Engelbart developed that people would need to follow in order to keep up with these changes. Engelbart used this strategy himself in his research. Before reading this paper, I would suggest starting with this paper here[1] which provides a refined summary of these ideas and a few additional ideas and then go back and read this paper. The more I learn about Engelbart's vision, the more I am amazed about how accurate his predictions of the future were.
For those who are interested in trying out a system with a similar interface to the NLS, I have built an experimental system similar to Doug Engelbart's NLS system here[2]. Scroll down to the getting started section.
This question brings up the question of can we find a more sane way to evolve the web rather than completely rewritting everything every couple of years and relearning yet another set of complicated concepts. Staying still and having backwards compatiblity forever is not a good option either.
The newspeak programming language is an attempt to replace the browser development environment with a more sane way to do things when it comes to developing web like applications. More importantly a more sane way to evolve the entire system including the libraries and frameworks we work with. It is currently not finished and I am not recommending anybody use in production anytime soon, I am just suggesting that people download that last stable release and go through the hello world tutorial, which walks you through building a simple file browsering application. Maybe figure out how to build some simple applications.
The Newspeak language is based on smalltalk, so the syntax is very different and there is a learning curve. But how much time did you spend learning the concepts around Angular only to have it become obsolete and learn a new framework again. What about the next version of Angular? How long until that becomes obsolete? Many of the concepts where actually cleaner and easier to understand in newspeak than angular and actually helped me learn angular easier.
Newspeak is experimental and I would not use it on any real projects but it is worthwhile taking a look at an alternative way of doing things. The rate of change of technology only increases as does the sophistication of the programs that we will build on the web, this problem of constantly rewritting everything will only get worse.