[Talk-GB] App development (was Rossendale Way)

Andy Townsend ajt1047 at gmail.com
Wed Jan 26 13:36:17 UTC 2022


On 25/01/2022 11:26, Brian via Talk-GB wrote:
> There are some attempts, for example Philip Endecott’s UK Map. I have exchanged emails on the subject with him and now better understand why it is such a difficult problem. Andy’s map is a lot better than the OpenStreetMap Carto, but unfortunately a web site requires constant online signal and doesn’t provide the functionality for recording tracks and following routes. OsmAnd shows a lot of promise, I use it quite a lot, but always in combination with the OS Maps app for the PRoW information. I made a start at investigating how to modify the OsmAnd style sheet but it was far to complicated for me to pursue.

There are a few different problems here - one is just "providing map 
information offline".  For a small area that's doable with existing 
well-documented raster map tools.  I did a proof of concept of this sort 
of thing many years ago (https://github.com/SomeoneElseOSM/OSMembedded 
).  The challenge is that for every zoom level you go down, you get four 
times as many raster map tiles and that limits what you can easily embed 
- it's not practical as anything more than a simple proof of concept 
unless you only want a _very_ small area.

The "obvious" solution to this problem is to use vector tiles, which 
lets the display device do the rendering, allowing it to "zoom in" based 
on the same information without the nasty pixelated "overzoom" effects 
you'd get with raster tiles.

Unfortunately I'm not aware of an obvious well-documented "soup to nuts" 
vector tile stack that isn't tied in to one particular vendor.  I've had 
a look at a few over the years with a view to adding something to 
https://switch2osm.org/ but haven't yet found one that obviously stands 
out for inclusion there.  Places to look at include Mapbox's tools, 
OpenMapTiles links from 
https://github.com/openstreetmap/operations/issues/565#issuecomment-907303115 
, https://github.com/systemed/tilemaker and 
https://tegola.io/documentation/getting-started/ .

The other part of the problem is "functionality for recording tracks and 
following routes".  That's not going to get created by magic code 
fairies and it's not a small job, so it's going to need someone to be 
paid to write that.

OsmAnd does indeed show a lot of promise.  I'm not a great fan of the UI 
or the lack of up-to-date documentation, but if someone wanted an app to 
show offline maps in a different style, I suspect that's probably the 
best place to start right now.  This diary entry I wrote in 2019 will 
probably need some updates for more recent Android versions, but the 
principles should still apply: 
https://www.openstreetmap.org/user/SomeoneElse/diary/391499 .

The problem with that approach on a larger scale is that I don't think 
that it would be ethical to encourage people to steal the OsmAnd 
developers' lunch - OsmAnd uses a limited number of downloads to 
encourage people towards paid versions.  An alternative might be to 
contribute directly back to OsmAnd, OsmAnd's internal map style 
definition is more than a bit convoluted and I don't think yet another 
variation in that base style is a good way to go.

I haven't looked at Organic Maps https://organicmaps.app/ ("curated with 
love by MapsWithMe (Maps.Me) founders").  Back in the day there was a 
map creator for that Maps.Me, but I never looked at whether it supported 
style redefinition or the creation of data files with extra data in them 
to be rendered (like OsmAndMapCreator but for Organic Maps).

Finally it has to be said that all of the above is Android only. With 
Android you can create and distribute (privately) an app for free.  If 
you want to distribute via Google's Play Store you'll have to pay a 
one-off fee, but it is possible to distribute to Android devices in 
other ways.

The "price of entry" for iOS development is much higher - there's no 
easy non-app-store route, and to distribute via the app store you need 
up to date Apple hardware for development and testing (at least a modern 
Apple Mac and arguably also a recent iPhone).  I suspect that you also 
still need to pay recurring fees to Apple, and make continual code 
updates in line with Apple's API deprecations*.  I have nothing but 
respect for those who are running along that treadmill (like Go Map!! 
https://apps.apple.com/us/app/go-map/id592990211 ) .


>
> My programming skills are now very old and rusty and I know nothing about creating modern mobile apps, but I would like to contribute whatever I can to try to improve the offering made available for walkers & hikers. Perhaps the quickest/easiest solution would be to produce a specific walker’s style sheet for OsmAnd. If there is anyone else interested and who can teach/mentor me I an willing to have a go as part of a project team.

OsmAnd is certainly an option - try and follow the 
https://www.openstreetmap.org/user/SomeoneElse/diary/391499 diary entry 
and see what has changed and what else it should say.

Another might be to look at "what you need to do to distribute a really 
simple app to me own Android phone". 
https://github.com/SomeoneElseOSM/AJTS04 is a quick and dirty "maps" 
example, but before looking at that I'd suggest looking at the "start 
here" stuff on https://developer.android.com/ that talks you through a 
simple "hello world" app.

If you come from a Microsoft background then 
https://docs.microsoft.com/en-us/xamarin/android/ might be a more 
familiar place to start from rather than Google's Android tools.

Best Regards,

Andy

* all based on my experience developing for iOS a few years ago





More information about the Talk-GB mailing list