Mittwoch, 29. Juli 2015

Post processing of panoarama photos - FX based tool "Horizon Straightener"

...well, this is some private project - but you may use the results, if you like what I am doing here. (Terms of use: just use it!)

You may stitch certain photos to form a panorama using software like e.g. Microsoft ICE (Image Composite Editor). There are other tools available, search the Internet for "stitch panorama"... The result of stitching quite often is a panorama, in which the horizon is not perfectly straight. The effort you then have to spend to straighten the horizon is always quite some hell.

This was the reason, why I wrote a JavaFX based tool to simplify this process.

Before - after straightening Screenshot

In the tool you can draw a new horizon line in a simple way - the whole image will be re-arranged using this new horizon line.

Please feel free to use the tool, if you want to use it. Installation is available here:

Some documentation is available here:

The tool comes as .exe-setup program for Windows. The default installation location is your user's local directory. Please do NOT install it in Windows/Program Files! The installation contains "everything" that is required to run the tool (including the Java runtime).

Forgive me for not providing a MaxOS installer yet - it's just my lazyness...

Montag, 15. Dezember 2014

Mittwoch, 19. November 2014

10th CaptainCasa Community Meeting - Dec 11, 2014 in Heidelberg

The 10th community meeting is scheduled for Dec 11 (Thursday). The meeting is held close to Heidelberg, details are available via

The meeting's agenda includes:
  • JavaFX status quo
  • CaptainCasa Enterprise Client on JavaFX - customer scenarios
  • CaptainCasa Enterprise Client - news
  • Developing for mobile devices - SAPUI5/OpenUI5 as option?
As usual there is one presentation which has nothing to do at all with rich client technology issues: "Industry 4.0 - ...below the buzzwords".

Interested in CaptainCasa / JavaFX / Rich Client Frameworks? - Feel free to register by mail to

CaptainCasa Enterpise Client is a community based rich client framework for Business Applications (

Mittwoch, 22. Oktober 2014

10th Community Meeting on Dec 11 2014

The date for this year's community meeting is selected: Thursday Dec 11 2014.

And the location is selected as well: this year we will use a very nice conference room in Mannheim. The evening event the day before will of course be as usual in Heidelberg!

More details will be published in the next days.


Donnerstag, 14. August 2014

Some new features as Beta Addons in Update 20140813

There are a couple of new features that were added to Update 20140813. All of them do not touch the core functions, so we could add them without disturbing the rest of the system. Please take a look into the "Beta Parts" documentation which is available in the documentation section of - or directly access the document here.

The features include:
  • A "mini embedded server", that allows your application to be started as fat client. (and which is not based on embedded Tomcat anymore)
  • Direct update of components, in parallel to normal request/response communication.
  • Self containing components.
Take a look...!

Regards, Björn

Mittwoch, 23. Juli 2014

CaptainCasa Client - Test of Android Port

We spent some time in order to try to run our JavaFX based client on Android - and now can at least tell, that today it's the first time that our client is starting and rudimentary working:

This is a screenshot of my Android device (a two years old Nexus 7 tablet):

And this is the layout rendered in my PC:

So, a lot of things are all right! - ...and a lot of things are not perfectly all right yet, as you can imagine.

The client on Android is the same JavaFX code that runs the client in the normal desktop environment. So we are taking great advantage of the work done by the persons behind this page:

I will describe the major steps to get it to work on Android in some extra document.

Regards, Björn

Mittwoch, 26. Februar 2014

App Start - Bringing JavaFX Applications to the End User

How to bring JavaFX applications to the end user's client?

Two possibilities:

  1. Install Java (quite up to date version...) on the client. Then use web start or applet.
  2. Package your JavaFX application so that the JRE is included (e.g. using bundling) and run it as autarc application on client side.
Let's take a deeper look into both approaches:
  1. WebStart/Applet: hmmm... maybe we ourselves are too close to industry/business scenarios, but the installation of a client side Java VM often is some hot discussion. If the discussion is valid or not - who cares at the end, if you are the poor guy to try to make your JavaFX application run at the client side.

    And even if the customer agrees to install some up to date Java VM, he/she typically is not the one who is willing to constantly upgrade the VM on all the clients later on... So it's you having to live with the fact that your WebStart/Applet-stared JavaFX application will have to run on many different Java versions...
  2. Autarc client application: yes, this often is a nice alternative, because now people are not talking about this client wide Java installation - they more or less treat your application as a native one. Who cares, if there is some bundled JRE which no one outside the application knows about. - And now you are the master of which Java version you use, there is no company policy or whatever you have to fight with.

    But...: now you are missing all the nice features that are part of WebStart/Applet: the re-loading of your client application if it changes on server side - the automated roll out of your client software, both for the initial and for the continuous installation.
So, this was the situation we were/are in: for many scenarios we want to go the "autarc application" way, but at same point of time needed something to control the roll out of the client software.

Consequence: we wrote a simple and thin framework which we called "App Start". (We did not check if this name is somehow blocked, so this is an internal project name at the moment!).

It's a client side launcher of a JavaFX application that is kept on server side. The launcher is a small Java programm that is configured by some xml-file, so that it knows what to download from where and after downloading how to start the JavaFX application.
The launcher knows the version stamp of the JavaFX application and with each start checks if the version still is in sync with the server side.

So "App Start" is some mixture out of the "autarc application" mode and the "Web Start" mode. Main difference: "App Start" is only working in the context of one JavaFX client application

As I said: App Start is a quite thin framework. And currently it's only available for Windows scenarios (sorry... but this is the 9x% of our users...), but taking over to other OSs is "just effort". We are open to share everything here - sources, docu, demos etc. are available in the links below. If this is interesting for you: please contact us (, maybe this is something we can join forces.

Now the links:

Some slides (PDF)
Test / Demo (currently Windows only)

App Start page: => Community => App Start Framework - please find all resources (including source code) I said: the framework was born out of our concrete own requirements, but is strictly decoupled from our "normal" JavaFX development. So, it's normal water which we used for cooking, there is not too much magic inside.

One final comment: the picture above only is a simplified view on "App Start" - emphasizing the loading of the JavaFX application. On a long run a client side applications also will require a Java version update (only in the context of this autarc application!) and also an update of the starter program itself. So, in reality, everyhing is versioned and everyhing is synced if required...: