^

Teambuilding and cohesion, technologies and structures: A review of the 2023 retreat in the Netherlands

Group photo of the participants of the 2023 retreat in the Netherlands

Because we know how much we benefit from our diversity as a company, we took a break from our daily business again this year and embarked on a week-long retreat together with our sister company mundialis. After Greece (2021), Spain (2018), Portugal (2015), Croatia (2013) and Mallorca (also Spain, of course, 2011), this year we set off for the Netherlands, more precisely to Spanbroek in North Holland ??.

Spanbroek (northern point) and Bonn (southern point). Background map: OWS Premium service from terrestris © OpenStreetMap contributors, © Natural Earth Data, © GEBCO Bathymetric Compilation Group 2019, © terrestris

Seven days of concentration and focus on us as a company, on relevant innovations, on Free and Open Source Software, and on non-project-driven internal development. We have listed the directly tangible results from this in excerpts from the next paragraph. In addition to the time we were able to work together on content-related, technical, or organizational tasks, we have also grown as a team and in our collaboration with mundialis. Whether climbing, on bike trips, at a specially organized pub quiz, playing table tennis, billiards, skat or poker, cooking together, eating, drinking, laughing, making music or melting away to piano sounds, at highly and extremely competitive nail-in-wooden-logs-with-handicap hammering, playing board games, console gaming or on a day trip to the Venice of the North (a.k.a. Amsterdam): We had a really great time together! Although we achieved a lot that was directly useful for the company, it never felt like real work for us — also because of the fantastic weather and the top-notch accommodation. “Klinkt als een vakantie, maar dat is het helemaal niet”

What was actually achieved, started, or brought about on site at a technical, content-related, or organizational level? The following is an excerpt:

  • GeoServer Cloud in Kubernetes
    How mature is GeoServer Cloud and what opportunities and limitations does it bring? Is the microservice architecture ready for production and how well does it integrate into our architectures? Our first, second and third steps with the Cloud Native GeoServer variant have been extremely promising and we are already looking forward to further practical tests.
  • GeoStyler MapComparer
    A complex cartography style for OpenStreetMap vector tiles is parsed & rendered in various formats to identify differences and determine inconsistencies. In doing so, we were able to identify some inconsistencies in our OSGeo community project GeoStyler and overall reduce the surprises when using different style formats. This resource will also serve us well in order to better explain the concept behind GeoStyler.
    Similar but not quite: Two different parsers from GeoStyler
    Similar but not quite: Two different parsers from GeoStyler
  • OpenAI Map-Client in connection with ChatGPT
    KI-generated answers (using ChatGPT) to various geo-questions are visualized directly in a Svelte-based web app with an OpenLayers map. Promising and we will definitely continue to pursue this as part of our regular internal innovation days. And it’s clear that Svelte is fun.
  • Refactoring in many points of react-geo and react-util
    More than a dozen pull requests in react-geo and react-util on the way to simpler reusability of existing functionalities, including with other UI frameworks. We are already confronted with a wide variety of user interface frameworks in customer projects and decisive steps have been taken here in order to be able to meet these requirements even more sustainably. So if you prefer to use much of what you know and love from react-geo with Material UI, Materialize, Tailwind CSS, Fluent UI or Bootstrap, please feel free to contact us about this.
  • SHOGun Spring Boot 3 Update
    … and many other dependencies updated. The update of Spring Boot in our in-house software SHOGun was already started before the retreat, with analyses, initial tests and also with preparatory code adjustments. Now this very important step could be finalized and we can now let existing applications benefit from improved security, better performance and overall increased future security. Here are the 26 excellent final commits that implement this upgrade: https://github.com/terrestris/shogun/pull/664. In addition, we have of course already considered which concrete steps now need to be taken for applications in order to be able to use the best and latest SHOGun (sources at GitHub).
    The SHOGun logo
    The SHOGun logo
  • Filter parameters for SHOGun:
    New filter options for our REST endpoints based on JSONPath-Predicates result in many possibilities in the use: For each of the concrete entities (i.e. layers or users), all attributes can be used for filtering and these can also be combined with Boolean operators. An excellent addition to the REST interface in SHOGun and, together with the already existing GraphQL API, almost all query requests to SHOGun-based GIS should now be able to be answered adequately and flexibly. The pull request with the corresponding functionality is still under review, and one of the next releases available.
  • UI for executing configurable backend interfaces in SHOGun
    A new interface in the administration area of a SHOGun installation enables easier installation and maintenance of such web applications. However, before this new aspect is ready for production, some inconsistencies need to be eliminated and tests need to be written and passed.
  • Helm-Charts for GeoNetwork opensource 4
    In order to be able to use GeoNetwork opensource in version 4 within a Kubernetes architecture, the new Helm chart can now be used. The sources can be found here: https://github.com/terrestris/helm-charts/tree/main/charts/gnos. As always, we welcome feedback of any kind, also in the form of pull requests, comments or test results from your own projects.
  • JTS Conversion to TypeScript
    Anyone who works with vector geometries and uses Java is very likely to use the excellent JTS library (JTS Topology Suite). If you want to process similar tasks with JavaScript, you can use JSTS (i.e. the JavaScript Topology Suite). We have now been primarily using the type-safe TypeScript for some time, and there is too little support for this from JSTS. The translation from the original JTS Java code to a TypeScript variant of JSTS was already started before the retreat, using the new tool java2typescript (…of course also designed generically and not limited to JTS). At the current time, approx. 85% of the code from the immensely complex JTS library is correctly translated to TypeScript. There are still final steps to be taken here, but an enormous step has also been taken towards integration into JSTS.
  • EasyRedmine Updates, new role concept & Odoo update
    Our internal EasyRedmine for managing projects (and much more) has been updated and also reconfigured with regard to various settings. The cleaner structure of this central tool enables us to have more flexibility and fewer surprises when using it. We have also developed an update and maintenance concept for our software for invoicing and administration Odoo.
  • Preparation of ISO certification 9001 and 14001
    For 2023, terrestris plans to first have itself audited and finally certified with regard to the ISO standards 9001 and 14001. The retreat offered an opportunity to harmonize the efforts with all employees, to model internal processes even better and also to raise the awareness of all employees regarding the current company goals.
  • maven-semantic-release Plugin
    Our plugin https://github.com/terrestris/maven-semantic-release is now listed as a community plugin at Semantic Release. We are therefore helping other users with comparable requirements to implement fully automated version management and packaging. SemVer rules!
  • Low-barrier OpenLayers: ol-describe-map
    Our WebGIS applications should help as many users as possible to gain deeper and new insights as well as a better understanding of the specific project topic (e.g. water management or sustainable technologies) on a map basis. Accessibility is an important topic here. So how can JavaScript-based dynamic map applications be made more usable, for example for people with impaired vision? One answer may be to have a good textual description of the current map image and the information it contains. With the new library ol-describe-map for OpenLayers, it is possible to get such a textual description in a configurable way and also to embed it in the web application in such a way that assistive systems such as screen readers can provide the user with the description adequately. There are certainly still some specifics to be implemented here, but it is equally certain that the a11y (or the recommendations of the WAI) can hardly hurt … but almost always help.
  • Cartographic storytelling and scrollytelling
    Telling a story about a topic while scrolling on an often long website, i.e. storytelling / scrollytelling, is seen more often on the web. At the same time, we have had the tools for cartographic scrollytelling in our portfolio for a long time. In particular, our efforts to grant our customers better insights into their data by means of BI (using primarily Apache Superset) was a driver behind the desire to have an example in which all the individual components come together: longer textual descriptions of a specific topic, dynamic visualizations of underlying data (charts, tables, etc.) and web maps that support, accentuate, guide and inspire the reader to new thoughts. We will soon finalize our approach for such an example and then incorporate it into our work.
  • How do I get to the sea / the Bitterballenbude / the casino the fastest?
    A website with which I can search for anything I want and the shortest route to it is displayed. An implementation of the Dijkstra Nearest on the web, based on ImpOsm2pgRouting, pgRouting, PostgREST and OpenLayers, and which was a lot of fun in the prototypical implementation. The fact that Edsger W. Dijkstra was a Dutch computer scientist successfully rounded off the activity during the retreat in the Netherlands.
    How do I get to the fastest?
    How do I get to the fastest?

