Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposed Web API enchancements #1073

Open
bkielczewski opened this issue Dec 26, 2023 · 4 comments
Open

Proposed Web API enchancements #1073

bkielczewski opened this issue Dec 26, 2023 · 4 comments
Assignees
Labels

Comments

@bkielczewski
Copy link

Hi.

First of all thank you for making this, it's awesome, great freeware alternative to other paid tools.

Some background, I'm the author of freeware VR panel for MSFS that integrates with LNM. To implement current functionality I'm forced to parse HTML which is quite prone to errors and changes on your side. I'm also getting some feature requests which are currently impossible to implement. It would be really appreciated if current web API functionality could be enhanced to make the experience better.

I would suggest to start with:

  1. /api/airport/info - missing runway information, add interpreted METAR (could live without that one)
  2. /api/sim/info - would suggest separating sim info and progress, enhancing progress with information that is already available
  3. /api/map/features - features that are vor/ndb are missing frequency
  4. adding an endpoint for current flight plan information (read only would be ok)
  5. adding an endpoint to get a list of available maps and setting a map

I'm attaching a file with the interfaces I use currently, for reference - interfaces.txt

I understand if interoperability wouldn't be a top priority for LNM, my thing caters to quite niche market of VR users, although I think it's beneficial for everyone involved and who knows what it might bring in the future.

Anyway, have a great new year.

Best,
b.

@u-an-i
Copy link
Contributor

u-an-i commented Dec 26, 2023

CC @KOKAProduktion

I currently (read: until 8. January '24) estimate to not be able or wanting to use sufficient time to dig into this.

@bkielczewski your suggestions appear sensible.

@albar965 proceed as you see fit .

@albar965 gigantic effort on 3.0.0. i didn't find time to install and try it yet but your release notes read very promising! :)

Happy holidays everyone!

@albar965
Copy link
Owner

Makes sense. But I'm a bit too busy fixing 3.0 stuff and updating the user manual. I can either put this into a 3.2 (not soon) or one of the smaller 3.0.X releases. Have to see.
But I'd like to enhance the interface for sure.

Happy New Year to All!

@albar965 albar965 self-assigned this Dec 27, 2023
@albar965 albar965 added this to the Release 3.0 milestone Dec 27, 2023
@albar965 albar965 modified the milestones: Release 3.0, Release 3.0.5 Mar 11, 2024
@albar965 albar965 removed this from the Release 3.0.6 milestone Mar 31, 2024
@u-an-i
Copy link
Contributor

u-an-i commented Jun 8, 2024

@bkielczewski the web API is not extended / adjusted yet. But the content in your request looks sensible to me and I would implement them 🙈 some time . It requires quite a bit of digging in, planning / documenting, collecting and writing code for the output which I might not invest in the near future.

However i used unexpectedly a lot of time to update the LNM ootb web ui behind the scenes functionality and documentation, ie. the web folder inside LNM's installation, see its subfolder plugins and the fact the HTML files got sorted into folders.

You might want to checkout branch release/3.0 and copy its web folder to your LNM installation moving the web folder therein already somewhere else before.

@bkielczewski
Copy link
Author

@u-an-i Thanks for thinking about this. I understand it's not a small ask and it will take time. Whatever you do it would improve things a lot though for my use case and I'm grateful for the effort.

I saw the web content from release/3.0 branch, good work. MSFS+VR have some specific requirements though, UX and technical (i.e. this in-game browser is very limiting), so that's where project like mine comes in, with some additional integrations added on top of that. It all could happen because LNM has everything that is needed, it's just this integration (API) that could be better.

Currently I prepare a minimal web content, LNM fills it with HTML tables, and then it's parsed by me. Since it's a presentation layer, the tables depend on all regional settings LNM runs with and table column settings inside app. I.e. since 3.0 some columns in flight plan are now hidden by default, so no way of getting a waypoint coordinates unless turned back on.

If I had endpoints with JSON containing all the sensible data needed in locale-independent, standard units, then it wouldn't be all so tightly coupled and prone to errors. I could remove a lot of code on my end too as a bonus.

Lastly, there are the features people are asking like the one I mentioned about the ability to switch current map, navaid frequencies around a point and so on.

Anyway, whatever you can do to improve the integration bit would be really appreciated. I can of course help with testing if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants