# Integrated circuit programming overhaul ## Problem The current implementation of circuit programming has several UX issues that make it unnessesary complicated to work with circuits. * The need to print modules to support some operation is bad because you have to switch your focus from programming to finding, printing and installing the correct module (and sometimes finding materials to print them) * It's unintuitive, because in the real-life programming you have all your tools in your IDE and you don't need to manipulate hardware to use some basic operator in your firmware * It's a bit weird that you work with a complex UI through a multitool that doesn't have a big screen. ## Idea 1. Remove circuit frabricator and components as items or leave only a few of them, that are needed to provide network capabilities or to interface with something. Utilize circuit imprinter machine for all of these instead. 2. Remove multitool. 3. Make circuit programming into an NTOS application that runs on laptops and static NTOS consoles. 4. Connect with integrated circuits via USB cable or NTNet from that software 5. The Circuit Programmator Application should have all modules available without any physical need to install them. To lock the pool of available modules, we can use sync with techweb and make it work like operating computer works with the list of available operations. 6. Remove module duplicator. Use data disks to copy-paste firmware to other circuits via the NTOS file manager. 7. Make Laptop with application work as a shell, to be able to run a program directly from laptop by connecting it to things via USB cable. * If the laptop is connected to a machine that supports USB, it works as a portable shell. * If the laptop is connected to a shell with circtuit, or directly to a circuit, it works as a programmator for that circuit ## Impact on the game * These changes should make the circuit programming more intuitive, less frustrating and easier to onboard with * It will make it work similar to how some other mechanics already work in the game, providing consistency * It will remove the hassle with components that was a major blocker for creativity * People may use integrated circuits more and for different use cases because it will be more approachable * Laptops will get a niche use case, as portable programming devices or shells that can connect with circuits or equipment by USB cables * Allowing circuits to be programmed remotely via NTNet may provide other interesting use cases