Twitter github

Posts Tagged with “eclipse”

Reflections

It’s going to be 2008 soon so it’s a good time to reflect on what happened in 2007 (before the egg nog gets to me) and what we should be looking forward to in the future.

2007 Highlights

Interesting Times

There were other many cool things that happened this year (like an Ada project), but this is all I can quickly come up with in my head. I’ve also managed to put over 115,000 miles of air travel on my belt this year which is quite amazing given that I’m not a consultant who reads Getting Drunk in First Class daily.

On a serious note, we need to start looking to the future as I believe Eclipse is at a point where it needs to make a leap from 3.4 to 4.0 or we may live in a world where there’s no well-defined modularity or plug-in goodness. My main mission next year is not to become like those SmallTalk guys who reminisce in the days of how awesome SmallTalk was. There will be no reminiscing, Eclipse will stay awesome 🙂

Next Year

  • Eclipse 4.0
    • The effort should be started next year after Eclipse 3.4
    • I want to see community involvement resulting in a diverse “platform” team
  • Eclipse 3.4.3 or 3.5?
    • When we make the leap to 4.0, what happens to everyone on the 3.x train?
    • How do we not alienate current and future consumers of Eclipse?
  • 1000 Eclipse Committers
    • There are currently about ~900 Eclipse committers
    • We will reach 1000 next year, but will we be a “diverse” 1000?

Looking Ahead

I have a few challenges next year for myself to help Eclipse grow. These are things I also view that should be critical to the future adoption of Eclipse… so here they are:

  • Themeability
    • It’s too hard to theme Eclipse applications. A common complaint from peers and consultant friends is that they spend way too much time on making their Eclipse application look like ITunes or just less “IDE-like.” IBM Lotus spent time inventing its own custom CSS skinning technology for its platform when it shouldn’t of really had to. In the end, Eclipse is really missing out on growing a community of artistic people. Imagine browsing something like the Winamp Skins section but for your RCP applications?
  • Symmetrical Applications
    • By symmetrical applications, I mean applications that can run on various targets. By targets, I mean things like desktops (think RCP), web browsers (think RAP) and embedded devices (think eRCP). This what the word “tier-less” means in the Runtime Project Top-Level Project draft charter.
    • One of Eclipse’s greatest strengths is the adoption of OSGi technology which enables Eclipse to work on various targets. This is something we should push heavily when we start thinking about Eclipse 4.0 in my opinion.
    • The tooling around symmetrical applications needs work and something PDE should focus on in the future. If you ever tried to write an application that runs on RCP, eRCP, RAP using the same workspace, you’ve attained a level of Eclipse nirvana and pain that very few people have experienced.
  • Scripting
    • As a first step, it needs to be easier to script Eclipse to do things. I know we have the Eclipse Monkey, that’s a great start but we should also focus on things like allow plug-ins to be defined in different languages, like say JRuby. I know we have started some basic work in this direction, but it’s something that deserves more focus next year.
  • Diversity
    • Diversity is what makes us special and Eclipse needs to improve its diversity. There are shining examples of projects that have great diversity within Eclipse (like Modeling) but we need to focus growing it in other places. When I say diversity I mean many things. Whether it’s the diversity of committers on a project or the diversity of the types of project themselves (e.g.., embedded, automotive, web, …)

Ok, that’s my last brain dump for the year. It was a great year for Eclipse and I hope we can continue the fun next year. I appreciate everyone who reads and comments on my diatribes, thank you.

Happy Holidays everyone and see you next year!


Plug-in Development Workflow

I had a colleague of mine who recently started a consulting gig doing some Eclipse work locally and he’s running into the problem of teaching his client Eclipse plug-in development workflows. But before we get into that, he managed to find one of the few clever easter eggs we have hidden throughout PDE:

He was highly suspicious of PDE giving him code completion for my name but I told him it’s reasonable, my last name is pretty hard to spell 🙂

So, back to answering his question on plug-in development workflow. When the PDE team gives a tutorial about plug-in development, we generally include this graphic detailing how we think the workflow should be:

The graphic may not be that useful for experienced Eclipse developers, but we’ve found it helps new people understand the basics of plug-in development. Early next year, I plan to write an article that goes over these steps in detail and the tooling we provide for these steps (e.g., the Organize Manifests wizard).

