Charles and I were at EclipseCon last week. It was an incredible opportunity to learn things and meet a lot of people. Here is the summary of our conference.
On Wednesday afternoon, Charles presented a short talk in which he explained the SWT « no more handles » error and how to get rid of it. This was an error we encountered right away while developing Bonita Open Solution, and EclipseCon was an opportunity to share the knowledge we acquired as we resolved it. The presentation was dynamic, pragmatic and concrete (Charles' style). He got some positive feedback from people who were currently struggling with handle leaks, and who learned a few tips from us. Charles' slides are available here.
In the evening, while everyone was scarfing burgers at the reception-poster session, we presented our poster which shows how Bonita Open Solution leverages Eclipse. Since it was during dinnertime, the buffet was very busy and there were not a whole lot of people paying attention to the posters, but there were several curious people who came to discuss parts of the solution. We were able to describe the product to people according to their interest, and we had some good discussions about the power of Eclipse behind the RCP part of the solution. Some visitors also gave us some interesting ideas that may turn into upcoming features.
Since Bonita Studio is mainly about modeling processes and forms, one of the topics we followed closely was modeling, and more specifically diagram modeling. We were very pleased that our process editor was cited by Obeo's Etienne Juliot as « one of the most beautiful GMF-based editors » during his talk, in which he showcased several use cases of GMF.
Another very interesting thing to keep in mind about diagram modeling is the Graphiti project. We spent some time in the Graphiti introduction talk and had an interesting discussion with Michael Wenz. It seems that Graphiti is a real alternative to semantic-unaware GEF and generation-based GMF, since it offers a natural mapping between graphical elements and semantic models and makes customization of diagrams easier. It seems to be very useful for editors that rely on an EMF model and that are very tricky to implement with GMF generation. I personally think that it could be adapted to our form editor, if it should have to be re-written one day...
Build and continuous integration
Let's start with the p2 tutorial of the Monday morning. Here we picked up a lot of tips about how to leverage p2 in product builds. Currently our studio does not use p2 because we were not able to merge platform-specific product distributions into a single zip, but this will be changed soon thanks to Pascal Rapicault and Kim Moir's advice during the tutorial. I hope to tell you more about a « bundlepool » p2 director property soon, in this blog or in the Equinox newsgroup.
Another interesting thing in the Build World is the rise of Tycho, which allows you to build Eclipse plugins or OSGi bundles using Maven. This seems to be very easy to adopt and a good way of thinking: bundles as Maven artifacts, and p2 repositories as Maven bundle repositories. There are already a lot of enthusiastic people talking about this, and it is something I'd like to try soon.
Something else that really enouraged me is the growing interest for SWTBot in the Eclipse community (1 dedicated tutorial, 1 talk, and a recurring subject in build-related talks). As you may know, we already use it extensively here for integration tests, and knowing that the community of users is growing ensures that the project will keep on improving! At EclipseCon, we spent some time with Charles and Obeo's Goulwen le Fur talking with Ketan Padegaonkar (SWTBot project lead) about the status of an experimental Test Recorder that you can find on the SWTBot codebase. Such a feature would be very powerful since it would allow your user to generate a TestCase simply by reproducing a scenario as you would normally with your product. This would for sure reduce test writing costs, make tests closer to real use cases and facilitate bug reports. However, according to Ketan, there is still some development work before it becomes really usable. So, if you have the resources and the motivation, please contribute by giving it a try, asking questions on the forum and opening bugs for it!
Emerging technologies: e4, RAP & Egit
We arrived at EclipseCon with some specific questions about emerging technologies, and we got our answers!
The first one is about e4: should we migrate Bonita Open Solution to e4? Why? When? Here the talk of Boris Bokowski and Paul Webster « Migrating to e4 » gave us a concrete answer. That answer is yes, we should migrate to e4, but not before other projects we use (such as GMF) have migrated to e4, and this represents a real investment of resources for us. Our conclusion is that we have still at least one year to wait...
I also attended the very good tutorial « Single Sourcing RCP and RAP applications » and spent some time speaking with some EclipseSource guys working on RAP (Benjamin Muskalla and Elias Volanakis), to find possible obstacles to port Bonita Studio to the web using RAP. We concluded that there are 2 main things that are not implemented yet in RAP that are critical for us: user-session workspace (currently there is a single workspace for the whole RAP application, whereas it would make sense to have one workspace per user), and diagramming capabilities. If you are interested in user-workspace in RAP, you can follow and comment to this thread.
And also we wanted to learn more about Git and how it interacts with Eclipse, since a lot of people have been evangelizing about it for a few months. We are currently using SVN here, and it seems that Git is not adapted to our 8-people-located-in-the-same-room R&D team organization. Indeed, the system of review-and-merge seems to be very time-consuming and not so easy to understand. However, Git becomes very interesting when the product developers/contributors are distributed all over the world and when there are lot of contributors to a product.
Other conference things
Some other talks we attended and enjoyed a lot:
- Andrew Eisenberg, Getting Groovy with Eclipse: this talk left no doubt that Groovy-Eclipse deserves its Community Award.
- Boris Bokowski, Embedding web UI components in Eclipse: learn how powerful the Eclipse web browser is!
- Phil Quitslund, UI Testing Patterns and Best Practices: A set of concrete tips to improve your tests, and a very good speaker.
- The incredibly amazing keynote of Jeff Norris! (See some descriptions)
Charles and I also took part in the EclipseCon exercise (actually only the two first days; after what we got a bit lazy). It was a very good way to start the day! Thanks to Kim for organizing it.
Something else we paticipated in was the Trivia game, and we are happy to say that we were quite successful! I won on Monday, and Charles won on Thursday. We worked hard to win these phones, but it was fun and a great opportunity to talk with some new people.
Other things in California
Just some pictures to share...
And in conclusion...
EclipseCon was great! Congrats and thanks to everyone involved in its organization!