POP Forums, it's not dead, I swear

posted by Jeff | Sunday, October 8, 2017, 9:49 AM | comments: 0

I managed to make some commits to POP Forums yesterday. It has been more than two and a half years since I've made a release. As I've written before, the primary goal has been to just port the thing to ASP.NET Core, which is now on v2, but it has been slow going.

For the non-technically inclined, Microsoft decided a few years ago to make the .Net platform entirely open source (now called .Net Core), modernize it and let go of the legacy of various mistakes made over the last decade and a half. This has all been a good thing, but the transition has been painful due to constant fundamental change, poor documentation and "missing" stuff from the new framework. The web part of the framework, ASP.NET Core, also embraced a lot of client-side technology that was already a moving target, and continues to be. When I say "embraced," I mean it doesn't invent anything new of its own.

I started to work on it in September, 2015, more than two years ago, when the new framework was still in beta. That was my first challenge, because as a "do over" framework, nothing was set in stone. I started by converting a lot of the UI stuff to the newer bits, and finding open source replacements for sending email and resizing images, things "missing" from the Core. I also had to accommodate changes to SignalR, the sub-framework that enables the real-time updating of topics and lists of topics as they sit on the page. The problem there is that the development team didn't prioritize that work over general improvements, so even as ASP.NET Core is now at v2, it's still not at a release status. In the last month, SignalR at least went alpha, meaning they seem to have the general direction of it nailed down, and the team doing ImageSharp, to resize images, made a beta. That puts everything into a good enough place to consider a beta release, with some clean up and testing.

To be honest, the technical volatility isn't the whole problem. The primary reason for me having the app at all is to use it as the base for CoasterBuzz and PointBuzz. To that end, those sites are technically solid and silly fast even under load, and "old" ASP.NET isn't going away soon. If that weren't enough, I've been so plugged in at work the last few years that it's become harder to spend my free time doing, well, work. Throw in the quasi-struggle of parenthood, and I can't say I've been very motivated.

But now it feels like a corner has been turned with all of the peripheral stuff around Core coming of age. As I said more than a year ago, my intention with this version is just equivalence to the previous version, running on all of the new bits. Who knew that would have taken so long? To be fair to myself, I did achieve one of my goals in the last year, which was to make the app work across many nodes. It couldn't do that before because it relied so much on in-memory caching and in-process background tasks. Those problems are mostly solved now.

I'd like to spend more time with it, get a release out, and then start modernizing it. Professionally, most of my work in the last four years has been around big picture architecture and backend performance. In that time, frontend tech has changed dramatically, and I don't have much expertise with it. I'd like to to change that situation.


Comments are closed.