Paying for mapping services

TL;DR: We need to find a scheme for paying mapping companies for their services. Otherwise, it will be difficult to advance the apps and have functioning ecosystem

This message is regarding mapping applications. While similar line of thought maybe valid for other services, let’s keep discussion focused on mapping. It is not limited to Pure Maps, nor Sailfish OS and is the issue that is common for many open-source mapping apps on all platforms.

While apps could be written as a hobby, there are several aspects in providing maps that end up as costs for CPU, storage, and network. In principle it applies for online and offline maps, as both require data processing and serving it. Add here salaries and other costs for companies providing the services and we get a set of costs that have to be payed for.

Assuming that we want nobody tracking us, respecting our privacy, and not showing ads, we have to figure out how to pay for maps. There are several companies that provide mapping services which fit the task (see note 1 below). So far, all these companies operate in business-to-business manner. Right now, in the context of Pure Maps, we use a part of the service that is given for free per each month and no payed services. So, while companies pay for the services, there is no influx of money via us for it. Such arrangement cannot really work in a long run. Already for Pure Maps, it is an issue (note 2 below).

One way is to reduce the costs and move all to what the developers can share as a part of the hobby. For example, move towards offline maps and accept limitations of updates and distribution. While @karry seems to be able to do all at home, I am using @MartinK’s former lab server to distribute maps. Not sure for how long can it last and there is no way we can provide live traffic through such scheme, for example.

For online maps, the scheme for the services is similar throughout the sector: you get API keys and access services using it. There is some chunk of API calls that are given for free per month, but as soon as you extend it, you are expected to pay. That way companies make sure that it is simple and free to develop against the services, but they get money for their work when app gets popular. Which is a fine approach for apps generating revenue, but doesn’t really work well for open source apps.

I have contacted Maptiler regarding a change in API scheme and whether they would be interested in switching it to a scheme where each user is charged. They were considering it, but it got shelved as I suspected that number of users is too low and it would generate too little revenue for them (I had an estimate of 4KEUR/year). Drawback of going to providers directly would also require negotiations with each of the providers separately and same goes for payment by users.

As a developer and a user, I would like to have some kind of a proxy company that would

  • collect money from users
  • pay each provider for all users
  • keep track on how much each user spent and take money from their account
    On mapping app side, each user would have account with Proxy company and would be able to fetch corresponding API keys. Users would pay for services that they used and probably some overhead for keeping Proxy alive.

This should be possible through providing API keys for services via Proxy company API, by having each user accessing their individual keys. Lots of infrastructure is already there for several mapping companies, we can probably get something like it negotiated while adding as backends for Proxy company. Such as having ability to get many API keys from service, get stats on every API key and change the keys via API.

I wonder whether we have people in the community with the expertise on setting up companies and whether such scheme would work taking into account relevant laws. I am sure if such service would exist, it would be of interest to other mapping apps as well, not just Pure Maps.

For reference, I would expect to have a fee below 10EUR/year. But that’s expectation from my maps use and I have no idea on what kind of overheads we should expect.

Note 1: Some companies: Mapbox, Maptiler, Stadiamaps, HERE, to name few. One can argue on whether they serve ads, I just don’t know.

Note 2: In context of Pure Maps, we are getting hit with monthly free limit for tiles every months. As a result, I am getting regularly issues like HTTP status code 403 · Discussion #608 · rinigus/pure-maps · GitHub . With one company we had to close the support as it became clear that we don’t have any viable scheme for paying for maps.

Q & A:

Q: if these mapping services are using OSM data on the backend, what value are they adding versus having PureMaps itself parse the raw OSM data? (asked by twrightsman)

A: In practical terms, OSM data is available as PBF or XML. Used data format is not very handy for end-user apps and usually requires analyzing data and converting to something that would be faster to display and search (see data format description in OpenStreetMap - Wikipedia). Alternatively, app would have to download data, work on it (maybe hours depending on data size) and then process your request. So, here is where the services come in. They process data and make querying it simple (show tiles, search for address, find route). Same goes for offline maps - such preprocessing is done before maps are distributed to end-clients. So, the value provided by services is something that makes OSM useful.

Another aspect is that OSM does not want to start paying for huge amount of users accessing it directly. It could quickly become very expensive and they offload this to service companies.

12 Likes

Some stupid basic questions:
What does other Open Source apps (e.g. OsmAnd) use?
Is community-hosting the OSM dataset an option at all?

3 Likes

