Discussion ICARUS Terminal (Pre-Release)

Hello Flash,
I really like this tool and the direction it is taking.
I do would like to make a suggestion with the UX at engineering?
At the moment it is not obvious what material is full or nearly full.
Could you make it so that when a material is not yet full the name is displayed in white?
Or maybe even an option to not display the materials that are full?
Thanks for your great work and effort.

Icarus 030 engineering panel - not enough contrast.JPG
 
Hello Flash,
I really like this tool and the direction it is taking.
I do would like to make a suggestion with the UX at engineering?
At the moment it is not obvious what material is full or nearly full.
Could you make it so that when a material is not yet full the name is displayed in white?
Or maybe even an option to not display the materials that are full?
Thanks for your great work and effort.

Hey I've actually just rolled out an update with some small improvements to this, they are muted if you don't have any of a material, appear in the default color (as they are above in that screenshot) if you have some but are not full but now will display with a highlight color if full, so it's easy to identify.

The implementation might change in future - there are some other scenarios where color could be helpful here and want to think about what I'm going to do in those cases - but it should be easier to tell what you are out of and what you need to use up or trade.

Additionally, the Blueprints view just got an update and the Blueprint list view now shows Blueprint that are currently applied, and from the Blueprint view you can see what modules they are on (this is the inverse of the Ship modules view, which lists them by module). It should also fix an issue whereby the material stock changes when it's used up during engineering, but I haven't tested that functionality yet (I need to go engineer something with the Blueprint panel open and see if the values of stock change).

I've still only done less than half the things I want to in the Engineering panel, but this is useful functionality that is a step in the right direction.

I know the engineering blueprint names are not 100% correct and detailed stats, engineers, etc are not displayed (even though the info is there) and there are no details for experimental effects yet. However, I am interested in reports of core functionality on any view not working as expected (i.e. data not updating, hanging, modules or blueprints it fails on, etc)
 
Last edited:
Release Notes for v0.3.4

Changes from v0.3.1-v0.3.4 are rolled into these release notes.

Engineering Panel

  • Blueprint list view now highlights which Blueprint are currently in use
  • Blueprint detail view now highlights which modules have that Blueprint applied to them and what level of engineering each module has
  • Materials view now highlights when you reach max capacity on a material
  • Exciting functional improvements and bug fixes to Engineering panel, especially Blueprints and Materials views
  • Material counts should now be updated in the inventory automatically when collecting, discarding, trading, or consuming materials.

Other Improvements

  • Fixes for screen resolution detection across the app
  • External links in the Launcher now open in your default Browser (not always in Microsoft Edge)
  • Cosmetic improvements to background of System Map
  • Improved visual FX (should also improve visual performance on slower systems when rendering on a device like a low power tablet)

Notes

The material count functionality is under review, it passed multiple rounds of testing with Engineers and Material Traders but it's possible there are still underlying issues that may crop up with this functionality (e.g. with event sequencing). Multiple issues were uncovered and resolved which is why there were several small updates in sequence, culminating in v0.3.4.

The API makes working with materials harder to do than it could be as you need to replay a range of differently formatted log events in the order the occur and trigger messages on clients (though is much easier for most of the Odyssey materials) and getting the timing right is what makes it so troublesome.

The game itself sometimes has trouble in game reflecting correct inventory values in the UI so ICARUS Terminal is at least in good company.
 
Hi, I have installed the new update and ran a new terminal but it seems to think I am in a different system to where I actually am.

Is this normal or has it not read the log correctly?
 
Hi, I have installed the new update and ran a new terminal but it seems to think I am in a different system to where I actually am.

Is this normal or has it not read the log correctly?
It should update every time you jump, but it currently relies exclusively on ship jump log entries (which is fine 99% of the time).

Other methods of travel are not supported yet though so using a long range taxi, being blown up, being detained and transported to a detention ship, ejecting from a megaship or jumping in a carrier will cause it to lose track of your location until your next jump, and the map should still show the last system you jumped to in your ship.

