Streetcomplete: migrate to tangram-es 0.10

Created on 30 Nov 2018  路  8Comments  路  Source: westnordost/StreetComplete

Migrate to the new tangram-es version

Most helpful comment

I spent all day today migrating to 0.10.0, though there are some issues. Apart from the curious interface change decisions, with which I can live with, the chief feature why I wanted to upgrade does not work correctly. I created issues for that. So without these fixed, I cannot upgrade and I am unsure overall if it would be worthwhile. Usually I expect of updates of a library that all the things will be better.

On the pro side:

  • there is now a listener for map updates -> makes it easier and less error prone for updating compass, view direction, GPS accuracy and makes it maybe feasible to do this (last paragraph) and definitely to show the current location as an arrow at the screen border which could maybe replace the "viewport glued to GPS position" feature (see for example the mapy.cz app)
  • a long standing crash issue is fixed. Probably.

On the meh side:

  • there is now a function to focus on a certain bounding box. But it doesn't work correctly. -> If it works, saves me about 100 lines of hacky workaround code

On the bad side:

  • new camera update interface (rotate, pan, zoom, ... camera) is pretty awkward and apparently not thought through -> leads to more code and possibly to abrupt animations / camera animation bugs or more hacky workaround code
  • new gesture responder interface is bad -> leads to 50 lines of hacky workaround code on my side

All 8 comments

:tada: Any new features/advantages this brings for StreetComplete?

Hopefully a fix for a long-standing crash issue, minor performance improvements and a feature that means that I can remove a custom implementation for a lack of that feature. So, nothing big, but the migration is a bit more laborious.

Ah, and the flicker when moving in to show a quest should be gone. (The flicker when zooming back out again though probably not)

I spent all day today migrating to 0.10.0, though there are some issues. Apart from the curious interface change decisions, with which I can live with, the chief feature why I wanted to upgrade does not work correctly. I created issues for that. So without these fixed, I cannot upgrade and I am unsure overall if it would be worthwhile. Usually I expect of updates of a library that all the things will be better.

On the pro side:

  • there is now a listener for map updates -> makes it easier and less error prone for updating compass, view direction, GPS accuracy and makes it maybe feasible to do this (last paragraph) and definitely to show the current location as an arrow at the screen border which could maybe replace the "viewport glued to GPS position" feature (see for example the mapy.cz app)
  • a long standing crash issue is fixed. Probably.

On the meh side:

  • there is now a function to focus on a certain bounding box. But it doesn't work correctly. -> If it works, saves me about 100 lines of hacky workaround code

On the bad side:

  • new camera update interface (rotate, pan, zoom, ... camera) is pretty awkward and apparently not thought through -> leads to more code and possibly to abrupt animations / camera animation bugs or more hacky workaround code
  • new gesture responder interface is bad -> leads to 50 lines of hacky workaround code on my side

I created issues for that.

Would have been useful to link them here, so I guess these are https://github.com/tangrams/tangram-es/issues/1960, https://github.com/tangrams/tangram-es/issues/1962 and https://github.com/tangrams/tangram-es/issues/1961.
Two of these three are closed (though it does not look you were content with the solutions), so is https://github.com/tangrams/tangram-es/issues/1960 so important to block this?

tangrams/tangram-es#1962 and tangrams/tangram-es#1961 are just meh, in that they create more work for me in exchange for no gain. Point 1 and 2 of tangrams/tangram-es#1961 is important though, because without this, I can not even drop the prior 100 loc of hacky workaround code I have to use until now. I created a new ticket, tangrams/tangram-es#2033

This release includes a major update of the map rendering library (in order to satisfy new Google Play guidelines).

in beta 17 release

@westnordost I am curious, could you please specify what you are referring to? Why/what/how exactly is Google forcing you to do this?

Starting February 2020, all apps that use native libraries need to ship 64-bit binaries for those as well (even though the 64-bit architectures are in general compatible with 32-bit binaries).

Up until 0.9.x, Tangram-ES did not include a binary for a certain 64-bit architecture. Tangram-ES 0.10.x introduced big breaking changes in the interface but finally included those binaries.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Helium314 picture Helium314  路  3Comments

ecksun picture ecksun  路  3Comments

MattWhilden picture MattWhilden  路  3Comments

monikarora picture monikarora  路  3Comments

rugk picture rugk  路  3Comments