Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Default low-zoom version of Streets source. #12051

Open
fabian-guerra opened this issue Jun 1, 2018 · 3 comments
Open

Default low-zoom version of Streets source. #12051

fabian-guerra opened this issue Jun 1, 2018 · 3 comments
Labels
Core The cross-platform C++ core, aka mbgl

Comments

@fabian-guerra
Copy link
Contributor

The iOS team started a conversation around the following recommendation from the ios-factor:

Never assume a user has a working internet connection on the first launch of the app. The user might install your app and then doesn’t open it until they’re on the go without an internet connection.

It's common to open an app and wait few seconds for it to respond. Offline-conscious developers may place a default image/loader that indicates something is happening. To improve the overall experience with our maps we may be able provide a low-zoom version of Streets source, and preload the tiles into cache.db just for the very first time. Something along the lines:

img_dd4cb324b8a9-1

We may implement this in core to improve the UX for all platforms.

/cc @mapbox/maps-ios @mapbox/gl-core @mapbox/maps-android @ericdeveloper

@1ec5
Copy link
Contributor

1ec5 commented Jun 2, 2018

A low-zoom map would appear in an application at runtime, so it needs to match the application’s intended style to avoid jarring effects or even undefined runtime styling behavior. That would preclude a static image along the lines of what was proposed in #9480.

It’s probably possible to bundle the SDK with a very small, hard-coded z0 layer without labels based on Natural Earth. But this only helps in the case where the application starts out looking at the whole world – it wouldn’t help if the application starts out zoomed in on the user’s location or a particular region of interest. Additionally, the style JSON and other assets would need to be bundled with the application; the SDK probably can’t come bundled with anything that would facilitate that.

The most robust solution for an offline first launch would be bundle an offline pack with the application and sideload it. However, that process is currently pretty fraught and still assumes the developer knows where on the map the user will be looking upon first launch.

@kkaefer kkaefer added the Core The cross-platform C++ core, aka mbgl label Jul 31, 2018
@stale stale bot added the archived Archived because of inactivity label Jan 27, 2019
@stale
Copy link

stale bot commented Jan 28, 2019

This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.

@stale stale bot closed this as completed Jan 28, 2019
@fabian-guerra fabian-guerra reopened this Jan 28, 2019
@stale stale bot removed the archived Archived because of inactivity label Jan 28, 2019
@stale stale bot added the archived Archived because of inactivity label Jul 27, 2019
@stale
Copy link

stale bot commented Jul 27, 2019

This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.

@stale stale bot closed this as completed Jul 27, 2019
@fabian-guerra fabian-guerra reopened this Jul 29, 2019
@stale stale bot removed the archived Archived because of inactivity label Jul 29, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Core The cross-platform C++ core, aka mbgl
Projects
None yet
Development

No branches or pull requests

3 participants