Wow. If you wanted to put our company motto ZIFF (Zatisfaction, Innovation, Free and Open Source Software and Fairness) into practice in a single action, a large retreat like the one we have just carried out again would be an excellent choice.

Anyone who has become a little envious of the previous explanations (of the content or the surroundings), and who would like to be there at one of our future retreats, is referred to our current job advertisements… ?

In conclusion, some visual impressions of our beautiful and productive time in Spanbroek and the surrounding area:

❤️ Amsterdam ❤️
❤️ Amsterdam ❤️
Late meetings…
Late meetings…
Late coding…
Late coding…
Food and related explanations
Food and related explanations
De kerk naast de deur met het prachtige geluid van klokken
De kerk naast de deur met het prachtige geluid van klokken
Only knows one direction: Fritz!
Only knows one direction: Fritz!
Concentration in the green
Concentration in the green
Laughter I
Lachen I
Päusken
Päusken
In thoughts
In Gedanken
All-in
All-in
Schwelgen
Schwelgen
Laughter II
Lachen II
Heads want to be supported and scratched.
Köpfe wollen gestützt und gekratzt werden.
Fun while restructuring
Spaß beim Restrukturieren
In balance
Im Gleichgewicht
Sheep. Very cute!
Schafe. Sehr Süß!
The rules of the event are explained
Die Regeln der Veranstaltung werden erläutert
Sunset I
Sonnenuntergang I
More laughter
Mehr Lachen
And concentrate again
Und wieder konzentrieren
Who's chewing the chili?
Wer kaut die Chili?
Waiting for the bus to Amsterdam
Warten auf den Bus nach Amsterdam …
… everyone on the bus!
Vincent v. G.
Vincent v. G.
Sunset II
Sonnenuntergang II

Teambuilding and cohesion, technologies and structures: A review of the 2023 retreat in the Netherlands

We were again on a week-long retreat in 2023, this time in the Netherlands. The article lists the detailed results of our work and many visual impressions. In addition to many content-related and organizational results, we were also able to grow together and had a very nice time together. Looks like vacation, but it's work :-)