Rethinking the User Interface Paradigm of Integrated Development Environments
-
Code Bubbles[^] "Developers spend significant time reading and navigating code fragments spread across multiple locations. The file-based nature of contemporary IDEs makes it prohibitively difficult to create and maintain a simultaneous view of such fragments. We propose a novel user interface metaphor for code understanding and maintanence based on collections of lightweight, editable fragments called bubbles, which form concurrently visible working sets." There's also an 8 min. video. Not sure what to make of it at this stage but looks intriguing - or not?
Kevin
This is actually a repost from a while back, but I'm going to make the same comment I made then ... This reminds me of FoxPro's Code Snippets, and no good ever came from that design.
:..::. Douglas H. Troy ::..
Bad Astronomy |VCF|wxWidgets|WTL -
Code Bubbles[^] "Developers spend significant time reading and navigating code fragments spread across multiple locations. The file-based nature of contemporary IDEs makes it prohibitively difficult to create and maintain a simultaneous view of such fragments. We propose a novel user interface metaphor for code understanding and maintanence based on collections of lightweight, editable fragments called bubbles, which form concurrently visible working sets." There's also an 8 min. video. Not sure what to make of it at this stage but looks intriguing - or not?
Kevin
Honestly, I'd be happy if I could just drag one of my many open source files to the second monitor so that I can see it while I work in some other files. But no, if I want to do that I have to squeeze them in together inside VS itself.
My current favourite word is: Smooth!
-SK Genius
-
Honestly, I'd be happy if I could just drag one of my many open source files to the second monitor so that I can see it while I work in some other files. But no, if I want to do that I have to squeeze them in together inside VS itself.
My current favourite word is: Smooth!
-SK Genius
SK Genius wrote:
But no, if I want to do that I have to squeeze them in together inside VS itself.
There's a variety of simple editors you could throw the code into, like Notepad++. Or even another instance of VS! Marc
-
SK Genius wrote:
But no, if I want to do that I have to squeeze them in together inside VS itself.
There's a variety of simple editors you could throw the code into, like Notepad++. Or even another instance of VS! Marc
-
Code Bubbles[^] "Developers spend significant time reading and navigating code fragments spread across multiple locations. The file-based nature of contemporary IDEs makes it prohibitively difficult to create and maintain a simultaneous view of such fragments. We propose a novel user interface metaphor for code understanding and maintanence based on collections of lightweight, editable fragments called bubbles, which form concurrently visible working sets." There's also an 8 min. video. Not sure what to make of it at this stage but looks intriguing - or not?
Kevin
No thanks. Object orientation is the key, not a huge whiteboard with lots of code snippets and arrows. All I ever wanted is: - powerful search facilities; - arbitrary text coloring, so you can see all occurences of a word at a glance. No bubbles. :)
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
Prolific encyclopedia fixture proof-reader browser patron addict?
We all depend on the beast below.
-
Code Bubbles[^] "Developers spend significant time reading and navigating code fragments spread across multiple locations. The file-based nature of contemporary IDEs makes it prohibitively difficult to create and maintain a simultaneous view of such fragments. We propose a novel user interface metaphor for code understanding and maintanence based on collections of lightweight, editable fragments called bubbles, which form concurrently visible working sets." There's also an 8 min. video. Not sure what to make of it at this stage but looks intriguing - or not?
Kevin
Repost :rolleyes: As said before, I'd love to play with it - because I find the entity-centric navigation and display seriously lacking from today's IDE's. I like the "Area Nav Bar" at the top seems a good idea - looks well thought-out. However: Does it scale to real projects with a million LOC? Still, even if this implementation doesn't succeed, it provides fresh impulses for IDE's.
Agh! Reality! My Archnemesis![^]
| FoldWithUs! | sighist | µLaunch - program launcher for server core and hyper-v server. -
Honestly, I'd be happy if I could just drag one of my many open source files to the second monitor so that I can see it while I work in some other files. But no, if I want to do that I have to squeeze them in together inside VS itself.
My current favourite word is: Smooth!
-SK Genius
SK Genius wrote:
Honestly, I'd be happy if I could just drag one of my many open source files to the second monitor
You can do that with VS2010.
-
Code Bubbles[^] "Developers spend significant time reading and navigating code fragments spread across multiple locations. The file-based nature of contemporary IDEs makes it prohibitively difficult to create and maintain a simultaneous view of such fragments. We propose a novel user interface metaphor for code understanding and maintanence based on collections of lightweight, editable fragments called bubbles, which form concurrently visible working sets." There's also an 8 min. video. Not sure what to make of it at this stage but looks intriguing - or not?
Kevin
The weird notion that files (and even directories) are bad keeps trickling into academic proposals. It's baffling. You have to organize and store your data somehow and files turn out to be a pretty darn good way to do it. A big problem with this proposal is that it assumes a tighter coupling between objects and a primacy of objects themselves that simply doesn't exist in the real world. It is very academic in this regard--that the algorithm and objectness is everything. Except they're not. Most functioning code is housekeeping tedium not easily encapsulated into neat little bubbles. It's all been done before and failed. (Another problem with this kind of thing is that it makes objects too important; the developer ends up spending time creating fancy, rich objects and forgets to actually make them do something useful. When the developer finally does get around to making them do something useful, they inevitably discover that half their fancy class isn't used and the other half doesn't fit the real world requirements very well, if at all. Been there, done that.)
-
Code Bubbles[^] "Developers spend significant time reading and navigating code fragments spread across multiple locations. The file-based nature of contemporary IDEs makes it prohibitively difficult to create and maintain a simultaneous view of such fragments. We propose a novel user interface metaphor for code understanding and maintanence based on collections of lightweight, editable fragments called bubbles, which form concurrently visible working sets." There's also an 8 min. video. Not sure what to make of it at this stage but looks intriguing - or not?
Kevin
VH1's Popup Video meets Visual Studio...
-
SK Genius wrote:
Honestly, I'd be happy if I could just drag one of my many open source files to the second monitor
You can do that with VS2010.
aspdotnetdev wrote:
SK Genius wrote:
Honestly, I'd be happy if I could just drag one of my many open source files to the second monitor
You can do that with VS2010.
Interesting. Are there any demo videos of that around; I'm curious how well it works in practice.
3x12=36 2x12=24 1x12=12 0x12=18
-
SK Genius wrote:
But no, if I want to do that I have to squeeze them in together inside VS itself.
There's a variety of simple editors you could throw the code into, like Notepad++. Or even another instance of VS! Marc
I do that often using Notepad++ in the second monitor.
John
-
aspdotnetdev wrote:
SK Genius wrote:
Honestly, I'd be happy if I could just drag one of my many open source files to the second monitor
You can do that with VS2010.
Interesting. Are there any demo videos of that around; I'm curious how well it works in practice.
3x12=36 2x12=24 1x12=12 0x12=18
Haha, a demo video of putting a tab on a second monitor? Seems a bit focused of a topic to have a demo video on, don't you think?
-
The weird notion that files (and even directories) are bad keeps trickling into academic proposals. It's baffling. You have to organize and store your data somehow and files turn out to be a pretty darn good way to do it. A big problem with this proposal is that it assumes a tighter coupling between objects and a primacy of objects themselves that simply doesn't exist in the real world. It is very academic in this regard--that the algorithm and objectness is everything. Except they're not. Most functioning code is housekeeping tedium not easily encapsulated into neat little bubbles. It's all been done before and failed. (Another problem with this kind of thing is that it makes objects too important; the developer ends up spending time creating fancy, rich objects and forgets to actually make them do something useful. When the developer finally does get around to making them do something useful, they inevitably discover that half their fancy class isn't used and the other half doesn't fit the real world requirements very well, if at all. Been there, done that.)
Joe Woodbury wrote:
The weird notion that files (and even directories) are bad keeps trickling into academic proposals. It's baffling. You have to organize and store your data somehow and files turn out to be a pretty darn good way to do it.
I don't find it that baffling. The major use I have for directories and file names is a useful way of describing to other humans where a particular piece of code is. All the legacy systems I've worked on, the directory and file naming conventions have become so arcane after 5 or years they are irrelevant and are more a hindrance than a help. I don't call that pretty darn good. It may just be the best way we have though. What I want from the concept displayed is to make it easier to move away from forcing people to use classes. I find that so much less useful these days. What I would find useful though is being able to display and format code the way _I_ like that doesn't screw up source code history or other people's work. Make the tools reponsible for organising code into a history sensible way and let me look at it how I want. I was to show all the methods that take a particular parameter, or anything with a TODO in it. I want to see code comments in rich text, not plain text. and most of all, I want it all to place nice with source code control. I don't necessarily need separate bubbles. If it all appeared in one flat window, that's find by me. Just organise the code for me so I don't have to care so much any more.
-
Joe Woodbury wrote:
The weird notion that files (and even directories) are bad keeps trickling into academic proposals. It's baffling. You have to organize and store your data somehow and files turn out to be a pretty darn good way to do it.
I don't find it that baffling. The major use I have for directories and file names is a useful way of describing to other humans where a particular piece of code is. All the legacy systems I've worked on, the directory and file naming conventions have become so arcane after 5 or years they are irrelevant and are more a hindrance than a help. I don't call that pretty darn good. It may just be the best way we have though. What I want from the concept displayed is to make it easier to move away from forcing people to use classes. I find that so much less useful these days. What I would find useful though is being able to display and format code the way _I_ like that doesn't screw up source code history or other people's work. Make the tools reponsible for organising code into a history sensible way and let me look at it how I want. I was to show all the methods that take a particular parameter, or anything with a TODO in it. I want to see code comments in rich text, not plain text. and most of all, I want it all to place nice with source code control. I don't necessarily need separate bubbles. If it all appeared in one flat window, that's find by me. Just organise the code for me so I don't have to care so much any more.
Because someone uses a tool wrong does not invalidate the tool. Moreover, it doesn't make an alternate tool automatically better. I'm not saying files are perfect, but once you glean through the alternatives, it holds up pretty well.
Phil Martin... wrote:
Make the tools reponsible for organising code into a history sensible way and let me look at it how I want.
The problem being that how you want must be divined and I know of no program capable of that. It's a bit like asking that a database simple reflect your desires. I do agree with the rich text idea; it's something I've proposed for years along with automatic formatting (especially as of late since my team lead uses a formatting style I have never seen elsewhere.) As for looking at code from a class perspective, it already exists. I've tried such tools and found they worked very poorly for how I program.
-
Because someone uses a tool wrong does not invalidate the tool. Moreover, it doesn't make an alternate tool automatically better. I'm not saying files are perfect, but once you glean through the alternatives, it holds up pretty well.
Phil Martin... wrote:
Make the tools reponsible for organising code into a history sensible way and let me look at it how I want.
The problem being that how you want must be divined and I know of no program capable of that. It's a bit like asking that a database simple reflect your desires. I do agree with the rich text idea; it's something I've proposed for years along with automatic formatting (especially as of late since my team lead uses a formatting style I have never seen elsewhere.) As for looking at code from a class perspective, it already exists. I've tried such tools and found they worked very poorly for how I program.
Joe Woodbury wrote:
I'm not saying files are perfect, but once you glean through the alternatives, it holds up pretty well.
Thats my dilemma right there. Files aren't prefect, I find them really really annoying. But they are absolutely the best option right now. It's not going to stop me wanting something better though :)
Joe Woodbury wrote:
The problem being that how you want must be divined
I didn't say I wanted the software to mystically guess what I want, I want to be able to _tell_ it what I want. Your database analogy is perfect. Some people want the tables displayed this way, people want it other ways. I want that, but for code. Why should I be limited at looking at a set of functions in the order they are written? why not alphabeticaly? or not by date modified, why not by some other system? Why do I have to see them all. I view tour desire for automatic formatting as a subset of the bigger picture. You should be able to view the code in a way that makes sense to you, and when making changes shouldn't adversely effect the other users. That is one of the things that databases did for us.
Joe Woodbury wrote:
As for looking at code from a class perspective, it already exists. I've tried such tools and found they worked very poorly for how I program.
I've had the exact same experience. Class focused editors are AWFUL. Blechy blech.
-
Joe Woodbury wrote:
I'm not saying files are perfect, but once you glean through the alternatives, it holds up pretty well.
Thats my dilemma right there. Files aren't prefect, I find them really really annoying. But they are absolutely the best option right now. It's not going to stop me wanting something better though :)
Joe Woodbury wrote:
The problem being that how you want must be divined
I didn't say I wanted the software to mystically guess what I want, I want to be able to _tell_ it what I want. Your database analogy is perfect. Some people want the tables displayed this way, people want it other ways. I want that, but for code. Why should I be limited at looking at a set of functions in the order they are written? why not alphabeticaly? or not by date modified, why not by some other system? Why do I have to see them all. I view tour desire for automatic formatting as a subset of the bigger picture. You should be able to view the code in a way that makes sense to you, and when making changes shouldn't adversely effect the other users. That is one of the things that databases did for us.
Joe Woodbury wrote:
As for looking at code from a class perspective, it already exists. I've tried such tools and found they worked very poorly for how I program.
I've had the exact same experience. Class focused editors are AWFUL. Blechy blech.
Wow, I just re-read my post, and oh my, I sound like a whiny teenager. I want this, I want that, I want my bottle, I want my lolly. Sorry! I think I'm getting crotchety in my old age.
-
Because someone uses a tool wrong does not invalidate the tool. Moreover, it doesn't make an alternate tool automatically better. I'm not saying files are perfect, but once you glean through the alternatives, it holds up pretty well.
Phil Martin... wrote:
Make the tools reponsible for organising code into a history sensible way and let me look at it how I want.
The problem being that how you want must be divined and I know of no program capable of that. It's a bit like asking that a database simple reflect your desires. I do agree with the rich text idea; it's something I've proposed for years along with automatic formatting (especially as of late since my team lead uses a formatting style I have never seen elsewhere.) As for looking at code from a class perspective, it already exists. I've tried such tools and found they worked very poorly for how I program.
Joe Woodbury wrote:
Because someone uses a tool wrong does not invalidate the tool.
You really got me thinking with that. Because I know you're dead right, but something was missing. Because someone uses a tool wrong does not invalidate the tool, however if it is not possible to use a tool right, I think the tool is fundamentally flawed. That is my opinion on folder organisation for software development. I've not seen a folder organisation be useful for more than a couple of years. I don't know why, but at that point it stops being useful beyond a starting point for searching for code. Do I have a better implementation? no. Do I have better ideas? maybe, but probably not. Just because I can't think of something better doesn't mean the original tool is any good.
Joe Woodbury wrote:
Moreover, it doesn't make an alternate tool automatically better.
Absolutely true - but it should never stop anyone from looking for better tools. I've done my fair share of renovation work, and finding better tools is always a good thing.
-
Haha, a demo video of putting a tab on a second monitor? Seems a bit focused of a topic to have a demo video on, don't you think?
-
Kevin McFarlane wrote:
You can drag stuff back in view I think and it's supposed to be able to elide text.
That's part of my issue with this kind of thing. At the moment, writing code is generally typing stuff into an editor, it's based around text entry (for better or worse). Switching one hand to a mouse to reposition things quickly gets irritating, since it slows down your work flow. If something like this could be incorporated with a keyboard based work flow (using the mouse would be optional, just like it is when editing text), then you might have something interesting.
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow
Not sure what to think of this either, but from watching the video it seems like keyboard-only navigation is supported. I'm not sure what the zoom shortcut is, but I imagine the flow is : 1) typing.... 2) hit zoom key 3) each bubble has a key assigned to it, just hit the key associated with the bubble you want I would hope there would be shortcuts for things like goto definition and find references as well, like there is in visual studio
Code responsibly: OWASP.org Mark's blog: www.developMENTALmadness.com Bill Cosby - "A word to the wise ain't necessary - it's the stupid ones that need the advice."
-
Code Bubbles[^] "Developers spend significant time reading and navigating code fragments spread across multiple locations. The file-based nature of contemporary IDEs makes it prohibitively difficult to create and maintain a simultaneous view of such fragments. We propose a novel user interface metaphor for code understanding and maintanence based on collections of lightweight, editable fragments called bubbles, which form concurrently visible working sets." There's also an 8 min. video. Not sure what to make of it at this stage but looks intriguing - or not?
Kevin
Freakin' awesome. I love the idea - if only they had it for C#. Everyone else posting seems to either hate the idea or think it only applies at a small scale, but for me, I'm constantly moving around my source file - up to the properties, down to some methods, etc. This would allow me to create bubbles of the sections I'm working on so I can just focus on those areas, without all the scrolling navigation. And while it would require some screen real estate, high resolution monitors are fairly cheap these days (just picked up a 25" monitor for <$200), and are well worth it for the productivity increase (bubbles or no bubbles). As to the complaints about large methods not fitting in the bubbles - large methods are generally frowned upon in the OO world anyway, aren't they?