Well, I am by no means an expert in any of the above but the obvious solution (and this may have already been discussed, discounted, whatever) would seem to be that this aspect be taken on by Jolla themselves. Pretty much every commercial phone OS has built in maps, location services, etc - so such a solution wouldn’t be out of place. Personally I would be quite happy to pay a small annual fee to Jolla for up-to-date maps, maybe online location services from Mozilla or wherever and so on. This would also add another revenue stream for Jolla as well which they could make a small profit on (small profit, yes, but it all adds up).

Setting up a separate commercial company to do this globally is not an easy thing to do as trading and licensing laws are different all over the place, whereas Jolla will already have much of this infrastructure working today. The startup cost for a new company would not be insignificant and the ongoing overheads running a separate company just for this probably prohibitive.

2 Likes

Thanks for bringing this up.
You say the topic is really independent of SFOS apps, but I still think that this is the most salient point of your post:

One way is to reduce the costs and move all to what the developers can share as a part of the hobby. For example, move towards offline maps and accept limitations of updates and distribution. While @karry seems to be able to do all at home, I am using @MartinK’s former lab server to distribute maps. Not sure for how long can it last and there is no way we can provide live traffic through such scheme, for example.

I have a feeling that SFOS/Jolla is growing, as well as its independent app store(s). Scaleability needs to be addressed; I’ve seen FOSS projects implode because of that :cry:

I don’t have a solution, but I want to point out a few things:

  • OSM is at least partly user powered - i.e. you can have an account and edit maps, thus contributing to map creation & maintenance. I know many people do this, but I don’t know to what extent it keeps the whole thing going.
  • Some companies/institutions do buy service from OSM and provide it to their clients. I am using one SFOS app that uses Openstreetmap data via Helsinki City Transport. In a way my taxes are paying for that. But I’m sure it’s not scalable.

@Steve_Everett wrote:

this aspect be taken on by Jolla themselves.

I fully agree - this sounds like the most sensible approach. I hope Jolla people see this and comment.

PS: I use OSM as an abbr. for OpenStreetMap.

1 Like

OsmAnd provides an option to pay for it through Google Play. At least it used to be that way. Although, I don’t see how such scheme would work as you are expected to pay once and then can use for your lifetime. As we have running costs, such scheme requires getting new users all the time… In my mind, it would be better if the scheme follows the costs, i.e. is subscription.

Many of the mentioned services use OSM dataset. For apps, you don’t use OSM database directly. You can get a dump of it that you have to process and then can use in the app. These are the steps done by the companies. We can serve maps datasets as community, but you would end up having CPU/storage/network expenses anyway.

Reply above should address points by @ohnonot.

I have not contacted Jolla regarding it. You could consider this thread as an invitation for them as well. But notice, ideally it should be done in a way that would allow any OS/app combo to use it.

As for global company setup, I am not an expert regarding it either. So, cannot comment on it.

Hi @rinigus. It is big and general issue and I have no easy answer for you. Just few comments:

  • Individual voluntary donations are nice and always heartwarming, but will not cover the cost (most likely). At least in such small ecosystem like Sailfish OS. Even OpenStreetMap has almost 50% of income from corporate members. Anyway, do you accept donations?
  • Count resource usage per user is overkill IMHO. Simple subscription model is more viable. Possibly with multiple packages (just map tiles, routing, live traffic…). Downside of subscription model is that occasional users will be “sponsoring” demanding users.
  • Not sure about taxation in your country, but to some income level, it should be possible to process income from subscriptions and service expenses as individual. But it is not easy, it start to be real business then. It depends mainly if you want to do that. It is possible that it will not be fun project for you anymore.
  • Possibility that Jolla will start providing map services, like @Steve_Everett is suggesting, is unrealistic I believe.
  • I would suggest to open topic of paid apps (or subscriptions) on next community meeting again. We, as a community, may build some subscription service, independent on the Jolla. Or try to find some existing suitable service.
  • And last comment: it would be great to make some poll in Pure Maps users if and how much they are willing to pay for specific services.
3 Likes

Hi @karry!

I agree, while donations are very nice to receive (and I accept them), this is not going to cover such services. I think services have to be payed in a targeted manner.

Re counting usage: if it is easy to do, why not. To make such proxy service a game changer, it should be as cheap as possible. If for most of the users 10EUR can easily last a year or more, I would imagine that much more would subscribe. But again, it is hard to say much more about the price point.

Re opening as a company: Ideally, I would stay out of it. I’ll be happy to help as I can see it would make the whole ecosystem better and I am hoping someone knowing the background would take a lead.

