Here's my take.
Semantic Program Storage
Programs are stored as datastructures, not text files. The programs are projected into the editor via transforms. Users can pick their favorite syntax -- like a skin.
Plus, you could have projections for graphical representations of the code.
And, the code is essentially a revisioned database. It can be queried efficiently, viewed as a graph, etc.
Code Views
Subsets of the codebase can be grouped together into a "view" which accomplishes something useful.
Wiki-Style Inline Documentation
All documentation is cached locally, but can be edited, and synced with the web.
Live Scratch Space
Reinteract or Subtext-like.
