TrainMon5 is an abbreviation of the words "Train Monitor HTML5". HTML5 is the 5th revision of the HTML markup language that is used to provide structure and presentation to most of the websites you see today.
TrainMon5 is the next evolution of rail monitoring software for railfans. It provides access to semi real-time data about the locations of nearby trains to help give you the edge in your sport of train watching by allowing you to determine where the best spot to view or record your next train.
Development for TrainMon5 began in 2016 and went live in 2017. It was introduced as a cross platform web-based solution to allow train hobbyist to be able to track nearby trains for railroads that utilized the ATCS (Advanced Train Control System) technology over radio antenna transmissions.
TrainMon5 is not a replacement of ATCSMonitor, only an extension of it. TrainMon5 is tied to the same back-end server aggregators (with permission) that ATCSMonitor uses. As such, TrainMon5 cannot function without ATCSMonitor. Also, TrainMon5 does not have all of the capabilities that ATCSMonitor has, only the pertinent ones for enabling web-based monitoring.
Per the authors suggestion, think of TrainMon5 as being an integration of both ATCS and a where/how/go to guide for general railfanning and places of interest.
In the client-server model, TrainMon5 works by contacting an active ATCS data feed server, receiving data from it and then transforming that data it into a object oriented data structure which then can be transmitted over the web to connected users. Once the data is received by the client the data is mapped to a graphical layout either built by the end user themselves or by using a pre-built layout provided by a TrainMon5 layout author.
In a railfan's ideal world, all rail lines would be monitorable, but ideals are one thing and reality is another. TrainMon5 only works for railroads that utilize data protocols that operate over the public airwave frequencies. Some railroads use other means such as satellite and/or cellular communication and thus those railroads cannot be monitored.
TrainMon5 reads the CTC data feeds provided by the ATCSMonitor software and transforms the data into a format that can then transmitted over a web socket connection to the client. The end client then takes the received data and then logically maps it to a graphical layout that represents track elements and signals similar to what a dispatcher would see. TrainMon5 is only as accurate as the data it receives from ATCSMonitor and depending on the radio signal reception for an area, the display may not always be accurate.
TrainMon5 is a read-only application. It provides no method of outbound communication over any CTC frequency and therefor absolutely cannot be used to perform CTC related functions that could cause interference with real CTC data communications. While the application does have an interactive interface that allows users to clear switch and signal indications, this behavior is only visual and only exists to allow end users to clear faulty data off of their display. Interfacing with the graphical layout has absolutely no effect in the real world. TrainMon5 only provides general data related to the "exterior" of trains and their routes. It cannot provide information related to the cargo of a train, crew information, or any other specifically detailed information that a person could attempt to use for unlawful or malicious means.
Simply put, TrainMon5 poses no more of a safety risk than an at-grade railroad crossing. While some people might be led to believe that a program allowing you to know where a train approximately is and where it is set to go may make it easier for a person to malicious using such a tool, but this is simply a faulty assumption.
TrainMon5's behavior falls along the same lines of applications like "Flight Aware ®™" which allows persons to track an airplanes location status, and some of the major airlines provide similar apps to their customers also. Like TrainMon5, those applications do not provide access to crew information, cargo information, etc. If a person wanted to be malicious they do not need a program like TrainMon5 to do so.