Friday, November 11, 2011

Almost over the Jet Lag

I'd meant to post this somewhat earlier but between catching up on work and sleep this is the first chance I've had.

I was lucky enough to be able to go to EclipseCon Europe to give a presentation on the advantages of the Eclipse 4 API (as well as assisting Tom Schindl on his talk about 4.1 / 4.2). This is a great conference ! Kudos to Ralph and everybody involved for making this a wonderful experience.

First thing I did when I got back was to fix a couple of defects pointed out by folks while I was at ECE (see, I do listen...;-):

Bug 351230 - This one's for Ed. Here's the first part...tabs can now shrink to only showing 1 character as in 3.x. Be assured that the Tab ordering issue is under;-).

Kai, your CSS re-styling issue should be gone now as well...

Just finished doing my submissions for EclispeCon in Virginia, we've got cool coming !!

All in all it was an excellent trip. It was my first time to Europe and I'm definitely going back ! Great people and so much to see...

Finally,a side note just to keep things in perspective. While I was there my best friend and his wife had their first child...while I had a nice time it's got nothing on that ! He'll get my trip stories once he comes back down to earth...

Now I've gotta get back to my expenses (and pay John for the 50 Euro I borrowed..;-)...

Thursday, October 27, 2011

Eclipse 4: Beyond Compatibility

The bulk of the work for the past two Eclipse 4 releases has been on getting the compatibility layer (which allows all API clean 3.x components to 'just work' in 4.x) complete, robust and scalable. This is, however, a 'one off' exercise (thank's been a bear!!) so we can expect to be back to a more normal 'development' cycle in 4.3.

While we're not done yet by Juno's release we will now is the time to start thinking about where we want to take the platform in 4.3 and on into the future. The underlying architecture (called e4) upon which Eclipse 4 is implemented is capable of doing far more than just what 3.x provides in its presentation, the question is how we can leverage these new abilities to enhance the Eclipse User Experience.

I've recently presented a webinar called "Leveraging Eclipse 4 API to Build Components for the Future" which can be found on Eclipse Live. It gives a fairly general description of the basic 'e4' architecture (Modeled UI and Dependency Injection), suitable for folks that are just getting their first look at Eclipse 4.

Here's a screen shot of the webinar's demo showing a real PackageExplorer view hosted within a WizardPage.

This is just one example of the flexibility inherent in Eclipse 4. This turns out to be easy to do, here's a ZIP file ( containing the project used to implement this wizard. To run it though its paces:
  1. Install a recent version of Eclipse 4 and fire it up
  2. Unzip the file somewhere and Import the project into your workspace
  3. Make a new Run Configuration and fire up the inner
  4. You will see that there's a new entry in the 'New...' drop down called 'Local View', opening it will get you to the state captured in the image above.
  5. It'll look pretty boring since your inner won't have any projects...but it's the PackageExplorer, just right-click and create a new project...;-).

(Gratuitous Plug Warning...;-) I'm heading off next week to EclipseCon Europe where (along with helping Tom Schindl out with some of his presentations) I'll be giving a talk entitled "Eclipse 4: Where do we go from here ?" that will cover some of these same questions, albeit from a slightly different angle. Folks lucky enough to be going to the talk will still want to view the webinar which will fill in more background than I'll be able to cover in a 25 minute presentation.

Late Breaking News !! Here's a screen capture taken from work that Bogdan Gheorghe is doing on creating an XText based CSS editor. While folks writing new e4 RCP apps can use this as a regular editor to define their app's CSS file here it's presented under the Appearance Preference page, where it will modify the CSS of the currently running Eclipse 4 session (replacing a slew of formerly discreet preferences).

This demonstrates one of the new approaches we've already identified; the Eclipse 4 tooling will allow itself to be hosted in two places; as a regular editor to define content for projects within the workspace as well as in an appropriate preference page to facilitate changes to the currently running Eclipse session. That way users don't have to learn two different mechanisms (and we only have one piece of code to improve...;-).

Got any ideas ? Remember when you opened an enhancement request that was eventually closed as 'undo-able' ? Now is the time to dust them off again or open new ones. If you just want to discuss them you can reach us on IRC at "#eclipse-e4' or feel free to send me an email at, it's not only my pleasure to discuss cool ideas, it's my job !

Monday, June 27, 2011

Eclipse 4 ships with Indigo

How do we know ? Well for one thing I finally have time to start blogging...;-). This is just the first of many posts I expect to be making over the summer (and likely the least technical).

After almost 3 years of design and development the next version of Eclipse is ready for you to start using.

Is it perfect yet ? No, see the Known Issues page here but we are sure that none of these issues cannot be addressed during the 4.2 cycle. It's now time to pass the ball over to the community; we need your input to make this version of Eclipse even better..

The current PMC plans are that 4.2 should be the base platform for the Juno release and it will be our primary focus for 4.2 to ensure that this happens. Any defects found by the release train components will be top priority (actually any component, release train or not, if you're willing to spend the time testing we're ready to spend the time fixing your issues). Here's how you can help:

Testing Your Components:

We've already done our own 'ad hoc' testing of various components (CDT, Mylyn...) but only the actual component team knows enough about their features to ensure that our compatibility coverage is 100%. Testing your component in Eclipse 4 is easy (if it weren't I'd likely be updating my resume rather than writing this blog post...;-), even for something like the CDT the testing time required was under 3 hours:
  1. Download Eclipse 4.1
  2. Use it as you would normally and install / check out your component
  3. Run through a test of your component's features
    • Open any perspectives and check that everything's there
    • Ensure that all views / editors work correctly
    • Check the part's menu and toolbar items to make sure they're OK
* Please don't play the waiting game on this ("I'll let the other components go first to see what happens"). The amount of interest shown in Eclipse 4 will be a significant factor in its remaining the release train target.

We're here for you:

If you encounter any issues which prevent you from testing your component feel free to contact me directly ( and I'd be happy to help out in any way (including working through the issues directly with you on the phone as I did with Chris for CDT, here's his blog entry about it).

Report any defects against Eclipse -> Platform -> UI as you normally would (setting the target milestone to 4.1.1 will help us triage them). As I said above these will receive preferred treatment...It is worth noting that we are well positioned for this, the compatibility layer and the e4 core are much more compartmentalized so our ability for find and fix defects is faaar faster than the equivalent in the 3.x stream.

Also feel free to join us on IRC at '#eclipse-e4' or by posting to the mailing list '' to join in discussions about where we should be taking the 4.x stream beyond simply being compatible or just to share anything Eclipse 4 related.

I'm really looking forward to this year and seeing Eclipse 4 mature into the IDE of the future...


OK then, time to get the word out

Hi folks ! This is just a short intro blurb to introduce my self to Planet Eclipse...I'll scandalously steal most of this from by blog bio ;-).

My name is Eric Moffatt, I'm a tech fogie, having been in the User Interface arena for over 30 years (40 if you include the fact that my second ever program, Dartmouth Basic on a teletype, printed a triangle of asterisks). If we fast forward a bit I'm now an IBM employee and I've been a committer on the Eclipse Platform UI team since Eclipse 3.0 (and love it!).

I've also been involved with 'e4' since the original summit in 2008 and I'm an e4 committer as well as being the Eclipse 4 SDK development lead. This, of course, is what has brought me to the blogosphere...getting the word out about Eclipse 4.

I'll be immediately following this post with the first of quite a few specifically targeted at Eclipse 4 architecture and features. Various blog topics have been building up while I've been focused on the Eclipse 4.1 release, finally I have the time to put them together.