This is the fourth in a series of articles previewing the Eclipse Foundation's annual downloadable project release, code named Ganymede, which is scheduled for this Wednesday, June 25. Find the rest of the series here.
The end user experience is the focus of new presentation and role-based functionality in this week's release of the Eclipse Rich Ajax Platform (RAP).
To keep the look-and-feel of the application consistent, RAP allows developers to define the presentation elements, such as tab shapes or toolbar colors, which are then automatically applied to all additional modules, explained Jochen Krause, project lead. This is particularly helpful when integrating code developed outside your Ajax project.
"The idea of Eclipse has always been to be an integration platform," said Krause, who is CEO of Innoopract GmbH, which specializes in Eclipse-based technology. "Very often you don't provide everything out of the box that the end user is using, so you have the possibility to add more things."
But as new things are added, they need to conform to the original application design.
For example, Krause said the Ajax application developer might specify that all tabs are rounded on both sides. They are 48 pixels high. The menu bar is blue. The tool bar has buttons that are 48 pixels high.
Once that presentation is set for the user interface in RAP, all code added in will automatically conform to the definitions. So regardless of how tabs were defined originally for the module, they will be rounded on both sides and be 48 pixels high when the code is integrated into the Ajax application created in RAP.
"So imagine I'm writing an application in RAP and someone else is contributing a piece to it," Krause explained. "For example, I'm writing an application for a call center. Then I'm adding an instant messaging module that I didn't write, but the instant messaging module also has some tabs because it has the address book and the IM view. It has one tab for every chat I have open. If I define tabs in presentation, this IM module will seamlessly embed into the look and feel of my application. So if I define the tabs to be green and have rounded corners then even if this new module has not be adapted to my specification and you just throw it in, it will look the same way as the rest of the application."
Another new function in RAP allows developers to create role-based views of the UI. They can design the user interface to be customizable by activity, so that the end user only sees the information they need for their role," Krause said.
In the call center example, the customer service representatives would only see the information they need, he explained. However, call center supervisors would see different data relating to their overall management role and also have different functionality.
This prevents the UI for the Ajax application from being cluttered with data and functions that have nothing to do with the worker's individual job. A UI that is too many things to too many people has been a problem in the early years of Ajax development. Role-based functionality helps re-focus the application for the individual end user, Krause said.
"This is important because very often there is so much functionality that the things you need are not all that obvious, because there is so much stuff." Krause said. "There are so many different use cases for different users and it's all packaged into a single application, and usability is designed for everybody. The application is very powerful but the usability is poor."
The role-based, or activity-based, approach is a way to only show data and functions that are only associated with the user's role. If, for instance, the user only needs seven activities out of a total of 48 in the overall Ajax application, the UI can be customized to only show those seven. This prevents the user from being overwhelmed by things they don't even need to be looking at or dealing with. It ideally keeps the UI simple.
"So the UI will just show what is important for you," Krause said.
Integration with SOA tools
Looking forward beyond Ganymede, a future project will be to provide out-of-the-box integration between RAP and the SOA Tools Project (STP). Integration can be done now by developers who are used to working with Eclipse, the RAP project lead said.
"Can you do that now and integrate it, yes absolutely," Krause said. "It's all OSGi-based so it's simple to integrate."
However, he said that while the RAP and STP teams are in close communication they have yet to develop an out-of-the-box tool for automatically adding Ajax interface functionality to services created with STP. But Krause said that will come as the project progresses.
This series on Ganymede concludes Wednesday with a preview of the Web Tools Project.