These are known limitations that I plan to address probably fairly soon, as I want to display much more specific current location info for commanders in the title bar, including current location / coordinates / planet name / settlement / station / etc as appropriate to context, alongside credit balance, bounty status, etc.

Other limitations to be aware of:

Joining another ship via Multicrew is not currently explicitly supported and ultimately may never be explicitly supported. This is TBD but basically it's hard for me to test it and I don't think the current API even exposes the info required for ICARUS Terminal to players who join via Multicrew.

Using two commanders on the same Windows users account can also cause anomalies and is not currently supported. Mostly it will work as the game uses the latest info, but there are situations where data will bleed through from one commander to the next. This is fixable but is a decent chunk of work for something that impacts a small percentage of users and has an easy work around (i.e. run the other commander a second user account in Windows - you can even create a shortcut to do this from your main account, and is actually a better user experience anyway as you don't have to re-login via the launcher to change commander).
 
Last edited:
All the above mentioned are really nice to have in the coming release! That's quick. Orzz Hat off to ya!

BTW, for the station info, i think a line telling the controlling faction would be nice for CMDRs looking for specific one to dock.
Quick update on this as I think I might have missed mentioning this in the release notes, but that has since made it into one of the releases over the last week or so!

Stations, Outports, Ports and Settlements now display their controlling faction.

I'm thinking of adding a small info panel to the bottom of the system map with some additional info, such as indicating interesting bodies, buttons to cycle through next/previous hops on a route, etc and that might be a good place to have a toggle to list all factions (and where they are located).

The list view could also a good place for useful info. The game has icons in the list view, but they are not terribly useful. It would be handy to have a list view highlight icons for places where you are wanted (as the game already does) but also places that have an interstellar contact at a friendly station where you could clear a bounty if you have one, especially for those annoying friendly fire incidents, and maybe also planets by type (e.g. using the colour scheme / legend from the in game Full Spectrum Scanner).

I'm thinking of adding something like this as a single small line along the bottom of the system map - with a numeric value inside the coloured circles to indicate number of planes of each type in a system - as quick way to see if there is anything worth checking out while exploring.

r/EliteDangerous - FSS Frequency Array Diagram | Now with patterns!


Very interested in other ideas for things to highlight on the Navigation map, list view or in the inspector!

Probably best not to have too many icons or colours as would get harder to read but scope for some useful info, e.g. if you have cargo, highlight stations where you could sell it (using market data). I'm not sure if all the sites that hold this data have it in a suitable API (unlike EDSM, which is amazing).
 
Last edited:
I have jumped a few times since then and it still stays the same. I have not changed my install etc. which is why I mentioned it.
Interesting! Curious to know if the Log panel has entries and updates when you jump and if other info (Ship, Materials) look correct.

It would also be interesting to if the info in the Launcher looks like it's populated with recent info, and to confirm if this happening in a Terminal started from the Launcher and/or from a browser.

v3 launcher.jpg
 

Release Notes - v0.3.5​

🎨 New Feature - Customizable UI!​

  • You can now configure each device you have to use a unique theme!
  • The option is accessible via the icon in the header - in the top right, next to the full screen toggle button
  • You can fully customize the primary and secondary colors and independently set the contrast for each color
  • Settings are 'per device' / 'per browser' and will sync across windows in real time
This means all the instances on your PC will have the same appearance, and other devices (e.g. remote terminals on android tablets or other computers, etc) can have their own theme. This is useful to account for different color profiles, display proprieties, contrast/gamma settings, etc on different screens.

Note: iOS devices (iPhones, iPad) and macOS systems have some limitations in their version of WebKit, specifically older versions of Webkit Apple have released on iOS and macOS don't support a color picker so you'll need to be running a recent version of iOS/macOS.

Engineering Panel​

  • Includes improvements to Blueprint list view to improve appearance and make better use of screen space
  • Includes improvements to Blueprint detail view to improve appearance and make better use of screen space
  • Addresses some rendering issues, including some issues impacting Firefox and Safari
  • Now uses secondary color to highlight when storage for a Material is at maximum capacity

Ship Panel​

  • Includes compatibility fix for rendering in Safari
  • Includes UI improvements to Ship Modules view

Navigation Panel​

  • Reworked System Map background to incorporate secondary theme color for color grading
  • Improved Route view (removed header from data table to de-clutter view and make better use of space)

Other​

  • Minor improvement to initial rendering of data tables across all views
  • Improved appearance of inspector panels (Navigation & Ship panels)
  • Improvements to rendering in Safari and on iOS devices (all browsers) - still some issues, in part due to browser limitations
  • Improvements to rendering on Firefox - still some issues, in part due to browser limitations
theme 1.PNG

theme 2.PNG

theme 3.PNG
 
Another new release (v0.3.6) is out, you can find the releases notes here.

Nothing exciting really, just a bunch of small quality of life improvements and minor cosmetic bug fixes. It will reset any currently applied themes, but includes changes to the underlying system for handling themes that should make this easier to avoid in future (and themes should now look even better).

Startup times might be a bit quicker for folks that play quite a lot and have slower hard disks as I've reduced the amount of recent activity data it loads at startup.

I'm interested in perceptions of performance if anyone has any feedback.

I am deliberately not keeping an up to date issue list on GitHub at this stage, as I don't want the overhead of having to manage one now, but if folks in this forum are interested in what I'm working on or would like to comment on this / suggest things, I'm keeping some notes on things I've been thinking about recently here https://github.com/iaincollins/icarus/blob/main/resources/notes/development-notes.md
 
I am really enjoying watching this develop. I haven't experienced any performance issues with it, my anti-virus was insisting on scanning each new download a couple of times prior to updating but adding it to the exception list has hopefully sorted that. I know its a big task but are you considering adding of foot materials to the app at any stage?
 
just checked the time it took to start the tool (0.3.5).
from double clicking the icon to ready was about 20-25 seconds.
My CPU is a Intel i7-8700K
1643816061222.png

After download and install of 0.3.6 i restarted the tool and it finished in about 10 seconds flat.
However there were a lot les entries to read?
1643816306918.png

I'll try again after I restart the computer.
EDIT:
after restarting the computer and starting the tool it takes about 20 seconds to load the data.
Do find it strange the difference in log files read between 0.3.5 and 0.3.6?
 
Last edited:
You're putting in so much effort into this, I love it! What else do you have planned?

Thank you! I'm not totally sure what's next actually and open to ideas on what to prioritise...

There are a bunch of obvious seeming nice-to-have incremental improvements to all panels I might slowly chip away at, stuff like surfacing factions, adding Odyssey engineering, info about where Engineers are, nearest Interstellar Factors, Material Traders, that sort of thing.

I thought pinning materials / blueprints would be nice but it does depend on an app wide settings save system so I'd need to do some work to implement that (not too hard, but everything needs to sync up between devices/windows) so been putting that one off for a bit. (Theme settings are already saved but that's a slightly different save mechanic as it's a per-device setting).

I think MOST likely up next is replacing the bit of text in each terminal that just says "ICARUS Terminal" with some useful info, like current location (inc. co-ordinates) bounty info (both collected vouchers and any bounties on you), credits, etc. If there is enough info could add a Commander Panel but I'm not sure what other interesting info the game exposes, beyond Ranks, that I could stick in there (IIRC you can't easily get the Codex stuff really, which is a shame). This work would also involve improving how it works out your current location (e.g. if you get a Taxi) and if you are on your own ship, or someone else, so would be nice to addresses those existing edge cases anyway.

I am increasingly tempted to add back the "Comms" panel. If there is not enough info about Commanders exposed to justify it's own panel, I was thinking maybe it could be some sort of Home panel that combines info about a Commander with some news, then as well as obvious stuff (like Galnet articles) may also include easy to guides for things to go do and see - which could link through the map on the Navigation panel - and external to open (and maybe play in the app) various Podcasts and YouTube channels that regularly post about the game. Very open to ideas for things!

I am putting off the Trade panel as it's a lot of work to make it anywhere near as useful as existing tools, while still having a simple interface, and it would 100% depend on an external API (although so does the System Map right now, it uses mostly EDSM data) but I might give it a go later.

There are also some boring internal bits in the back of my mind around performance / memory usage (to do with how it parses events) but it depends on what folks experiencing of using the app is to judge if it's worth the effort (it's also boring to do and wouldn't improve the capabilities of the app, and refactoring would probably break stuff so I'm not super keen on doing it unless it's really warranted.
 
I am really enjoying watching this develop. I haven't experienced any performance issues with it, my anti-virus was insisting on scanning each new download a couple of times prior to updating but adding it to the exception list has hopefully sorted that. I know its a big task but are you considering adding of foot materials to the app at any stage?
Thanks for that feedback, real useful!

Oh good shout about the Odyssey stuff, yes I plan to add it do the Engineering panel!

It's currently annoying to calculate ship engineering materials, as you need to get the list in the log entry that is recorded at startup, then get all Collected, Discarded, Traded, Consumed, etc events since that timestamp and replay them to work out how much of each material you have (which is very tedious). The formats of the messages do not use consistent conventions and the journal API doesn't fully document them so I had to go out and collect materials, find traders, do crafting to test it all.

This sort of event processing just to keep the running total updated is also why the app has a Launcher and doesn't just open a new terminal when you click the icon, as there needs to be process kicked off to handle doing this (on Windows most software installs a service to do stuff in the background like this, but I didn't want to do that in this case for a few reasons).

The good news is it looks like this is a lot easier for the tradeable Odyssey materials which are just written to a file (hooray!), although annoyingly it seems is not any easier for things you need that are not tradeable (e.g. Power Distributors, Schematics) - which are also the things you would probably want to track, so this might be something that ends up being done in stages.

I'm also not sure if anyone has done the work to creating a list of all the Blueprints and Upgrades for Odyssey items yet. The wonderful Elite Dangerous Community Developers repos (e.g. coriolis data) was a great source of some of the info for Ship engineering, but found similar data for Odyssey yet (pointers appreciated!)
 
just checked the time it took to start the tool (0.3.5).
from double clicking the icon to ready was about 20-25 seconds.
My CPU is a Intel i7-8700K
View attachment 289417
After download and install of 0.3.6 i restarted the tool and it finished in about 10 seconds flat.
However there were a lot les entries to read?
View attachment 289424
I'll try again after I restart the computer.
EDIT:
after restarting the computer and starting the tool it takes about 20 seconds to load the data.
Do find it strange the difference in log files read between 0.3.5 and 0.3.6?

Thank you that's very helpful. That's good news, yes version 0.3.5 imported the last 30 days worth of data since you were last active. Version 0.3.6 only imports the last 7 days worth of data so should take less time to start up.

It only takes 1-2 seconds to import 30 days worth on my computer so was content with that but aware not everyone will have PC with the same performance. It's highly dependent on your hard drive performance - and in particular if you have anti-virus software slowing things down. 10 seconds is still quite long though so maybe I'll tune this to the last 24 hours worth of data and see how it goes.

Initially the plan was to import all data once at startup and then use your old data to render maps, show what systems you had explored, etc but as it is, it mostly just uses real time data as it comes through and all it really has to do is import logs written at startup from the last time you were active and any new events that come through. (I ended up using EDSM to get system map data, instead of relying on old log entries as that works better and was less complicated.)

Although how it works in the app now could be improved (and data persisted after startup) I am a bit hesitant to refactor the code as it's a lot of work for not a lot of benefit. If in the next release I reduce the startup time to only load the last 24 hours worth of logs I think that should bring the app start up time to 1-2 seconds without having to worry about persisting data or further optimization in this area.
 
I think MOST likely up next is replacing the bit of text in each terminal that just says "ICARUS Terminal" with some useful info, like current location (inc. co-ordinates) bounty info (both collected vouchers and any bounties on you), credits, etc. If there is enough info could add a Commander Panel but I'm not sure what other interesting info the game exposes, beyond Ranks, that I could stick in there (IIRC you can't easily get the Codex stuff really, which is a shame). This work would also involve improving how it works out your current location (e.g. if you get a Taxi) and if you are on your own ship, or someone else, so would be nice to addresses those existing edge cases anyway.

To expand on this one a bit, implementing player location logic that was more than just at a system level would also unlock the possibility for player generated missions, using mechanics like asking players to go to different points, find specific facilities in specific systems (finding and visiting POIs such as crashed satellites, installations, going to stations to talk to bartenders, hunting pirates, sourcing materials, trading, etc) and generating story missions around them.

Initially I'll likely just embed some test missions in the client to see if it works, no need for a server side component, but if it works well and there is any interest I would really like to explore supporting (optionally!) signing in with a Frontier account to allow mission progress to handled securely and create interesting, potentially long running narratives driven by players.
 
Thank you that's very helpful. That's good news, yes version 0.3.5 imported the last 30 days worth of data since you were last active. Version 0.3.6 only imports the last 7 days worth of data so should take less time to start up.

It only takes 1-2 seconds to import 30 days worth on my computer so was content with that but aware not everyone will have PC with the same performance. It's highly dependent on your hard drive performance - and in particular if you have anti-virus software slowing things down. 10 seconds is still quite long though so maybe I'll tune this to the last 24 hours worth of data and see how it goes.

Initially the plan was to import all data once at startup and then use your old data to render maps, show what systems you had explored, etc but as it is, it mostly just uses real time data as it comes through and all it really has to do is import logs written at startup from the last time you were active and any new events that come through. (I ended up using EDSM to get system map data, instead of relying on old log entries as that works better and was less complicated.)

Although how it works in the app now could be improved (and data persisted after startup) I am a bit hesitant to refactor the code as it's a lot of work for not a lot of benefit. If in the next release I reduce the startup time to only load the last 24 hours worth of logs I think that should bring the app start up time to 1-2 seconds without having to worry about persisting data or further optimization in this area.
maybe i’m a very patient person, but in my opinion the start-up time is not something to worry about when under 30 seconds? I am also using “Captains log” and that takes about 3 minutes to read it‘s database of 1500 jumps. (Makes mental note to start a new database).
It is good to see that you’re full of plans for the future development of the tool.
May i suggest a small addition to the cargo screen: next to the total amount, to display the current jump range (based on cargo in ship)?
as always thanks for your dedication and hard work.
 
Other limitations to be aware of:

Joining another ship via Multicrew is not currently explicitly supported and ultimately may never be explicitly supported. This is TBD but basically it's hard for me to test it and I don't think the current API even exposes the info required for ICARUS Terminal to players who join via Multicrew.

Using two commanders on the same Windows users account can also cause anomalies and is not currently supported. Mostly it will work as the game uses the latest info, but there are situations where data will bleed through from one commander to the next. This is fixable but is a decent chunk of work for something that impacts a small percentage of users and has an easy work around (i.e. run the other commander a second user account in Windows - you can even create a shortcut to do this from your main account, and is actually a better user experience anyway as you don't have to re-login via the launcher to change commander).
but both of these are problems that have been solved before, arent they? i mean, EDDiscovery seems to handle these scenarios very well.

in that it just pretends you are still in your ship and doing the things you are doing in multicrew. this is fine enough.

and it can detect to which cmdr the logs belong to. there is even a dropdown.
 
Back
Top Bottom