Re payed apps: For Pure Maps, issue is already not linked to SFOS. I suspect there are more users outside of SFOS (Ubuntu Touch, Flatpak, and couple of distros), but don’t have stats to prove it (as we don’t really track users).

As for trying to find some suitable subscription service, on mapping front I looked for it and didn’t find any.

I hope I didn’t miss anything.

1 Like

if I understand your point, I think 10 EUR per year is clearly feasible for many and could be mentioned as a minimum while some may pay more if they can. There could be some members for which this is too much, so there could be a mechanism for exemptions (not sure if you could handle this, depends on how many people this could be) based on their origin country for example.

1 Like

I understand, that for doing it like osmand does it processing power and bandwidth is needed. Can you give an estimate on how much?

Did I even understand it correctly and those resources are the biggest problem?

1 Like

For offline maps, I cannot comment on bandwidth. No idea how much is downloaded as it goes through 3rd party. I expect that if I use cloud services it will go beyond their free plan.
As for import, its about 2 weeks of crunching on a server for OSM Scout Server to import planet. For @karry, I would expect it would be less, but maybe it has changed with the backend lib development.

Issue is larger for online maps, search, routing, traffic. This is provided through servers of some companies and, I think it is fair, if we pay for it. Right now, absence of a simple payment scheme is a major issue and, as argued above, makes ecosystem incomplete.

1 Like

Offline map distribution is cheap, but not for free. I am running the server in my living room on Raspberry Pi board :slight_smile: Cost of hardware is ~200€. Electricity expenses are hidden in our standard usage. Connectivity cost me 13€ (unlimited 100Mbps) and 3€ for static IPv4. But I would have this connectivity plan anyway, so there are no extra expenses for me.

To host this server by external company, I would need VPS with 256 GiB storage (at least) and at least 1 GiB of ram. Or combine some CDN and small VPS… In last 12 months, average monthly network traffic just by map downloads is 640 GiB (speaking about OSM Scout offline maps). It would require some research, but I guess that it would cost me ~40€ monthly.

It would not be negligible.

Another aspect is map processing. OpenStreetMap extracts are downloaded from Geofabric for free (thank you!) and processed on my working notebook (again, electricity expenses are hidden). It takes ~7 nights to process whole planet. To move this processing to the cloud or virtual server will cost another bunch of money.

Self hosting online maps for whole planet, search and routing on the server/cloud would be even more costly. It is simpler (and probably cheaper) to buy these services from existing companies…

2 Likes

Would it work to crowd compute the processing part with something like boinc and share the data with something like a torrent?

I think the details might be quite complicated. And i am not sure the security/validation part for processing is solvable, but it would be an one time effort to implement and almost no running costs, right?

Routing and live data would still remain unsolved tho.

@rinigus, thank you for a well thought-through post and for all your work on Pure Maps etc. I agree that we need to pay for services for them to be sustainable without the harmful surveillance advertisement business.

Ideally, I’d like an entity within the EU. From what friends tell me, starting a limited-liability company is not too complicated or costly here in Sweden. Here’s my back-of-a-napkin estimate for such a business (in €):

Number of users	400	

Costs

Map tiles/year   4 000	
Card trans. fees	480	(1 € + 2%, subscriptions paid annually)
Accounting	      4 000	(€50/h, 12 min/user)
Bank acct+srvcs	    150	
Annual report etc 1 000
Total op. costs   9 630
		
Profit/safety margin 482	(5 %)

Total costs €10 112 per year

Costs/user    25
VAT            6	     (25 %)

Subscription price €32 per year (there’s some rounding error above).

These are guesses, of course. I’m just an engineer :wink: and I stuck with the idea to pay for external services only (like accounting). So there is no employee taking care of things, no financial costs etc. (The number of users was derived from data in @rinigus original post.)

The resulting subscription price is a lot more than the €10 cost of tiles, but I would be fine paying 32€ for map data.

Getting started might be “easy”, but how would we keep things going year after year on a hobby basis? Who would be on the board?

Who would do the admin? Interfacing with…

  • map tile provider
  • accounting services
  • auditor
  • card transaction provider
  • bank
  • authorities

Other notes
What kind of support should the company provide, and at what cost?

What are the requirements of the GDPR? I.e. how does the proxy company make sure personal data stays within the EU, and is not used in non-compliant ways?

Obviously, an already existing company with their own accounting department would get away with substantially lower costs. Also, most of the accounting work would be a good candidate for automation - but someone has to write the scripts…

