Discussion ICARUS Terminal (Pre-Release)

title.png


download-button.png

ICARUS Terminal is an immersive second screen experience, that also has useful and unique functionality with real time, context sensitive information (e.g. based on location, equipment, cargo, materials, ship status, etc), including notifications for significant events. It is free, open source software.

ICARUS Terminal works well for commanders in the bubble assisting with navigation, engineering and notifications. Commanders exploring out in the black using a tool like EDDI configured with EDSM can use ICARUS Terminal to view the systems they are in - the system map automatically updates anytime you scan a body or honk - and can use the route planner to view systems they (or other commanders) have already explored and plan refueling stops.

The application integrates with the game without any configuration. It's a Windows application that also supports remote access via a browser, from other computers, tablets or phones. The interface is fully scalable (e.g. with CTRL + mouse wheel or DPI settings) and adapts to different screen sizes and orientations and display scenarios (from VR to Ultrawide to mobile phones) and you can customize the appearance using the in app interface, with the option to use different themes on different devices or to sync theme settings across multiple devices. You can run multiple ICARUS Terminal windows on the same PC and set them to display different panels, which is useful if you have a multi-monitor setup. It also supports full screen and always-on-top mode, which is especially handy for ultrawide screens, multi-monitor and VR setups.

It is a lightweight, standalone native Windows implementation with opt-in auto-update notifications. The download clocks in at around 20 MB. It was created with Next.js/React, Node.js, Go and C++ and uses sockets for real time communication. The core is cross platform - it is actively developed on Mac, Windows and Linux - with simple instructions for single step build process on if you want to build it yourself.

It's still an early and incomplete implementation and is should be regarded as being in early access but it's a little different to anything that currently exists so I thought I'd share progress as I go. If you do install it, note that it will check for updates at startup and give you the option to install them, and that you should be able to upgrade from any pre release build to newer builds, including the full release when it is available.

I'll be using this thread to continue to post updates until it hits v1.0 release then I'll make a new thread.

Screenshots

These are examples of screens from ICARUS Terminal. The interface is designed to work well on displays of all sizes and orientations, to be fully saleable and to be responsive and animate smoothly on inexpensive devices (e.g. Amazon Fire tablets, other Android phones and tablets, Chromebooks...).

nav-map.png
nav-list-min.png

ship-status.png
nav-route.png

materials.png
blueprint.png


ICARUS Terminal icon font

To assist with developing the UI, I've also created an Elite Dangerous font leveraging remixed assets from edassets.org as well as all new icons.

You can find the icon font in the GitHub repository.

Icons.png


Credits

ICARUS Terminal would not be possible without work from dozens of enthusiasts and hundreds of open source contributors.
  • The name ICARUS was suggested by SpaceNinjaBear on Reddit
  • I'd like to express appreciation to Serge Zaitsev for his work on the WebView library
  • The loading animation is by James Panter
  • ICARUS terminal includes original icons, icons modeled on in-game UI elements and icons based on those from edassets.org
  • Uses stellar cartography data from the wonderful EDSM API
  • Uses data collated and provided by EDCD
  • The Jura font is included under the Open Font License
ICARUS Terminal uses imagery from Elite Dangerous, which is copyright Frontier Developments plc. This software is not endorsed by nor reflects the views or opinions of Frontier Developments and no employee of Frontier Developments was involved in the making of it.

I am extremely grateful for the existence of the Journal and JSON API and level of support third party developers have been afforded by Frontier. This is open source hobby project and it is not commercial software. While this has been created entirely in good faith, it would be great to get a steer from anyone officially as to what is permissible in practice. I'm of course more than happy to make any changes requested by Frontier. I am able to receive messages here or at me@iaincollins.com.

Feedback


I'm interested in feedback about if you are having problems running the software for reasons outside your control (e.g. it's not detecting game files or is crashing or is not working on a device it could reasonably be expected to work on or the information displayed seems corrupted or the UI is doing something that seems janky). Thank you to those who have reported issues, and included screenshots to illustrate issues.

I'm not currently looking for bug reports about things like incorrect or missing metadata for ship modules, star systems, materials, blueprints (etc) - there are known issues and at this stage in development things change so quickly it's not worth tracking them. That sort of info will be useful to track closer to release of v1.0. I will update this section when we get there.

