How to brand Eclipse RCP?

In response to my last post on Eclipse RCP TrendsChris Aniszczyk commented:

Deep down inside… I think it’s a marketing issue… we have done a poor job marketing RCP in my opinion. We have brand confusion that when people hear Eclipse still they think IDE, not a rich client platform. It’s my hope that with the new Runtime project, we have a chance to rebrand Eclipse into more of a platform under the Equinox umbrella.

I couldn’t agree more, and I’ve spent some time this summer trying to wrap my head around this issue. I should say up front that I have zero marketing experience. But on the other hand, I have spent a lot of time with RCP newcomers and have some experience viewing this technology through their eyes.

So what did I come up with? Well this might sound pretty obvious to some, but my conclusion is that RCP = modularity. Period. If you want to assemble (dynamically or otherwise) an application from a set of components/plug-ins/bundles/whatever, then RCP is the tool for you. Sure it’s a UI toolkit, sure it offers a workbench, preference pages, etc. But the core idea that animates RCP is modularity.

The good news is that Java modularity in general and OSGi/Equinox in particular are playing an increasingly important role in software development. We need to ride this trend and make clear that RCP is the visual expression of Java modularity. When you want to apply the principles of Java modularity in the UI space, RCP is the tool for you.

From a marketing point of view, this brings me to the same conclusion that Chris reached above. Basically, RCP needs to be rebranded as part of a suite of technologies related to Java modularity. In other words, RCP needs to become the Equinox UI.

Advertisements

