I’ve decided to work on recreating the Roller Derby software from its current (and very useful) incarnation in JavaScript/Electron, to C# (using Windows Presentation Foundation). There are a few key reasons for this:

1: Performance

Native code FTW. I’ve already got some of the UI rebuilt using WPF, XAML, and C# code, and its performance is far better than Electron. (I decided on Electron because I know JavaScript very well, and needed software on a really tight deadline.)

2: Video Capture and Overlays

DirectDraw video capture is faster than running through Chrome. I’m using Aforge, which made it really easy to get that up and running. Then, when I learned more about WPF, I discovered I can do most of the same things (probably all, with more effort) that I did in Electron, such as overlays of scores, messages, etc.

3: Development Time

This may not be entirely accurate: Though I wrote the code entirely in JavaScript of the current software, that also required designing what the software would do over time. Now that I know exactly what the software needs to do, the development time in C# will be reduced dramatically.

I still need to get peer-to-peer/webRTC working in C#, plus, figuring out a way to get two instances of development code running on the same computer (to test local-host connections before over a physical network).