The IDE, reloaded

Here is a very interesting take on the concept of Integrated Development Environment. As opposed to traditional IDE’s, which work at the same level as the Java language itself (classes and packages), this IDE, called Code Bubbles, allows you to work at a much finer granularity: methods, fragments of code and whatever you need for the resolution of a specific task. All these tasks are linked to each other in a workspace, thus allowing you to stay focused only on what is relevant for your current task.
Of course, the concept is not new since it’s exactly what Mylyn is trying to achieve, but to be honest, every time I’ve tried to get into Mylyn (and I tried several times over the past years), I ended up giving up in frustration. This is not to say that Mylyn is a bad product, just that retrofitting such an idea on a traditional IDE, no matter how flexible, is probably impossible.
Still, I can’t shake this impression that it should be possible to mix both approaches, and considering the mindsharing that Eclipse has, being able to offer an intuitive and lightweight add-on that would enable the kind of unit of work granularity that Code Bubbles enables could be very interesting.
And this thought led me to git, but I’ll need to make a digression first.
One of the strengths of git is its branching model: branches are so cheap that you find yourself branching all the time and then switching, merging and committing very often.
Another interesting aspect of source control systems (not limited to git) is that the diffs that you are creating capture the unit of work that is relevant to you. And a git branch is actually very similar to a Code Bubbles Workspace.
So how about an Eclipse perspective that would be based on git branches?
The perspective wouldn’t just show the diffs, an information that is in itself not very interesting, but it would be a bit smarter than that and be able to infer that if you modified a couple of lines in the method init(), the that whole method should become a bubble in that perspective. Intelligent linking between bubbles could also be provided by looking at the chronological order in which the methods have been edited: git would only know that you added two lines in the method init() and that you then renamed a field in the class Foo, but the perspective would note that the two events are related since they followed each other, and it would reflect this by linking the bubbles.
Thoughts?
Comments (22)
Hi Cedric, I am wondering what did not work for you with Mylyn. I had couple of false starts on it myself, but for more that a year now I am a happy Mylyn user. I am using it with JDT,CDT,SDT and Android. Igor
Hrm, it's an interesting approach to an IDE. The video made it look useful for the tasks he was demonstrating, but that's also probably the most ideal use of the IDE. I really would need to actually try using it to see if it's something that I'd ever actually switch to for my Java development. Thanks for writing a blog post on it, first I've seen of this product :)
Of course, the concept is not new since ?? it is based on Self??s Kansas IDE by Dave Ungar etal. Kansas also includes large-than screen canvas and you browse the system method by method following semantic links such as callers and receivers. Screenshots (itty bitty ones) here, http://bit.ly/a6E7pC, slide 11 ff
Our team uses Code Bubbles, but only on a limited basis. Some team members are very reluctant to change - but Im goign to have them read your blog and maybe change their minds. We are always striving for increased Java development.
As Igor, I'm a happy Malyn user also, though it was tough to start. <a href="http://push2check.com" rel="nofollow ugc">Jeremy</a>
The handling of database aplications is so much easier with IDE. Code Bubbles is new to me, I'll give it a try as I also tried Mylyn but was lost somewhere...
http://besterectionpills.net/ Best Erection Pills, Free Erection Pills, Erection Pills Review Natural Viagra Substitutes and ED Remedies popularity has grown significantly. Billions of people around the globe use natural remedies now to cure ED related problems. We review them and find best erection pills.
I am wondering why you had problems with Mylyn. I have been using it for quite a long time and I am very happy with it. Code Bubbles is a wonderful work space and you have just introduced me to it. So, basically I am still fumbling through the whole arena and possibilities of it, but so far so good. It is also very helpful that you have also described and Eclipse perspective which makes the whole process very easy to switch over to.
Man writing code is so changing when I think back to when I first started. Intelligent linking between bubbles is amazing, it will keep you focused and speed up production.
Have you ever looked at Rational as an IDE. Quite a beast but we used it for our development at a larger IBM project (not the blog of mine ;)
This is pretty interesting...and fresh approach to IDE.. will it actually work? have you used it with any projects?
Man writing code is so changing when I think back to when I first started. Intelligent linking between bubbles is amazing, it will keep you focused and speed up production.
Dude, I could not make it out. I need help here big time. I already emailed some one hope to hear from them.
I was here yesterday, but i could not post a comment. now let me try one more
will you be doing it yourself or or your coding it with somebody? are you a team working on the project?
My thought is it will take more than a year for anyone to do it. It is such a huge undertaking. It's nearly impossible to make.
This is pretty interesting??and fresh approach to IDE.. will it actually work?
i love this ide, so i used java a long time ago but this is very better in use, beginners should try this.
It's great, the idea and the concept. I gave it a try but it took me too much time to get used to it. But I would still recommend trying it out!
I've tried it and to be honest, it was way too tough for me. The concept in itself is pretty good, but I think I'll stick to Aptana and Dreamweaver for the time being!
This is verry interesting! will it actually work? I think it take too much time to get used to it.
Im using the 3.4.2 version and it works great for me, but as always you need some time to make yourself familiar with the program.