Slashdot links to Code Bubbles, some research from Brown University that takes the IDE in some intriguing directions. IDEs that present fine grained views of code fixtures like modules and members aren’t new. What Code Bubbles does differently is to present a virtual, infinite plane where the fragments can be pulled up side by side, grouped, annotated and connected in a number of different ways.
Watching the demonstration video, it just feels like a natural fit to the way I pull up multiple buffers in vim or eclipse and constantly toggle between them based on a coding task. The set up and tear down cost of those buffers always feels like a waste, especially closing them all out when I switch to a different task. Making groups of bubblers persistable just seems like a logical extension and the task switch in the demo nicely shows how powerful this idiom could be for more efficiently maintaining task related mental state directly in the IDE, state that isn’t reflected anywhere in the code.
My sole concern is whether this IDE is going to be suitable for all users. I have years of experience under my belt and build a very complete mental model of large sections of code as I build and work on a project. I fear this more atomic approach may interfere with the ability of a more junior programmer to keep work in the small correctly nestled in a clear, larger design context. I imagine there may be a way to scale this approach to provide that sort of grand view, as well, in addition to the searching and browsing views of classes it borrows from existing IDEs.
I am definitely interested in getting my hands on this prototype and see how it evolves towards a finished IDE.