Originally, I started the project trying to manipulate the display to copy the general design of FlightRadar24, a real-life implementation of the software. This was the first time I’d properly used and understood (to an extend) CSS, and it’s functionality. Usually, for a project like this, I’d use Bootstrap to do this – it allows for an easy-to-modify, responsive page design. Instead, I made the page using the absolute tag, and some fun with the left, right, top, bottom, width and height tags.
I added a sidebar to the left, which was originally going to replicate the FR24 layout, but instead I opted to display the aircraft information in an infobox – something that the Google Maps API natively includes support for. At first, I parsed the VATSIM data page for the details of the network, and also cached it and ensured that the file only updated when the cache had expired – after two minutes. This gave me a list of the aircraft, ATC and pre-filed flightplans, which I then placed in an JSON-based API. I complemented the data, with pages for each of them, with simple jQuery drawing a table with the data inside it.
I drew the aircraft markers onto the map, which thankfully had a SVG-formatted drawing function, allowing me to draw the aircraft on the screen as lines, as opposed to tiny PNG files, as FR24 does. Unfortunately, I couldn’t find any online copies of FIR maps, as VAT-SPY or other similar software use. In place of it, I wrote a script to convert the points found in VATSPY data updates, to JSON, so my script could query that.
Unfortunately, there are FIRs in VATSIM, where different sectors are designated by appending both the appropriate code and a hyphen (-) at the FIR name, and even worse, some sectors utilize non-standard codes, such as LON (as opposed to EGTT), NY (as opposed to KZNY) and more. I had to write a script in the FIR-points finder, to automatically accept these differences. Furthermore, I also found that some sectors, such as KZNY/NY, utilize the hyphen separator, and occasionally breaks the drawing layout. That being said, given I never created the FIR points file, I can’t complain – it was only borrowed for testing purposes.
I was going to implement, into the left hand sidebar, a VATSIM voice-server client, where browser clients could listen to a frequency live. VATSIM use the Roger-Wilco voice protocol still, but with their recent announcement on changing the voice-codec, I’ll hold on that.