Regarding the technical implementation, nobody is interested in hot takes like 'you should have used X framework instead of Y' or 'you should have written the code like this instead' armchair software development - don't be that guy! Well informed / constructive feedback is welcome though (e.g. 'you might find this library useful' or 'you can find data for X here').

Future Plans

It's always fun to explore ideas and make suggestions for improvement, discussion about ideas and features is always welcome!

Examples of things on the immediate horizon are improvements to the Engineering panel to list and track Blueprints and Materials collected for them and to expand the UI with more information (e.g. Commander stats, Credit Balance, Backpack / Suit and Personal Weapon Engineering, additional Navigation data, etc).

In the future, I'm interested in adding a 'Comms' or 'Home' panel with information about community groups, such as Fleet Carriers for support via the Deep Space Support Array (DSSA) or trips by members of Fleet Carrier Owners Club (FCOC).

In the longer term (beyond the scope planned for v1.0, over the course of 2022) I would like to add more features for deep space exploration, trade, mining, community goals, active participation in the background simulation and am particularly interested in exploring possibilities for player generated missions.
 
Last edited:
This really should have had the "In-Development" tag I guess! Oops.

Will try and remember to get that right when I post a full release announcement for v1 (probably over the Christmas holidays).
 
Found this recently and I really like it! I look forward to seeing this grow!
Thanks! I hope people like it as I build it out!

In the update I pushed out today, the system map view is a lot more useful (it's interactive, displays information about the current system, services, planetary environments etc).

Still lots to do, but it's in a good place for me to be able to wrap up for version 1.0 over the coming holidays I think.
 
Thanks! I hope people like it as I build it out!

In the update I pushed out today, the system map view is a lot more useful (it's interactive, displays information about the current system, services, planetary environments etc).

Still lots to do, but it's in a good place for me to be able to wrap up for version 1.0 over the coming holidays I think.
I'll definitely keep an eye on this project!
 
I'll need to remember to try this out.

EDIT: Hey, I downloaded it and windows said I was getting too close to the sun and my wings might melt.

No, its cool. I know hot to tell windows to stop "helping" me. Will play around with it.
 
Last edited:
So this is cool. I do have a use case that is maybe niche.
I use an ultrawide monitor to play the game on and my secondary monitor is turned to portrait mode. As such the terminal does not fit on the monitor and I can't shrink it to do so.

I like that I can click on the map to get information and even see the log. I'll see about fitting this into my normal use. See how well it integrates.
 
So this is cool. I do have a use case that is maybe niche.
I use an ultrawide monitor to play the game on and my secondary monitor is turned to portrait mode. As such the terminal does not fit on the monitor and I can't shrink it to do so.

I like that I can click on the map to get information and even see the log. I'll see about fitting this into my normal use. See how well it integrates.

Thanks! Hey that sounds like a great use case.

I'll rolled out an update that removes the constraint on the Window size (and adds some other features) so you can shrink it to any size now. That constraint was initially in because older releases didn't support portrait displays that well and the Window didn't really work at smaller sizes, but I just improved that so I think it's fine now.

If you run the app it should give you the option to install the update automatically.

You can scale the UI using the CTRL key and the mouse wheel - and you can also open up windows a browser using the URL displayed in the launcher. The option to scale the UI should be a feature at some point, CTRL+mousewheel should work for now.

You can also open as many ICARUS Terminals as you want, so you could pin multiple windows above each other with different views. When there is a bit more functionality that might actually be useful.
 
Really loving the updates you're pushing out for this app! Will there be a search function? I know you can do http://localhost:3300/nav/map?system=Sol but searching would be neat.
Oh for sure! I'm still working out how exactly that is going to look, so that the same UI design works across different panels (Navigation, Trade, Logs) so it's easy to switch across and link between panels (e.g. to view trade data for a system, or open the map for a system from the trade view), I think that will drop before Christmas though.

I'm thinking of adding a Bookmark system too. It's a shame there isn't an API to interact with Bookmarks, so they will need to be their own thing, but it should be easy to make it possible to import and export them from any format / service.

Oh I just added Planetary Port and Settlement (etc.) icons as overlays on the System Map for a bit of actually useful functionality. Will expand on that so you can see more info in the Inspector Panel on the right hand side when you click on a planet (right now it just lists the facilities and you have to use the List view to select a planetary facility).

map icons.png
 
Thanks! Hey that sounds like a great use case.

I'll rolled out an update that removes the constraint on the Window size (and adds some other features) so you can shrink it to any size now. That constraint was initially in because older releases didn't support portrait displays that well and the Window didn't really work at smaller sizes, but I just improved that so I think it's fine now.

If you run the app it should give you the option to install the update automatically.

You can scale the UI using the CTRL key and the mouse wheel - and you can also open up windows a browser using the URL displayed in the launcher. The option to scale the UI should be a feature at some point, CTRL+mousewheel should work for now.

You can also open as many ICARUS Terminals as you want, so you could pin multiple windows above each other with different views. When there is a bit more functionality that might actually be useful.
That's super. It works, too. It was only a sliver smaller is all I needed. Now I can make it fit. Thanks.
Good thing you posted. I forgot and seeing this reminded me to start it up along with voice attack (which I also always forget to start up). Need to find a way to have it all start at once.
 
I'm going to take it that the CMDR, SHIP, TRADE and COMMS tabs aren't working on purpose and not me having not done something right.
 
Last edited:
I'm going to take i that the CMDR, SHIP, TRADE and COMMS tabs aren't working on purpose and not me having not done something right.

Yeah, sorry! I'm still porting across the CMDR, SHIP panels from a prototype (I posted some shots of those elsewhere, but haven't started on TRADE and COMMS in earnest).

If it's less confusing / weird I can just remove the tabs that aren't done at all yet and then enable them as I go - I just wanted to give folks an idea of direction / intent!

There is are couple of features I think could be great but not quite ready to talk about those yet as I want to see how far I get with the basics before sharing ideas.

My current goal is to complete the tabs that are there to a reasonable standard of usefulness between now and over the holidays and to take stock then.
 
@Flash Moonboots do you think you could add interface & view compatible with the G19 screen?
Oh the Logitech G19 keyboard screen? Hmm that's probably out of scope as I expect would require specific development effort for it and I don't known a G19 keyboard, but the good news is someone else has made one of those and it looks pretty cool!

Source: https://www.reddit.com/r/EliteDangerous/comments/38evfx/i_built_a_companion_app_for_the_logitech_g19s/
 
Yeah, sorry! I'm still porting across the CMDR, SHIP panels from a prototype (I posted some shots of those elsewhere, but haven't started on TRADE and COMMS in earnest).