Ok, back to my special egg nog mix. Happy Holidays!

An Unbelievable Poor Man’s UML

I saw an advertisement at the greatest movie theatre ever about a 90’s one-hit wonders sing-along that featured a band called EMF. I was ashamed to learn that this was one band I didn’t know about from the 90’s, especially given that their one hit wonder was ‘Unbelievable.’

This is a great personal holiday gift as I have something else I can tease the EMF team about. If you haven’t tried EMF, highly recommend it. To explain everything it can do would be hard in a short post, but to start, think of it as an excellent xml binding framework that has its own micro-ecosystem built on top of it. For a nice and entertaining introduction to EMF, I recommend David Bosschaert’s set of posts:

Eclipse Memory Analyzer?

I just came across a new Eclipse project proposal that’s going to give the Eclipse community a sweet memory analyzer. The code (which has already been available for awhile online) is being donated by SAP.

This should benefit the Eclipse ecosystem and kudos to SAP for open-sourcing this code. I can’t wait to go through PDE memory dumps with this thing 🙂

Ganymede IP Review Deadline

It’s that time of year again… the IP deadline for the Ganymede release was recently announced, January 31st. This basically means that Eclipse committers (especially project leads) need to file your Contribution Questionnaires (CQ) in IPZilla before January 31st or risk not being part of the Ganymede release train.

This is also a good time to discuss the Orbit project. If you have any CQs, it’s also nice to have your library in Orbit as it ensures that we won’t have any duplicate third-party libraries within Eclipse projects (a pet peeve of mine), they will all come from the same source. The libraries will also be packaged in a friendly OSGi and Eclipse way. Here’s a link to the current list of libraries within Orbit. I personally have been going through CQs and making sure that libraries that are used by two or more projects make their way into Orbit. I recently added quite a few Apache Commons libraries used by projects to make the burden less painful for the IP team when they get deluged by CQs in the end of January.

Choo Choo Trains

It looks like the SpringSource people have taken a cue from Eclipse in having their own version of a release train to help with the various Spring-related technologies out there.

I hope that this is a sign that other open-source communities will follow this release train practice. Once this happens, we can start thinking about staging the various release trains so they are synchronized.

For example, imagine that one week after the Ganymede release train happened, SpringSource had its release train occur. I believe this would promote better unity amongst open-source communities, especially communities that depend on each other in one way, shape or form.

Zest in GEF

After about a year of poking around, Zest has finally made it to be part of the GEF project. If you don’t know what Zest is, well it’s the technology that powers the Plug-in Dependency Visualization view inside the PDE incubator amongst other things. Ian Bull blogged about the view awhile back in case you’re interested in taking a peek. The code is finally located in the GEF repository and being built. The only things left to do are doing some documentation and website updates that I’m sure Ian will work on.

If anything, this Zest to GEF move proves that if there’s demand in the Eclipse community for something to happen and you’re persistent about it, it will happen. All it takes is to file a bug, some blogging, building some community support and patience 🙂

Good luck using Zest!

Developing RAP Applications

An article that Benjamin Muskalla and I wrote about developing RAP applications just got published. This covers some of the basics that weren’t covered in Part 1 and expands on some advanced topics like branding, themes and custom widgets.

If you’re an Eclipse developer and are shy about developing web/ajax applications, this is your chance to get acquainted! Other than that, happy rapping!

WTP Loosening Up

The WebTools Architecture Group is investigating splitting up WebTools components in a set of more consumable downloads. For example, you’ll be able to download the Facets framework or JavaScript Development Tools (JSDT) in a separate download, similar to how you can grab SWT standalone.

If you’re interested in this work or have any comments to give, check out the dedicated wiki entry (talk page) and newsgroup post.

I’m personally excited about seeing the SSE as a consumable download. Overall, I think this is great and hope the community provides feedback as they are the ones most affected by WTP doing this.

PDE Brings Christmas Early

In the spirit of making it a plug-in developers’ Christmas, the PDE team is bringing you some new functionality. There’s one thing I’ve always loved about Eclipse, and that is the Open Type dialog (Ctrl+Shift+T). I’ve always wanted to have something similar in PDE and the good news is now we will. I spent the last few days in the PDE Workshop and this is what I came up with:

Look for it in Eclipse 3.4M4 once I can come up with a good keybinding 🙂