Category Archives: eclipse

Death of Eclipse Application Lifecycle Framework good for vendors, bad for customers

It’s a shame that the Eclipse ALF (Application Lifecycle Framework) project has closed:

… given the level of community participation, the appropriate course for ALF is to close down the project. Unfortunately, our recent efforts did not identify potential contributors willing to justify keeping the project active.

says project lead Brian Carroll. The project aimed to enable interoperability between ALM (Application Lifecycle Management) tools from different vendors. Here’s the problem statement from the project page:

Application development today is achieved through the use of numerous tools from software vendors, open source communities and some are even home grown. Getting these tools to work together is an integration problem that has never been solved. Each vendor and open source project creates their own API standards and many hours of effort are required to create even the most straightforward of integrations.

The problem is real, so why the lack of participation? Of the major ALM vendors, only Serena gave it serious backing. The project could not succeed without either IBM, or a solid alliance of IBM’s competitors.

My interpretation: those ALM vendors will have considered whether it was really in their interests to help customers integrate their tools with those from rivals. Good for customers, yes, but vendors want to keep you hooked on their product suites. “Buy more from us, it integrates with what you have already” is a great sales point. Since only the participation of those vendors could make ALF work, the project was doomed.

It is another manifestation of what Salesforce.com CEO Marc Benioff calls “an aspect of our industry”.

Everyone loves standards, right?

Technorati tags: , , , ,

When will PHP Developer Tools be mainstream at Eclipse?

I’ve been doing a little PHP work and enjoying it; I like PHP 5.x much better than earlier versions. My PHP development setup is based on Eclipse and the PHP Developer Tools project, or PDT, and one thing I noticed when I set this up is that it is awkward to use PDT with Eclipse 3.4, or Ganymede. I ran into problems again when I updated my Ganymede Eclipse to the latest releases, this time on Windows as it happens. PDT stopped working, and I had to download a newer “integration build” of PDT as well as an update to the Eclipse Dynamic Languages Toolkit (DLTK), using a manual download and import process instead of the built-in Eclipse online update. I also had to remove the Ruby Development Tools as these relied on an earlier version of the DLTK; there might be a way round this but my priority was to get PDT working.

I’m getting this pain because I want to use PDT 2.0 and Eclipse3.4, instead of the older PDT 1.0.3 which has an all-in-one download based on Eclipse 3.3. “All-in-one” means that you download a bundle which includes both Eclipse and PDT, and treat it as a separate standalone IDE. The question though: why wasn’t the PDT properly integrated with Ganymede, which brings together multiple Eclipse projects with the promise that they will all work together?

I looked in the Eclipse PDT newsgroup and found some discussion on the subject. Apparently the PDT team felt it was just too difficult to manage the dependencies. More depressing is that apparently the team feels the same way about Galileo, the follow-up to Ganymede expected in June 2009. It means that the PDT stays outside the mainstream of Eclipse projects, reducing its visibility.

Conspiracy theorists might surmise that major PDT contributors like Zend, which has its own commercial IDE called Zend Studio which uses both Eclipse and PDT, might enjoy keeping the free version low-profile. That (or some other reason) might also explain why Zend Studio uses a 1.x version of PDT along with Eclipse 3.4, which is not meant to work. It turns out that Zend Studio uses PDT 1.0.5, whereas the latest public download (unless you go directly to the source) is 1.0.3. If 1.05 works fine with Eclipse 3.4, why isn’t the public all-in-one based on this combination?

I like the PDT, and my patched together Ganymede + PDT 2.x works very well. Debugging seems more stable since I updated it. Personally I’d like to see PDT get more prominence within the Eclipse community, and for it to be packaged as part of Galileo rather than being left on the sidelines.

Technorati tags: , , , ,

Now it’s Eclipse that has “baroque” code

This provoked a wry smile, from a Reg Dev article on the forthcoming Eclipse 4:

Underpinning all this, though, is an attempt to escape the “baroque” 3.x codebase for something that’s simple, clean and modular. That means eliminating repetition in code and interdependencies found in the monolithic 3.x.

“It’s getting to the point where it’s difficult to reach in and fix a bug without impacting lots of other things,” one e4 committer told EclipseCon.

Now, Eclipse is a child of the refactoring era. It is built using an MVC (Model-View-Controller), component-based, plug-in architecture. Design patterns guru Erich Gamma worked on Eclipse and on its Java Development Tools.

If Eclipse is now a ball of spaghetti, what went wrong? Though its possible the problems are being over-stated in an effort to justify version 4.

Technorati tags: , , , ,

Erich Gamma on Eclipse and Jazz

Erich Gamma spoke at Qcon London on the subject of “How Eclipse changed my views on software development.” Or did he? This was a somewhat schizophrenic talk; in part an articulation of general development principles, and in part a description of how Eclipse is developed. Gamma spelt out the Eclipse philosophy, the starting point being that everything is a a plug-in; that APIs matter a lot and its better to get a small API right rather than get it wrong and have to support it for ever.

He then talked about iteration, a key tenet of agile development. He showed a great slide which charted the progress of some projects, from “all the time in the world” at the beginning, to “say goodbye to your loved ones” at the end, followed by total exhaustion after the thing is shipped. Iterative development with continuous builds and sign-offs every 6 weeks is less stressful and more productive.

It’s a great point, but does this work in every instance? What if you have a game to ship for the Christmas market?

He also talked about the benefits of open source development: transparency between developers and customers, critical mass of community activity, frequent feedback, and so on. Nothing new here; but perhaps this simply demonstrates the extent to which the merits of the open source model have become accepted.

Gamma then focused more sharply on Eclipse. He says there is a major new release every year, and they don’t want to ship in the summer or near Christmas, so they ship in June.

He described how the Eclipse project manages its large international team. It comes down to components: developers are divided into teams on specific sites, and each team manages one or more components, and has its own process for planning, building and testing. A weekly integration build prevents incompatibilities between components from getting out of control.

Towards the end of his session, Gamma gives us a tour of Jazz, IBM’s open source but commercial project for collaborative software development. Interesting, but I’m not sure that this product pitch belonged in a talk that was billed as something more general.

Overall: good insight into how Eclipse comes together, but not too exciting. I don’t envy these guys who face heightened expectations because of significant contributions they have delivered in the past. Nobody can change the world daily.

Technorati tags: , , , ,

QCon London

Today I’m at QCon in London. I enjoyed this conference last year, when among other things I got the scoop on Microsoft’s Volta (then LINQ 2). First up this year is Erich Gamma of Design Patterns and JUnit fame, who will be talking about how Eclipse has influenced his view of software development (others would talk about how Gamma has influenced Eclipse). I’m also intrigued by what Google’s Gregor Hohpe is going to say about “The Cloud as the new middleware platform.” It’s going to be an interesting contrast to Microsoft’s Mix08 conference last week. Be sure I’ll be reporting back here; or if you’re here too, by all means get in touch.

Technorati tags: , , ,