16 Responses to How to brand Eclipse RCP?

  1. I need to learn how to post anonymously sometimes 😉

  2. Ed Merks says:

    Paul,

    Did you notice that RCP package disappeared from the main download page for Ganymede? Like modeling, RCP is not so easy to find:

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=239601

    But that’s a conscious decision designed to better serve the Eclipse community.

  3. Ed Merks says:

    Patrick,

    Sorry, your last name confused me. 😛

  4. Josh Prismon says:

    I have a team implementing a application on top of RCP right now, and I have to say we almost went with Netbeans rather then eclipse.

    The biggest problems with RCP are not it’s name:
    1) No Visual Editor for applications means that every application we right looks like Eclipse.
    2) The steep steep learning curve. The technology behind RCP is solid. Why is programming it so hard? Simple wizards to make actually functional EMF/Resource applications would be welcome.
    3) Speaking of which. EMF is so powerful. Why isn’t there a forms/wizard based proccess to guide users through:
    * Create a EMF model.
    * Create a RCP application that edits the EMF object.
    * Use TENEO extensions to make it write to and from database.
    * Make it easy to port this application into RAP.

    The EMF + RCP stuff is so powerful that you could easily write a java application that does CRUD. If we had the right tooling, it could be as easy as Ruby on Rails, but with a full desktop application instead of a stripped down web application.

    The points that Eclipse has going for it:
    1) EMF is wicked powerful. But where is the documentation to write a useful applciation? Why doesn’t the mail app use a EMF model for example?
    2) OSGI.
    3) Existing OSGI functionality that can be added into other applications. Update site, etc. This needs to be easier.

  5. ekke says:

    Josh,

    SWT Designer from Instantiations is a great Visual Editor.
    …and if you look at some RCP presentations from EclipseCon you’ll see that RCP applications can look different then Eclipse as IDE

    for documentation: I hope the new Eclipse RCP book will help new users to create RCP applications

    Perhaps you should also look at Eclipse Riena – there’s much suppprt for Enterprise RCP applications (business-process-driven UI, remote services, …) …its M3 now, but growing fast


    Ed,

    I really cannot understand why Modeling, RCP and Reporting is hidden from the first download page – for me these downloads are first members

    ekke

  6. Josh says:

    Forcing users to get a pay tool to do what a different open source tool does is not a strategty that will win long term. We want people writing snazy code, and we want it in eclipse right? SWT designer is nice, my team purchased it. But it doesn’t beat Matisse, and it’s a glaring failure of Eclpse as a whole.

    Asking users to buy a book (even the Eclipse RCP book) doesn’t seem like a good strategy either. It’s not that the documentation isn’t out there, it’s that it seems to have been written bya bunch of fuedal lords, none of whom care to share their technology with each other and make a aactual real integrated tool and documentation set out of it.

    I have looked at Eclipse Riena, and I like lots of it, but once again, how does this technology mix and match with everything else? Not well it seems.

  7. I agree. I do RCP-Trainings and the 3rd-Slide I bring up is “Eclipse is …” which describes the different Eclipses like Eclipse RCP, Eclipse SDK, Eclipse Platform. I do like the sentence “RCP is the visual expression of Java modularity” and will use it.
    However in most cases I have encountered the selling point wasn’t modularity per se. The users liked the look and feel of Eclipse in Windows and want to use it for their own apps. Even developers who have some experience in RCP tend to not know how to leverage the modularity concepts.
    So marketing wise I would definitely go with modularity but also don’t forget the visuals.

  8. Jeff McAffer says:

    The real modularity story here is Equinox and OSGi. We (some of the teams and the Foundation) are pushing the notion that Equinox (that is modularity) is the power that makes Eclipse useful across so many computing domain. RCP as a label for that misses out server side, headless, and other infrastructure/middleware angles. As we see with the WAS, BEA/Oracle, Spring directions, this is a hidden gem that we want to be not so hidden.

    Note that the “Equinox” here does not necessarily mean just the project. It is more a label for the set of technology at Eclipse that is highly modular and broadly applicable to runtime scenarios. UIs, web, OSGi, provisioning, communications, modeling, …

    RCP as *a* UI for Equinox is certainly a reasonable way to look at it. As *the* UI it doesn’t work. There are others like RAP, eRCP and assorted technologies like GEF, Zest and the various 3D work. e4 of course is also coming to play.

    Summary: I like the direction you pointed. What we are seeing is the third evolution of Eclipse – from IDE platform to Rich Client Platform to Application Platform. Figuring out how to talk about it is part of that evolution.

  9. Patrick says:

    Matthias,

    I’ve found that users who do not understand (or need) modularity are often frustrated by RCP. These users often wind up asking themselves, “Why am I not using Flex, etc.?” Users want to know why they have to use plug-ins and extension points or why is the build process so complicated? If you haven’t bought into modularity, then there really is no good answer to these questions.

    I think in the past we’ve been dancing around this issue because Java modularity itself was not well understood by the developer community. As modularity becomes more mainstream, we have a great opportunity to leverage RCP in this space. In a sense, I see RCP as a technology that is waiting for it’s time. It’s our job to make sure that RCP is ready when that time comes.

    — Patrick

  10. Patrick says:

    Hi Jeff,

    Thanks for the comment. I definitely agree that RCP is not *the” UI for Equinox. I guess at the moment it’s the client-side UI for Equinox. But as you allude to in your comment about e4, the distinctions between client, web, mobile, etc. are going to be breaking down in the next few years and we may get to a point where we have an Equinox UI toolkit that is simply rendered on different platforms.

    To be honest, I wouldn’t mind seeing RCP as distinct entity disappear in place of a brand that encompasses all the modular UI technologies (RCP, RAP, eRCP). I’d have to rename my website, but oh well…

    — Patrick

  11. Josh,

    >>SWT Designer is nice…but it doesn’t beat Matisse

    SWT/Swing Designer beats Matisse under almost any conceivable criteria (other than cost). Designer is easily the most advanced and most powerful Java GUI development tool available from any source. CodeGear recently reviewed all available commercial and open source GUI builders (including Matisse) and selected Designer as their new GUI builder for JBuilder 2008 (even though they had to pay extra to OEM it).

    Designer is also well regarded as having the most flexible and clean code generation of any GUI builder in the industry (it even won the Eclipse Magazine’s Reader’s Choice Award for best Eclipse Add-on partially based on that fact). It can emulate the code generation of any other GUI builder (including JBuilder, Matisse, JFormDesigner, Jigloo, VA Java or the Eclipse Visual Editor) or just about any other style you might like. The product also has a very powerful reverse engineering parser which means it does a very good job of reverse engineering code generated by other GUI builders or by hand…something that tools like Matisse can’t do (even with their own generated Java code). Try to hand-edit or refactor the code generated by Matisse and see how far you get.

    While Matisse has some nice features (easily matched by Designer), it is very primitive under the covers as it requires a parallel and redundant .form file. Not only is this a redundant duplication of information already in the .java file, it is also dangerous as the .form file is easily lost and can get out of sync with the associated .java file. Designer has rescued dozens of major Java projects that were unable to edit their GUIs after losing these .form files. That approach is also an extreme example of vendor lock-in that ties you into using just a single tool. Designer, in contrast, can read and write code generated by any other GUI tool.

    -Eric

  12. Patrick
    this is how different the audiences are. Our clients wouldn’t even consider Flex. Still they want something modern looking. After 2 days of workshop they start thinking “I could encapsulate this peace in it’s own bundle”. But as I said most of them didn’t come to the RCP-workshop because they knew everything about the modularization features.
    If I were to advertise RCP I would still emphasize on modules but would try to sell by providing nice UI Examples.
    -matthias

  13. @Patrik: thanks for touching this “pain point”. In my own experience when talking with non Plug-in Developers, Eclipse is always perceived as an IDE and almost never as a Application Development Platform. I’m supportive of anything that would help change that.

    @Josh: I have looked at Eclipse Riena, and I like lots of it, but once again, how does this technology mix and match with everything else? Not well it seems.

    Josh, we are currently investigating how to allow Riena to “mix and match” better with existing RCP code-bases. One goal is to enable developers to use parts of Riena instead of forcing them to adopt “all or nothing”. Another goal is to refactor Riena so one can easily use GUI tools like SWT Designer with our code base.

    Regards,
    Elias.

  14. […] extension points, the main reason being that doing so allows you leverage the power of RCP as a modular user interface framework. To illustrate this, let’s look at our options for laying out […]

  15. Assad says:

    I need to create a welcome page of a product using eclipse 3.4. So that is will appear when my product first lunch as it happened in welcome page in eclipse when it is first lunch. Please specify step by step as early as possible

  16. Patrick says:

    Hi Assad,

    The welcome page is created using the Welcome Framework (sometimes called the Intro Framework). There is not one of the friendlier APIs and I can’t really give you step by step instructions in these comments.

    The best you can do is do a Google search on “eclipse welcome framework” and try to piece things together. Also, here is a link that might help:

    http://www.eclipse.org/eclipse/platform-ua/proposals/shared-intro/shared-intro.htm

    I hope this helps,

    — Patrick

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: