They are still stuck in a browser. The DOM is still largely impossible for users to parse and interact with. Web pages are still separate from each other.
> none of us got the idea behind it (I certainly didn't); so, instead we re-created the prisons we were, and are, trying to escape.
That's true for two reasons.
1. The reason you gave: we made it this way.
2. HTML isn't naturally leading us in a different direction than that.
I would say Emacs is a better implementation, though it still has faults.
Really, there is nothing that truly encapsulates this ideal. It's something that I still have difficulty articulating.
I think the most significant walls we have made are in user interface. We make programs that expect users to interact in a predetermined fashion instead of allowing users to make that decision themselves. In designing these programs, we wall the user away from engineering their own interfaces.
I think the second most significant wall is the floor. Take Emacs for example: Sure, you can alter every variable. You can change the keymap. You can change the fonts. But fundamentally, every variable has a default that the user must confront. There is no Emacs-from-scratch configuration option. This gets especially messy because default variables are organized in a carefully designed structure. They are codependent. It's trivial to make small changes, but significant refactoring requires planned cohesion with what is already there.
This topic is something that is vitally important to software design, and yet we don't even talk about it. We just keep rolling with the status quo until someone breaks down a wall and becomes a hero.
Not quite.
They are still stuck in a browser. The DOM is still largely impossible for users to parse and interact with. Web pages are still separate from each other.
> none of us got the idea behind it (I certainly didn't); so, instead we re-created the prisons we were, and are, trying to escape.
That's true for two reasons.
1. The reason you gave: we made it this way.
2. HTML isn't naturally leading us in a different direction than that.
I would say Emacs is a better implementation, though it still has faults.
Really, there is nothing that truly encapsulates this ideal. It's something that I still have difficulty articulating.
I think the most significant walls we have made are in user interface. We make programs that expect users to interact in a predetermined fashion instead of allowing users to make that decision themselves. In designing these programs, we wall the user away from engineering their own interfaces.
I think the second most significant wall is the floor. Take Emacs for example: Sure, you can alter every variable. You can change the keymap. You can change the fonts. But fundamentally, every variable has a default that the user must confront. There is no Emacs-from-scratch configuration option. This gets especially messy because default variables are organized in a carefully designed structure. They are codependent. It's trivial to make small changes, but significant refactoring requires planned cohesion with what is already there.
This topic is something that is vitally important to software design, and yet we don't even talk about it. We just keep rolling with the status quo until someone breaks down a wall and becomes a hero.