Tabris 0.10.0 – New & Noteworthy

Tabris 0.10.0 – New & Noteworthy

Happy New Year from the Tabris Team! We are having an exiting start into the new year with another release of Tabris, Tabris 0.10.0.
The focus of the latest release is user experience. We added support for typical mobile interactions like swiping, back button navigation in trees, and improved visual touch feedback.

Page Navigation with Gestures (Swiping)

One of the most commonly used gesture on mobile devices is swiping. Swiping between different screens (Pages) is the default navigation on the home screens of all major mobile operating systems. Tabris introduces swiping with a simple to implement page-wise navigation feature. You simply have to add Controls to an ItemProvider to enable the navigation. You can dynamically add and remove items, lock the navigation on items and cache items on the client so that no server interaction is needed. The /swipe demo in the Tabris Demo app illustrates this new feature. If you want to take a look at the code just examine the source at GitHub as usual.


Creating custom touch elements

Many mobile applications have advanced styling requirements. You can get very far with the standard SWT API, but when composing touchable widgets you run into a subtle problem. How do you show immediate touch feedback without having to contact the server? The current release introduces a new concept to assist you here. ShowTouch enables local visual user feedback without a server round-trip. Usually you also want to handle the user event on your composed widget, and Grouped Events add the possibility to react on any interaction happening on a set of widgets that belong together.


Immediate visual feedback improves the user experience. When added to a composite as in the following example, the whole area of the composite, including its child widgets, will be highlighted immediately. ShowTouch works on any single widget, too.

<pre lang="java">Widgets.onWidget( composite ).showLocalTouch();

Tabris ShowLocalTouch

Grouped Events

If you group some controls together in a composite, you can now listen to events on any of them in one central place. This feature is a useful complement to ShowTouch. The following example shows how to add such a listener to a composite.

<pre lang="java">Widgets.onComposite( composite ).addGroupedListener( SWT.MouseDown, new Listener() {
    public void handleEvent( Event event ) {
} );

Navigating hierarchical lists on Android

Tabris offers a simple mechanism to display a hierarchical list – by rendering a Tree widget branch-wise. The first implementation offered an “up” button at top of the tree for back navigation. Now we replaced the button with the native back-button. Pressing the back button on the device now navigates you “up” through the tree hierarchy.

Bonus: App Events

When a Tabris application is sent to the background by the user, or activated again, the new AppEvent gets raised. Listening to AppEvents enable a couple of use cases like locking the app or saving resources (turn off GPS). You can meet HAL if you take a look at the example /appevents in the Tabris Demos app.

Tabris AppEvents

Bugfixes and Minor Changes

Next to the usual bug fixes the Tabris client now can also be found in Google Play for tablets again.

Feedback Always Welcome

We keep an eye on your comments and suggestions at our GitHub Issues. Your suggestions and comments are welcome and always have a chance to influence our schedule.

  • Tobias Schießl
    Posted at 11:01 am, January 18, 2013

    Although the new navigation method for trees might be a good idea, it seems not to work on every device. I tried it out on my Nexus 4 and when I click the back button of my phone in a branch of the tree, Tabris quits. Is there a possibility to allow the developer to choose which navigation method he prefers? Furthermore, I think that now something is missing at the top, it looked better with the old bar there.

    Never the less, I really like the Swipe- feature.

  • Moritz Post
    Posted at 2:42 pm, January 18, 2013

    @Tobias Schießl

    Thanks for your feedback. Glad you like the swipe functionality.

    We have experimented with the tree demo app on a Nexus 4 as well and did not experience any problems. Could you provide us with some more details of the problem? Is there a concrete error message or could you even provide a stacktrace from logcat?

  • Tobias Schießl
    Posted at 9:55 am, January 19, 2013

    No there is neither an error message nor a stacktrace. It is not like the app would crash completely, it simply leaves the current screen and returns to the start screen where you can select the server you want to connect to, instead of navigating back in the tree. So, currently I have no opportunity to come back to my trees root once I opened a branch. The only thing I could mention is that I am working with a Tree and not a TreeViewer, because that one did not work on an iPhone device.

  • Moritz Post
    Posted at 3:27 pm, January 21, 2013

    Thanks for getting back to us. Are you certain that you are using the latest tabris client 0.10?

    You can get it from here:

  • Tobias Schießl
    Posted at 1:55 pm, January 22, 2013

    Yes, I am lunching the client with the android version contained in your latest version. I already tried to reinstall it, but that had no effect. Furthermore, if I have a look at the app’s version it tells me it is version 0.10, so I am quite sure that this is not the reason for the problem.

  • Tobias Schießl
    Posted at 2:03 pm, January 22, 2013

    I am sorry, I found the reason it did not work. I had a look on your simple tree demo again and realized that I was missing the “Widget.onTree( tree ).enableBackButtonNavigation()”. Now the navigation works again, but there is still the question if it could be possible to let the developer choose it’s preferred way of navigation?