As you may read in previous blogs we have adressed the RAP styling. Therefore we presented you the “big blocks” in form of the new RAP designs. But there is still a difference between RAP and other cool RIA technologies i.e. like ExtJS, Flex or qooxdoo. When you take a look at the demos of these frameworks they all come along with cool styled widgets out of the box. Take a look at the screenshots below to see what I mean.

ExtJS Combobox

Flex buttons

qooxdoo buttons
Now lets take a look at the RAP widgets and how they are styled out of the box:

RAP default widgets
As you may see, there is a little difference between the Flex, ExtJS, qooxdoo and the RAP widgets. RAP looks almost like Windows 95. This cannot be the way RAP presents itself to the world because RAP is a modern and cool technology for building full featured RIAs. For that reason we spent some effort to show you how RAP can look like:

Modern RAP theming
From my point of view these widgets have a really fresh look and are fully competitive against all the Flex, ExtJS and qooxdoo widgets. This styling is done via theming and by using the new theming features like gradients and rounded corners heavily. We plan to set this theme as the default theme for RAP 1.3 which will be released within the Helios release train.
But there is no reason to wait. You can use the theme right now. All you have to do is:
- Check out the latest and hottest RAP Milestone.
- Edit your branding to use the new themes. Set the theme id to
org.eclipse.rap.design.example.business.theme for the business theme or to org.eclipse.rap.design.example.fancy.theme for the fancy theme.
- Start your application and enjoy the fresh and modern look of you widgets.
Please note that not all widgets are themed right now, but more than 80% of the widgets have the new look allready. If you have feedback for the theme please let us know by using the newsgroup or by leaving a comment.
Tags: css, eclipse, helios, rap
A couple days ago, I had the pleasure of attending and speaking at EclipseRT Day in sunny Austin, Texas. The day started off with Jeff McAffer speaking about building component based applications using OSGi and EclipseRT.

From my point of view, the audience took a liking to the Toast example that Jeff used to describe EclipseRT. There’s something to be said about a consistent example that people can grab the source and build upon themselves.

The next talk I attended was by Austin Riddle and Cole Markham from the Texas Center for Applied Technology.

I was blown away by what these folks were doing with EclipseRT technology. From bio-surveillance tracking, preventing and managing the spread of animal disease to monitoring coastal waters off the United States. On top of that, they created a platform for building simulation and information dashboards using the Eclipse Rich Ajax Platform (RAP). Their story of Eclipse technology usage was oh so familiar. At first, they started as humble Eclipse IDE users. Then they started to create some useful applications on top of Eclipse RCP. Then they started to use other technologies from the Eclipse stack. Then they noticed that they could build a platform for their domain using Eclipse technologies.
Afterward, I had the opportunity to talk about the Rich Ajax Platform (RAP) and the topic of single-sourcing. It seems people were very receptive about the idea to develop rich and web clients from a single code base. It’s an attractive proposition when you can reuse your existing set of skills and tools to build applications for different runtime environments. There were some concerns about scalability, but the RAP team is actively working on improving performance issues and making performance results available.
Brett Hackleman from Band XI presented about how they were leveraging EclipseRT and OSGi in the embedded device world over the course of a dozen projects in the defense, heavy equipment, industrial automation and automotive domains. It’s cool to see OSGi used in the embedded space along with the custom SWT widgets they came up with for their domain.

Mike Masterson from IBM spoke about how Lotus had to reinvest in their portfolio, including the 20-year young Notes platform. Lotus decided to use EclipseRT as the base of their Notes platform which unified their client strategy and allows them to foster a rich partner ecosystem through the extensibility that EclipseRT provides. Lotus users can easily extend their Notes experience via widgets that developers can write using EclipseRT technology.

On the whole, I thought the event was fantastic. The talks were great and having the opportunity to meet new people that are building on Eclipse technologies is always fun. I can only hope the Eclipse Foundation puts on more events like this in the future. The more opportunity we have for everyone to interact with each other in person within the Eclipse community is a great thing.
Tags: eclipseRT, OSGi
Lately I have been working on (and committing) a repository analyzer tool for p2. It is meant to help you validate your repository against known problems and common mistakes (missing version numbers, two IUs with the same ID/Version, etc…). After cleaning up the code I finally committed it. Within a few minutes of committing it, Andrew starting pinging me to let me know I introduced a compile error. (Thanks Andrew).
The offending lines where here:

and more precisely:

You see, while this may seem fine to all you Java 1.6 developers out there, p2 is set to run on CDC-1.1/Foundation-1.1 and JSE-1.4. I know in the Java SE space, 1.4 is long past end of life, but in the embedded space, it is still very common. (Remember, these embedded devices require much smaller VMs, otherwise we complain that our small devices are two slow /sluggish / expensive, etc…) — and p2 is a provisioning platform that operates just fine on embedded devices.
With Eclipse, you can set your Execution Environment (EE) and point to a variety of JDKs. This allows you to “single source” your code so the same code can run on a server with Java 1.6 installed and a small device with a Foundation VM. However, I don’t have a Foundation VM
.
Lucky for us, an EE description for several JDKs is available in the Eclipse CVS repository:

