A major advance in user interfaces that supports creative exploration would the capacity to go back in time, to review and manipulate the history of actions taken during an entire session. Users will be able to see all the steps in designing an engine and change an early design decision. They will be able to extract sections of the history to replay them or to convert into permanent macros that can be applied in similar situations. Extracting and replaying sections of history is a form of direct man ipulation programming. It enables users to explore every alternative in a decision-making situation, and then chose the one with the most favorable outcomes.
While being able to view the history of a problem space from the perspective of a creation process is interesting, in reverse, it is also an interesting way to view a potential learning experience.
I can't help but think about the branching tree networks of knowledge in some math texts providing potential alternate paths through the text to allow learners to go from novice to expert in areas in which they're interested. We need more user interfaces like this.