GeoFroggerFX 2.0 Development Preview

Posted on March 19, 2015

GeoFroggerFX with some improvements in performance and design.

I rewrote the GeoFroggerFX application for several reasons.

1. Data Storage Performance

I was very unhappy with the performance of the H2 JPA version and tried some other data storages.
The first alternative attempt was in using the OrientDB as an object database. The performance got better but not good enough. Still had to wait more than a minute for inserting and/or updating 10.000 caches (also including waypoints).

As an object database seemed to be a good solution, I tried db4o. It performed a lot better than OrientDB and I thought this is the solution for GeoFroggerFX, but I could’nt contact the rights owner to do the described steps to use it in an open source application. db4o might be dead ! :-(

So I took a deeper thought how I can improve the performance and I realized that I don’t need the full objects all the time. For the list of caches I asked for a List which means that all Caches are fully loaded into memory. Ok I used lazy evaluation for the related objects, but it was a lot of unused data.

With that in mind I thought writing direct jdbc calls might be the best solution. That is the reason why I added Spring to the application to use the jdbcTemplate. The performance improvement was amazing. Instead of waiting 30 to 60 seconds for storing 10.000 caches, it is now done in 4-6 seconds and reading the 10.000 lines for the list is done immediately.

2. Design

I was’nt happy with the details design in the 1.0 version. Using disabled input controls for read only data doesn’t look very intuitive. With that in mind I redesigned the details view and it looks more modern and clear now. There is still room for improvements, but I am sure I am on the right way.

The application is open source and version 1.0 can be found at http://www.geofroggerfx.de