If it's less confusing / weird I can just remove the tabs that aren't done at all yet and then enable them as I go - I just wanted to give folks an idea of direction / intent!

There is are couple of features I think could be great but not quite ready to talk about those yet as I want to see how far I get with the basics before sharing ideas.

My current goal is to complete the tabs that are there to a reasonable standard of usefulness between now and over the holidays and to take stock then.
No, its fine. That's what I was thinking. Just wanted to be sure I didn't forget to do something
 
Oh the Logitech G19 keyboard screen? Hmm that's probably out of scope as I expect would require specific development effort for it and I don't known a G19 keyboard, but the good news is someone else has made one of those and it looks pretty cool!

Source: https://www.reddit.com/r/EliteDangerous/comments/38evfx/i_built_a_companion_app_for_the_logitech_g19s/
I've been using it for quite some time now, but it's a little odd for some people and gets many bugs here and there
I like your design and it provides many other info, so ... yea i'm interested to see your tool once it's fully functional.
 
In the latest series of updates I've added some new features, bug fixes and visual improvements to the system map.

You can now search systems from the interface. This is a simple feature, and it does not yet have auto-complete, but it's functionally useful. The design will be revised, but it seemed nice to have something in to allow that for now, even if it's going to change later.

The system map now renders stars based on their spectral class (with support for all known classes) and improved and expanded textures, including for rocky/icy bodies and an explicit new texture for gas giants. The textures are are seamless tiles to allow for animation in future - these are implemented, but not currently enabled, as is a performance hit on slow computers / devices (e.g. cheap android tablets) and don't want to enable it by default until there is an option to turn off animations in the UI.

Information about stars, planets and rings has been expanded in the inspector panel.

This release also includes bug fixes for edge cases and complex systems and historical anomalies (e.g. systems with planets that have been renamed since release).

Screenshot (1603).png
 
Last edited:
Back
Top Bottom