As Maptiler were not interested in a low volume business with many users (compared to the business-to-business case), how about the proxy company acting as a reseller of map tiles? I.e. proxy company buys tiles from tile provider wholesale and manages the consumer side of things. Like charging for subscriptions, assigning per user API keys, rewriting and forwarding requests to tile provider.

(I suppose there will be issues with caching (rules set by tile provider) and routing all traffic through the proxy company’s servers.)

What if? (speculation)
What if tiles could be supplied in a p2p fashion? Could that take the load off of the proxy company’s servers?

Transaction costs are generally a problem for small amount, as noted here:

What if we already had Taler available? That would provide fast, low-cost, anonymous transactions. Probably not fast enough to pay per tile, but fast enough to issue short-lived API keys. Say, hourly (or rather, the estimated number of tiles needed during am hour).

Then the proxy company would not know who was assigned a specific API key, and the tile provider would probably have a harder time identitying a user.

I would be possible. Expenses (traffic, hardware, electricity) will be distributed to more volunteers. But keep in mind that application (at least OSM Scout) may crash with malformed map package. I would be worry about security of the users… Even for sqlite databases are known attack vectors, when attacker is able to modify database file. You would need to trust to package publisher.

+1
I don’t use mapping/routing very often. When I do, I am using Pure Maps.
And when I need it, it is important that it works, as I am sometimes in a hurry.
I know few about how mapping systems and backgrounding operations work.
Hence I had nothing interesting to add here.
But I share these remarks and thank @rinigus much for his work.
I did make a small donation some month ago and would be ready to pay, of course, for such service.

1 Like

The security issue concerns only the computing part. Distributing the files need only a single trusted entity which is giving out the checksums for the downloads. (I think you know that already, just wanted to clarify)

First things first, would have it enough benefits to share the files p2p via a torrent and build this into the application to be worth the effort?

I’m a bit perplexed about Mapbox. I’ve been a user for many years (comercial projects, web) and just added a key for puremaps to my existing account. I’d say I use puremaps at least once a month. I double checked to make sure the key is the correct one. Then I checked statistics. Zero usage recorded. Odd, or? That’s over almost 2 years.

In any case, a question. Can we attempt to get statistics so we might project what, for instance, mapbox might cost? The have a pretty generous sliding scale. Mapbox pricing shows that 100,000 requests for directions per month are still free tier. The user/trip navigation costs are higher but really reasonable, on the order of under an euro per user.

I am happy that napkins are out, offline distribution model described and we are moving constructively with this discussion. Thank you!

As @karry described, offline maps are not too bad. For OSM Scout Server, situation with the import is worse than for @karry due to the used backends. But that is a technical issue. To serve the maps for everyone for free, there is no need to have a server in front of it as it could be run from CDN clouds directly (S3 type of storage). However, you would end up in getting to pay for each uploaded GB which may become an issue if you have significant number of users. Costs for import may rack up as well, as @karry described.

For online maps, i.e. where we process requests on online servers and don’t have to download datasets to devices, I would prefer to stick with the established companies and not to try to build P2P networks around it. Again, arguments with ecosystem health come to mind. In addition, all regulations regarding privacy are probably better checked with the companies.

@jojomen, with the respect of GDPR and proxy company. The proxy should be serving only API keys for map services and user would contact the map service directly. So, there would be no caching, no traffic on proxy site.

In general dealing with the map import is already rather tedious process. year after year :slight_smile: . My hope is that we can get a bunch of interested developers/users that could share this communication with different parts.

Now I do wonder whether there is some kind of service that would deal with invoices from users/accounting/auditor/authorities? Ideally also pay to map providers. So, we could write some required software bits to help with the accounting and setup the logic of the operations. I guess in my dreams…

Starting up a company over here, in Estonia, should be simple as well. But the rest has the same issues.

@poetaster : with Pure Maps, I was hitting Mapbox tiles free quota limits already. Hence had to ask all users to register there. But it still doesn’t resolve ecosystem issue and if there are too many of such free-service using users, Mapbox may have a problem with it.

Stats would be useful. Since we are discussing the business case, numbers would be helpful. Since you were hitting quotas (about 1.5 - 2 years ago?), do you still have the data?

Although I’m an old start-up guy, I’m trying to avoid getting into business management. What does occur to me is that it might be easier to begin with a non-profit, focus on one service provider and avoid as much accounting as possible. Found it, start with a donation drive, see if the community will carry it. Often, a funding drive a year can carry the costs for a year forward.

2 Likes