Wednesday, February 14, 2024

The FOSDEM trip 2024

 As there was some interest and questions about my trip to Brussels and FOSDEM on Mastodon, I thought I should write down some notes and observations from the trip. This will not really be about FOSDEM itself as there's numerous other reports from the conference itself.

Tickets

I had some questions about how and where to buy tickets for a train journey like this.

For the first connection with the commuter train to Stockholm C, I just used my regular 30 day pass for the Stockholm and Uppsala regional local traffic as it already had validity covering the entire trip.

For the rest of the trip I made two separate reservations. One for a round-trip journey from Stockholm C to Hamburg Hbf in a shared couchette (six bed compartment) on the EuroNight service booked via sj.se. Leaving in the evening Feb 1 (Thursday) at 17:34, return trip from Hamburg on Feb 5 (Monday) at 22:03. I then separetly booked tickets on ICE from Hamburg Hbf to Brussel Nord via bahn.de.

For the second part I choose the option with seat reservation, but bound to specific trains. Specifically departing from Hamburg at 10:45 on Feb 2. This gave me almost 5 hours margin, which is perhaps a bit on the safing side, and adds to the total journey time. On the other hand it gives some extra time to have some breakfast and walk around a bit (though it's a bit early in the morning).

Return trip from Brussels to Hamburg was scheduled to arrive at 17:18, giving plenty of time (almost five hours) to get some dinner and visit some sights. Here it's more crucial to set aside time for any hickups, as missing the night train service would be pretty awkward…

Another option would have been to get the InterRail pass. But bare in mind that night trains still require buying reservation. And reseving seats on German ICE might still be a good idea to ensure getting a fixed seat (would be especially beneficial if you intend to work on the train).

The journey

A side note: As my camera has started acting up, taking several attempts to start up after being off for a while (probably the lens mechanism getting worn after taking around 21000 pictures), I haven't taken as much pictures as usual…

I left home after lunch on the Thursday, first going for the commuter train.


Trains at Uppsala C

Arriving at Stockholm C (techinically Stockholm City, the underground station connected to the metro system) I left suitcase in a baggage locker at the station. Now the plan was to take the tram out to Djurgården (this is also where the Vasa and ABBA musuems in Stockholm are located) to have some fika and enjoy the weather as it was one of those sunny days. But since the next tram then was a bus replacement, I decided to instead take a walk.

View over Sergels torg in Stockholm


Finally some fika at the cafe Lilla Hasselbacken

The headed back towards the central station, picket up my suitcase and went to the restaurant Belgobaren to have dinner and a couple of beers. Also a good way to warm up for a bit of Belgian spirit 😎

The nice bar at Belgobaren. This place is also the hotel restaurant for Freys Hotel



Half an hour or so before the night train was about to leave I headed back to the station.

The departure board

At track 10, next train is ours…


These are old German sleeper cars

Arriving in Hamburg the morning after around halv an hour or so behind schedule



Had a bit of breakfast at one of the cafe places in the station.

Coffee and a sandwich


Taking a morning walk and visiting the exhibition at the city hall (which was thankfully opening at this early time of day).



Hamburh Rathaus (city hall)








Arriving back at the station awaiting the departure of the next train towards Köln (Cologne).

Shortly before the train was supposed to depart it was announced as being cancelled…

Asked some staff from Deutche Bahn at the platform and got a suggestion to instead take a train to Düsseldorf and then on to Liège, and from there to Brussel Nord.

At Düsseldorf Hbf

Arriving in Düsseldorf and boarding the train towards Liège (destination Paris Nord), it turns out this was a Eurostar. And they did not accept my ticket even though I think that's what the staff had told me (unless I misunderstood the German). So I had to pay for a new ticket onboard.

Later filed a claim for a refund for this. And as I had not registered an account beforehand at bahn.de with my e-mail address, this had to be done via a printed form and old-school mail… So this is something to keep in mind, registering your booking beforehand could be a good idea.

Eventually arrived in Brussels an hour and some delayed.



The actual FOSDEM

Not so much from the acual FOSDEM in this post, but OK a few pictures from ULB…




The journey back home

Started off the morning on Monday Feb 5 by walking around a bit in central Brussels, saying hi to Maneken Pis, and buying some beer and chocolate.




The next thing that happend was a bit eventful though…

Headed back towards the northern station (Bruxelles Nord), as this was what I had booked seat for (probably wouldn't have been a problem getting on the train at the central station, but). Taking the tram from De Brouckère towards the northern station. I had about an hour to spare here. These lines (3 and 4) runs in a tunnel. This is what could be called a pre-metro). After the stop at Rogier (one stop from where I was about to get off) there was a sudden stop, and a power-outage! (ouch!).

After maybe half an hour we had to evacuate walking through the tunnel back to Rogier. Then walked to station. Still in quite good time for the train (but I was getting quite nervous for a while).

Later on the ICE towards Köln was some 20 min delayed. This train was supposed to continue on to Franfurt am Main, but turned back to Brussels in Köln. Fortunatly (for me) this didn't affect me, as I was getting off anyway.

At Köln Hbf

 

Got a little less time than planned to get some snack at Köln Hbf.

 


 Arriving in Hamburg, after leaving the suitcase in a baggage locker, I took the S-Bahn to Landungsbrücke to visit the submarine museum.

The old Soviet submarine. Now as the U-434 submarine museum.


And after that a nice dinner at Blockbräu.

Blockbräu restaurant

And then a qick a look at the old tunnel under the river Elbe, where you take elevators down. There is still construction going on and one of the tunnel lines is closed. Seems to only be opened for pedestrian and bike traffic. This was also the case when I visited last year.

The old tunnel

Elevators taking cars. There's also smaller „regular” elevators. But I guess those are much newer…

Back at the station awaiting the train.



The night train to Stockholm

And the morning after looking out from the last car of the train on the long straight around Mjölby

And then a bit later, after lunch arriving home after a nice weekend in Brussels attending FOSDEM, listening to interesting FOSS talks and hanging a bit with GNOME folks.



Wednesday, January 31, 2024

FOSDEMaps

 

It's only a couple of days left until that weekend of the week of the turn of month between January and February, and that means it's time again for FOSDEM, gathering FOSS entusiasts in Brussels, Belgium. And I will be there as well!

There has been some nice improvements in Maps since the end-of-year post before New Years as well.

James Westman has continued improving vector rendering support in libshumate and also implemented the ability to click on symbols, so you can finally click on labels and icons on the map instead of using the „What's here?” context menu item, doing a reverse geocoding. That always felt a bit like a „work around”. This seems like one of those cases of „a video says more than a thousand images”.

This is available when enabling the experimental vector map layer.


Another thing I have been working on is improving the experience of the favorites menu. Now instead of showing an insensitive, greye-out button in the headerbar when there are no places marked as favorites now the menu is always accessible, but instead shows an „empty state” when there are no places marked as favorites.

When there are places marked as favorites, there is now a close button next to the item allowing to remove it from favorites (rather than having to select the place and animate there to unmark the star icon in the popover showing).


When removing a favorite from menu a „toast” is displayed offering to undo this action (similar to when e.g. deleting files in Files).


Jakub Steiner has redesigned the map pin icon.



Compared to the old Tango-style icon that, while being a nice icon that has served us well looked a bit out-of-place in relation to the new UI style with a more 3D look.


Another new feature was thought up when looking for a cafe in a shopping mall in Riga during GUADEC last year is showing information about the floor location of places. There two established tags in OSM for this: level which represents the number of floors relative to the ground floor (or the lowest ground floor for buildings built in a souterrain fascion). In this case we now show this information in a spelled-out form for ground level or above, or below ground level (with provision for using localized plural forms).



The other tag is
level:ref referring a literal floor designation as „written in the elevator“. This could be fully spelled-out named floors, or numbers with suffixes and so on. When this is available we'll refer to that one as this would directly correspond to actual writing on-site.


Lastly James has added support for showing descriptions in the info bubble when clicking on points in a GeoJSON shape files when present. It also now shows the name of the shape file in the info bubble (this shape file was from an old GUADEC in Strasbourg).


Maybe I forgot something, but I think those where the highlights of new stuff so far in 2024.

Maybe see you in Brussels in a couple of days!

Saturday, December 23, 2023

Christmas Maps 2023

 


It's that time of the year again, near the winter solstice (or the summer dito in the southerm hemisphere), so I guess it's time for the yearly wrap-up blog post. And yeah, Santa Claus lives in Rovaniemi, Finland. Despite some misinformed claims about the North Pole… 😎

There's been some good progress during 2023 for Maps and libshumate. This was also the year I actually attended my first GUADEC in-person. This was a really nice experience, meeting with a lot of people from the broader GNOME community. Though I've met many at FOSDEMs over the years.


When it comes to the last progress in Maps, after the last GNOME 45 stable release. With the help from the design team, I have yet another time (in 45 we moved the zoom buttons out of the headerbar, and added a rotation indicator/reset button). Now the zoom controls are moved to the lower part, to give better balance. They will also respect the dark/light theme setting. But will really shine once we get a dark map style.


Also, as a little „julegave” to our Norwegian neighbours, Maps now supports public transit routing using OpenTripPlanner v2 with GraphQL, currently enabled for Norway's national Entur API provider.



The first screenshot also shows the new subway icon by Jakub Steiner, which adds a more distinctive look compared to other trains.

 Felipe Kinoshita has also ported the setup dialog for doing SSO sign-in to OpenStreetMap for POI editing to use new libadwaita widgets.



 

 

Over in libshumate there's also been a lot of impressive improvements to the new vector map renderer implementation.

Among other things James has implemented is libshumate-specific debug information exposed via the GTK inspector, so that you can display a debug overlay and get tile and object bounding box lines showing.


The new GNOME-styled map stylesheet we are working on has also seen improvements.

I added support for ferry lines and gondola lines.





James has also been working on implementing localized highway shields by leveraging the OSM Americana project.



Also showing points-of-interests using GNOME-style icons in the map style. The design team has drawn up a bunch of new nice icons for different place types.


With that I will wish happy hollidays (of your choice) and a happy new year on behalf of the GNOME Maps Team 🎄🎅🍾

Tuesday, September 26, 2023

Maps and GNOME 45


 

The GNOME 45.0 release has just recently been published, and with it a new release of Maps. Accompaning the release is also a new stable version (1.1.0) of our libshumate map rendering library containing a lot of improvements to the client-side vector-based renderer.

Many of the new features has already been presented here, but a short re-cap:

The zoom control buttons has been moved (back) to using overlay buttons on top of the map view. A rotation button has also been added, appearing when the map is rotated away from the regular “north is up” which can then be clicked to reset the rotation.



As well as a browse mode for the search popover allowing to look for nearby points-of-interest by category.


The other new big thing is the addition of the experimental vector-based map layer (leveraging the enhanced vector support in libshumate 1.1.0). This is available in run-time when the build of libshumate used is compiled with vector support enabled (it's currently opt-in at build-time, but maybe we should enable it by default for 1.2.0, making it opt-out instead? There could still be use-cases where building a slimmed-down version with only raster support could be useful). The Flatpak for Maps 45.0 on Flathub has a bundled libshumate with the vector renderer enabled. There still remains some work to be done that wasn't ready for 45, so for example it's not yet possible to directly click on labels and markers on the map. As this will require further refactoring of the internals e.g. how store information about places (for caching, and also for storing bookmarked places).

The experimental layer currently uses the OSM Libre stylesheet, but eventually the plan is to switch our own GNOME-specific style using color hues from the GNOME icon palette.

New stuff looking forward to in upcoming releases:

James Westman has been busy not only with improving the vector renderer in libshumate, but he has also made progress on the new map style.




 The style now finally includes initial support for rail lines!

The style can be tested using the web renderer: https://maps.jwestman.net/

It's also possible to clone the git repo for the style and run it using a built-in Python-based launcher (this uses actual libshumate rendering, typically would require installing development packages to your host system): https://gitlab.gnome.org/jwestman/map-style

Another cool thing (that can also be seen in the web screenshots above) is localized highway shield rendering building on the OSM Americana project: https://wiki.openstreetmap.org/wiki/OpenStreetMap_Americana

 

An experimental branch implementing shield rendering in Maps is also work-in-progress.



This currently uses the OSM Liberty style (the same as the current experimental map layer in Maps 45).

So it's looking pretty exciting for for 46 😊

Until next time, happy mapping!

Saturday, July 1, 2023

Summer Maps

 It's about time for the yearly (Northern Hemisphere) Summer Maps blog post. 😎



Since the release of 44.0 in March, aside from some fixes (like adding support for authentication HTTP headers in OpenTripPlanner plugin, as now needed by the Finnish Digitransit service) there has also been some changes on the surface in Maps.

First, Jakub Steiner has contributed with a refresh of icons used for transportation modes, and the various mode of public transit.

Here we can see the icons for transportation modes (walking, biking, car, and public transit, using a „train icon“) using the new GNOME icon style

In this capture we can see the new icons for metro (underground, subway service)


Above there is some samples from Portland, showing trams and gondolas.


Another new feature is the „Explore nearby points-of-interest“ browser mode of the main search entry, allowing the select preset categories grouped by main and sub categories. Clicking on a subcategory then proceeds with a search given the selected type of place centered around the center of the current map view sorted by, and showing the distance to the place („as the crow flies distance“):

Clicking the down-arrow button, or using the new CTRL+SHIFT+F shortcut shows the main categories

After selecting a sub category

Showing points-of-interest results with distances

Results nearby (less than 100 m, or 300 feet when using Imperial measures) are shown with a „less than“ indication as these can be somewhat imprecise, especially for things with a “two-dimensional extent“ such as larger buildings, or areas

 

This feature was something I had in mind for a while, and there has been an old issue about this floating around since the Bugzilla days (before the migration to GitLab, it was issue #3 after the migration…).

I remember envisioning the outlines of this during a walk one afternoon/evening early in winter of 2021 during the mandated „working from home“ days when we had step contest at work. But I had put the idea off before in anticipation of the GTK 4 port as I din't want introduce too much new UI needing porting before that). But now that that has been finished it was time…

 Behind the scenes this is using the Overpass API to search the OpenStreetMap database based on tags and centered around a specific coordinate.

And by the way, the set of categories is defined in JSON-like object structure in the src/potCategories.js module, so this can be altered relatively easy (and add Overpass query parameter „fragments“.


The next thing, the routing sidebar has had some issues when using a small form-factor device (e.g. phones), now there is WIP in an MR to migrate the sidebar to use an OverlaySplitView from libadwaita.


This allows swiping in from the edge to bring up the routing sidebar and „swipe away“ the sidebar to close it on touch screens.

It also „collapses“ the view so the sidebar is overlayed on the map view rather than „pushing it aside“ on narrower screens:


This is still not finally merged to main, but hopefully this should make it in for 45.0.


Another thing is that since migration to libshumate it is possible to rotate the map view using touch gestures. And as we didn't have a way to reset the rotation (beside restarting the application) to mitigate that I have added a compass button showing when the view rotated away from normal „north is up”.

 

Also the zoom buttons have been moved back to be overlay buttons as they where back in the day. They where changed to headerbar button back in 2017 as a work-around for GTK widgets not being able to be overlayed on top of Clutter surfaces on Wayland. But this is no longer an issue as we don't use Clutter nowadays.

This overlay button design might be subject for a redesign later on. Possible moving them down to the bottom end (right in LTR) corner, similar to the zoom controls of the new Loupe image viewer app. The license banner would then be displayed on startup as toast maybe, or as popover when clicking an info button. Or something like that.

And last, but not least we had a contribution from Szymon Kłos who implemented support loading tracks recorded by Garmin sport watches as shape layers. Thanks Szymon!

I will also attend GUADEC in Riga later in July, so those who go there, maybe see you there!

And I think that's about it for this time!