Once you checkout the project, you can add this to your list of known JREs

Now I get all the Java tooling (content assist, compile errors, etc…) for the Foundation 1.1 VMs.

Tags: OSGi, pde, tips
I am very pleased to see that the first code arrived in the RAP incubator project. The contribution consists of the very early steps towards a spread sheet component.

It is still in the proof of concept phase. The goal so far was to find out whether a spread sheet that is composed of existing widgets could work with regard to performance and usability. This seems to work out rather well. As a consequence of composing the spread sheet of existing widgets the same code runs on SWT as well.
In case you whish to play around with it or even contribute, the source code can be obtained from CVS and resides in the incubator/spreadsheet module.
Tags: rap, Single Sourcing, swt
We are 1/2 way through the month of Movember and I thought I would use this opportunity to update the status of my Mo. I have started with the “trucker” look, although this may change as the month progresses.

The Eclipse Momitters are doing well too. We have 12 team members and have raised over $1,500 for men’s health issues (like prostate cancer) — If you have a few minutes and can spare a few dollars, please consider donating to the cause. To help raise awareness, Kim suggested we create a Movember splash screen for this weeks Eclipse integration build.
If you think you can do better, please bring your art work to bug 295192.
Tags: movember
After another 6 weeks of working hard towards the Helios Release, we’re a step closer. RAP M3 for Eclipse 3.6 is out and can be obtained from the RAP project page. Besides another 130 bugfixes and many New and Noteworthy features, here are my personal favorites of this milestone:
Non-shared SWT resources
Finally, we decided to provide constructors and a dispose mechanism for SWT resources like fonts, images, colors and cursors. While we still recommend to use the factory-based approach, this features helps a lot when single-sourcing applications that use the resource constructors in a verbose manner.

Yay, it compiles!
Browser History support
You now have the possibility to interact with the client-side browser history. This allows you to set “bookmarks” (eg. when switching tabs or processing a particular workflow) and the user can jump back and forward. Thanks again to Ralf Zahn from ARS who contributed this feature.

Dispose events on session timeout
We also introduced new Listener support on the Display so you’re now able to listen for Dispose events of the Display which is triggered when the session terminates. This way you don’t need to rely on servlet-specific API but rather use the same mechanism as in SWT to clean up your session. In addition you can queue runnables via Display#disposeExec that are executed once the session dies.
I hope you all enjoy the new milestone and give as feedback as fast as possible, API and feature freeze is approaching
Tags: eclipseRT, helios, milestone, new & noteworthy, rap
Its mid-Movember and things are getting hairy in Eclipse-land. A dedicated team of committers, the Eclipse Mommitters, have banded together to grow moustaches to raise awareness of men’s health issues. Since I’m basically lazy and work at home, it happens that I’ve not shaved for a couple weeks. So, though late to Movember, I am fully prepared to produce a moustache.
Chris ran a poll to determine the kind of ‘stache he should grow. Great community involvement in setting direction. Keying off that I’m going to try and illustrate the causal connection between contribution and results. This can be applied to any community effort whether its men’s health or Eclipse itself.
The plan is to grow as much facial hair as possible and allow the highest donor to choose what kind of moustache I should sport for the last week of Movember. As an added bonus, it turns out that that week I will be teaching a course at a customer and presenting at the Ottawa Eclipse DemoCamp so there is some risk here for me…
The person with the highest cumulative donations on Movember 22nd at 23:59ET (or thereabouts) will be identified in a comment on this blog entry. If it looks particularly dangerous for me, I reserve the right to override the donor with a 2x donation. I will wear the designated moustache for the following week.
So get out the credit cards and put in your donation now. You can check out Mo progress first hand next week at one of the EclipseRT days in Austin or Toronto.

Tags: eclipse, syndicate
As you know, Eclipse can use “Team Project Set” files (.psf) to magically import code from various repositories. Thanks to Karl (294842), we committers can now set a project set url in our project’s metadata. This will link to a .psf-file from our project’s About page.
Here’s how this looks for Eclipse RAP:

After saving this file, you can use the “Team Project Set” wizard to download the latest RAP sources with a few clicks:




Now go and bug your favorite projects to provide a project set
.
Kind regards,
Elias.
(follow me on twitter)
Tags: eclipse, rap, tips
Jeff McAffer and I will be in beautiful Vienna the first week of December.

Thanks to the accommodating DemoCamp organizers, we will be presenting EclipseRT and Toast at the Vienna Eclipse DemoCamp. There are already over 50 people registered!
As always, if you’re in the area and want to grab a frosty beverage, please let me know. I would love to hear what the Eclipse community is doing in the Vienna area! I’m always looking for food and frosty beverage recommendations. I hear there are good cakes in Vienna and that Stiegel is pretty good!

As a gentle reminder, today is the last day to register for the upcoming EclipseRT Day in Austin.

There are currently about 70 people registered, representing over 20 companies in the Austin area.
I hope to see everyone next week!
Tags: eclipseRT