"This is an opportunity to design a better shell for the development environment of the future, which I believe will be the Web itself. Consumer computing devices are becoming less general and open, designed for consumption more than creation. Those born today may grow up without access to the kinds of flexible tools that sparked so many young people's interest in programming during the era of desktop computing. Bringing developer tools to the Web means bringing the full power of general-purpose computing to a new generation."
I think that this observation is false. There is a recent proliferation of closed devices (iphone, etc), but consumer desktops and laptops abound, and a consumer is no more prohibited nor discouraged from installing an open operating system than they were in the past. The Fallacies of Distributed Computing aren't going anywhere, and dedicated machines will be with us for a long time: The convenience and privacy limitations of computing dependent on a network make it plain that programmers will be using local machines for a very long time.
inimino (a good guy) specializes in JavaScript, so I can understand why he finds an idea like this interesting. But it's a pipe dream, no pun intended.
I can see the value of this sort of thing as a JavaScript library for combining web services abiding by some packet standard.
I think a better formulation of the same concept is the following: Web is the new lowest common denominator.
The lowest common denominator used to be the shell. The one thing you can always depend on being there, and with well-understood standards.
Obviously people realized the benefits of more sophisticated graphical UIs, but without one standard UI framework across platforms, you couldn't have a replacement for the general purpose shell.
Web technology now provides that standard UI framework, and is programmable/extensible by a vast number of devs without learning some platform-specific or esoteric UI framework. Its a bonus that it also runs on devices that don't have shell access.
I don't want to get too far into this because it's a bit of a side-topic (but I did include that paragraph knowingly).
Now, yes, I'm speculating, but aren't mobile device sales passing general-purpose desktops and laptops? I think the days when everyone that grew up around computing devices automatically had something they could hack on are passing. Of course, the Web is on all those devices, so let's get them hacking on the Web.
I'd bet that 50% of all software development (the IDE, text editor, shell, or whatever you do your daily work in) will be happening on the Web by 2020.
Speculation aside, my aim is to build a tool that's better than bash for the tasks I already do in a shell. Having it available to me from anywhere would be an extra benefit, whether software development migrates to the Web or not.
A bit of both. I have a working prototype, but it is not ready for serious use. In the next post I'm planning to have screenshots and work through some small practical task while explaining some of the features.
The github repo at https://github.com/inimino/ActiveShell looks pretty empty... It would be nice to have even a non-"serious" version to play with, since by your description, it would be pretty cool and useful.
I think that this observation is false. There is a recent proliferation of closed devices (iphone, etc), but consumer desktops and laptops abound, and a consumer is no more prohibited nor discouraged from installing an open operating system than they were in the past. The Fallacies of Distributed Computing aren't going anywhere, and dedicated machines will be with us for a long time: The convenience and privacy limitations of computing dependent on a network make it plain that programmers will be using local machines for a very long time.
inimino (a good guy) specializes in JavaScript, so I can understand why he finds an idea like this interesting. But it's a pipe dream, no pun intended.
I can see the value of this sort of thing as a JavaScript library for combining web services abiding by some packet standard.