Tech Updates: Triumphs and Tribulations (2024)

During the past two weeks, we’ve been working on updating several systems outside of the station itself, pinpointing the cause for Safari and iOS playback issues, and working through technical challenges. It’s been a lot, read on for more details.

Over the past 4 years, operational costs have ballooned, and we knew it was going to be a pain to migrate our web-based systems to a new machine, but that’s what we’ve been working through. Here’s some of what we’ve accomplished so far:

  • GensokyoRadio.net, Gensokyo.store, associated database systems, and the Gensokyo Radio forums have been fully migrated to a new machine.
  • Listener logging has been reattached to the existing radio network (3 regions).
  • The now playing WebSocket server has been migrated to a new machine
  • Web app responsiveness has increased (try loading album info, should be very fast)
  • Stream regional redirects are gone; we’re using fancy GeoIP tech to send listeners to an appropriate server, improving playback and device compatibility in the process.
  • Station song transitions have improved; a radio-like crossfade system has been implemented.

Here’s what we’re still working on:

  • Persistent login on the website. Modal login does not work, but using /login does; PWA login is unaffected.
  • Web server hardware was upgraded in-place due to tight RAM and space restrictions. Unfortunately, this appears to have knocked out the forums, so that’s being worked on now. This also causes very slow load time on the homepage of the website and PWA.
  • Load times can be further improved by utilizing regional caching; we’ll be looking into this more as the dust settles.

On the Safari and iOS front, we’re experimenting with a new endpoint that uses HLS, a streaming protocol developed by Apple, so it should just be a drop-in fix for folks who haven’t been able to tune in on iPhones. We’re still putting together the endpoint for this, and we’ll make it available in the next PWA update.

Finally, there are some smaller loose ends to clean up. Through the migration process, it’s become very clear that the website also functions as the auth server for all connections. We’d like to look into architecting the existing system so that connections can still be made regardless of web server status (with the sole exception of Indigo which will still require active auth).

That’s all for this week (x2). Thanks for sticking through this process, we hope it’s worth the trouble for all the listeners and artists out there. We’ll be back soon with more, so thanks for listening!

[Knowledge #169]