First please excuse me not reading the last dozen pages of posts. I'd like my initial feedback to be untainted by whatever discussion has taken place thus far.
As you can see by my signature I've written a route planning application for use with Elite Dangerous and so will be partially focussed on that.
Rather than just stating the data required please allow me to babble on a bit about the form I think the API should take as well.
API - To fit with the game universe or not?
You risk making data available beyond what is readily useable in the game and therefore breaking the immersion factor for those that insist on not using any crowd sourced data. There are two approaches to dealing with this. The simplest is just to allow anyone access to the data and forget about it. The other would be to integrate the API with the game universe via authentication.
To explain further. A user would authenticate with the API (via their app of choice) and would only have access to data their character has available in game.
The obvious downside of that is then policing how that data is used and if it gets made available to a crowd source solution. It would also involve policing existing style applications that scrape data from the game via OCR, etc
The advantage is you could add some for of in game explanation of the data feed. Eg the Commander is charged a monthly fee (in advance) for access to certain data via the API. Perhaps that's Galnet providing aggregated exploration data, or some market research group providing trade data beyond what the user has access to via buying Trade Data.
Now that's over with I'll cover the areas I would like to see the API cover whether it's authenticated or not.
General API Areas
- Navigation
- Trade
- Ship Fitout
- Friends
Navigation
Whilst trade is the most popular ATM I'll focus on Navigation first since that's what I've spent the last few weeks dealing with.
If the game were to have a better route planner (feel free to borrow my code) then this may not be needed, though it could still provide a user with added immersion via TTS, etc
Example applications
Community API efforts
Two options exist for this data.
- Provide a dump of all 4 billion systems. Along with periodic updates for changes.
- Provide an API to query a subset of the data (though you can expect folks to aggregate it anyway).
I'd expect the subset to be in the form of a bounding box/sphere.
IMHO A dump with periodic updates would be simpler to implement.
Data Required for basic functions
- System Name
- System Coordinates
Bonus Data for extended functionality
- Scoopable Star
- Permit required
- Controlling Alliance
- Refuelling services available with any pad size restrictions
- Stations
- Bodies
Trade
Trade data is currently the most popular based on my observations. I'm sure one of the authors of the trade apps will have more input than myself on this, but I'll cover it in brief.
Example applications:
Community API efforts:
- EDDN - an attempt to provide a relay for market data gathered from the game either manually or via OCR.
I'd envisage an API where you could query data for a single station. 3rd party sites would no doubt handle aggregation/relay of such data.
Data Required for basic functions
What you see in the commodity market screen!
- System name
- Station name
- Commodity Buy/Sell Demand/Supply etc
Bonus Data for extended functionality
- Stolen goods data
- Station pad sizes
Ship fitout
Example applications:
I'd suggest contacting
the author directly if he doesn't reply to this thread.
Friends
Certain friends data is available in a log file now. Simply make that available via an authenticated API along with messaging support would allow 3rd party instant messaging.
Other
Handy thread for even more applications/community API references etc