FrontierNav Weekly: 27th April 2020
Pulling out Firebase
To keep FrontierNav flexible enough to maintain in the long run, every now and then I need pull back from adding new features and look at the bigger picture. Otherwise, it'll become slower and harder to keep things going.
This week was one of those periods. I've mostly been working on pulling out Firebase so that if Firebase was to shutdown or no longer meet my requirements, I'll be able move FrontierNav to something else. Firebase is used for logins and data storage so it touches a lot of places. Altogether, I've modified over 100 files, and took the oppurtunity to tidy up the code, which involved:
- Removing "higher-order components" in favour of React Hooks.
classcomponents to arrow functions.
This was all very mind-numbing work, but at the same time it's therapeutic to write code without needing to think too hard about it.
It's more or less complete. There are still some places left to migrate, but I'll get there when another tidy up touches those places.
When is that Xenoblade Direct?
I'm still waiting for a Nintendo Direct on Xenoblade: Definitive Edition to outline what exactly the differences are compared to the Wii version. Their Twitter account shared some screenshots and for the most part it's looking very similar. However, they have improved the side quest system so now I'm wondering what exactly those improvements are and what can FrontierNav do to compensate any shortcomings. Due to Coronavirus, I have a feeling there isn't going to be a Direct.
Worst case scenario, like with pretty much every other game, I'll play the game when it comes out and then write the guides after. Giving a week or so delay. If I was eligible for review copies, maybe this wouldn't be a problem. But as far as I know, to apply for that, I need a history of writing reviews which isn't what FrontierNav currently does.
While I wait for some more Xenoblade news, I'll be working on the self-service aspects of FrontierNav. That is, letting people add their own games, add their own data and manage merge requests. Most of those lower-level features are done, but it's not easily discoverable so more work needs to be done on the user experience side.
Thanks for reading.