mapbox / mapbox-gl-js

Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL
https://docs.mapbox.com/mapbox-gl-js/
Other
11.08k stars 2.21k forks source link

Future, Roadmap of GL-JS? #9173

Closed femski closed 4 years ago

femski commented 4 years ago

It seems development of GL-JS has slowed considerably in the past 12 months with few new features being introduced since expressions. There is little or no improvement in performance via WebAssembly or Offscreen Canvas nor any attempt to take this library to new heights with 3D terrain. Milestones, roadmap, projects sections in Github are mostly blank. I see regression in performance in even vector tiles on Safari (so I am stuck using v1.20).

Will Mapbox please clarify what future beholds for GL-JS - as Milestones, Roadmap and Projects?

andrewharvey commented 4 years ago

We must see things quite different, I see a ton of new features, bug fixes and performance improvements from the last 12 months https://github.com/mapbox/mapbox-gl-js/blob/master/CHANGELOG.md, which I very much appreciate all the effort by the maintainers and contributors (both Mapbox employed and community contributors) who've worked to improve this awesome library.

https://blog.mapbox.com/taking-our-maps-to-the-next-dimension-dbeee37a7c4c?source=rss----c5e029442---4 talks about all new exciting 3D terrain work that's going on, which I'm stoked about.

The best source of information on GL JS development is the GitHub issues (lot's of great discussions about features and issues going) and GitHub pull requests (to see what's being worked on currently and is coming soon).

andrewharvey commented 4 years ago

Will Mapbox please clarify what future beholds for GL-JS - as Milestones, Roadmap and Projects?

Just on that, if there's new features you want to see in GL JS then please open tickets for them, or contribute to those already here. It's really helpful to know what people want to see and flesh out use cases when designing new capabilities.

joedjc commented 4 years ago

I agree @andrewharvey there have been so many excellent enhancements over the last year. Custom layers is one which has stood out given the possibilities it brings. Very much looking forward to seeing what 2020 brings especially more 3D support - I was very pleased to see that blog post.

However I was also wondering why the roadmap was removed? - it was something which could be useful if kept up-to-date.

Somewhat off-topic but I was also wondering if there's a future for 'threebox' (https://github.com/peterqliu/threebox). I don't think this is an official mapbox plugin but it is extremely useful and very cool so perhaps it could become one?

andrewharvey commented 4 years ago

I can't speak for the GL JS team, but I feel the roadmap was good idea suspect ultimately the overhead cost to keep updated was too great. More time spent maintaining the roadmap meant less time fixing bug, updating docs and working on new features. The same information from the roadmap was also available if by keeping track of issues and PRs. I do understand that while PRs help show you what's being worked on now, they doesn't show what's being worked on privately by Mapbox and which issues they plan to tackle next.

joedjc commented 4 years ago

Thats fair enough and what I suspected. The issues and PRs definitely help. I don't think a detailed roadmap is needed and certainly not at the expense of development. I am always interested in anything high level such as blog posts/updates on longer term features etc. These are all nice to haves though I was just speculating that removing the roadmap might have caused this concern for the author of the issue.

mourner commented 4 years ago

Thanks for the kind words and support @andrewharvey @joedjc!

We removed that roadmap for now because we couldn't keep it up to date, but we will definitely reintroduce it once we settle on the right approach. Generally I can say that this year we'll be focusing on new 3D features, better mobile support, and performance & stability improvements.

There is little or no improvement in performance via WebAssembly or Offscreen Canvas

@femski We started introducing Offscreen Canvas recently (e.g. #8845) and will expand its use in the future. Regarding WebAssembly — based on our experiments, with the current browser implementations, it's unlikely to bring significant performance benefits in our use case (while introducing a lot of complexity and forcing us to drop IE11 support), although we'll keep experimenting and looking for opportunities to use it to our advantage.

nor any attempt to take this library to new heights with 3D terrain

Do not judge lack of effort by this repo alone. There's a lot of ongoing work on this — stay tuned for more sneak peeks and updates in our blog.

I see regression in performance in even vector tiles on Safari (so I am stuck using v1.20).

If you can pinpoint specific regression, please submit an issue with detailed description and a reproducible live test case, or add constructive feedback to an existing issue. Complaining about something without details isn't productive.

I'd also like to add that it takes a lot of patience to respond to issues written in such tone. Please consult our Code of Conduct for pointers on how to participate in this community productively.

femski commented 4 years ago

@mourner

I will create a issue for Safari performance problem as I have created others in the past (both here and on Webkit bugzilla). Memory leak in passing arraybuffer was fixed by Webkit but where a new bug has cropped up since v1.20 degrading performance in Safari severely . Examples coming.

I also think GL-JS has a bright future on mobile - I ported my Android App from Native to GL-JS on this premise only. But for this - performance has to improve further (crashes on Safari are now in control).

Ok, I will take this rhetorical discussion elsewhere. But please understand that I waited for months before writing - I read Issues list every day. Tickets on Webassembly, and Terrain are years old. And you did remove whatever little of Roadmap, Milestone and Projects you had.

stevage commented 4 years ago

@mourner Thanks for responding. Wanted to add that I also don't agree at all with OP's assessment. I've been really heartened and surprised by just how much development there's been in the last 12 months, I haven't really even kept on top of it all.

FWIW, I didn't find the Roadmap in that form super useful. It seemed like there wasn't a sweet spot that balanced Mapbox's need to not over-commit with the community's need to understand (or perhaps influence) what was going on.

For me personally, I appreciate any tidbits that come out of the dev team, whether it's things you're working on or areas of exploration. A sentence or two once a month is plenty for me, but I don't know what the right forum for that is. The email newsletters used to be better at this, but now they're a bit too marketing-ish.

Anyway, I'm also happy to say that for my current needs (as a full time Mapbox-GL-JS consultant) there isn't really anything I'm desperately waiting on to be developed. Mapbox-GL-JS performs well and has a good range of features, and its few annoyances are fairly easy to work around with libraries such as mapbox-gl-utils. I really appreciate and deeply respect all the work the whole team has put into this library over its lifetime.

So any new features now are just a nice bonus. More work in libraries such as ThreeBox and Mapbox-GL-Draw would be the main ones of interest to me.

femski commented 4 years ago

See my response in another/main WASM thread. https://github.com/mapbox/mapbox-gl-js/issues/4835#issuecomment-596499912 cc: @andrewharvey @mourner