Ourchive Beta: Week Four

Ourchive Beta: Week Four
The velocity-impacter has logged on: meet Lois, a small grey cat, new to the household, who was not part of this week's dev plan.

What a week! Lemon, it's only Wednesday – or however that goes; it's not Wednesday and I've never seen 30 Rock. Nevertheless, the Ourchive team has been busy meeting with domain experts, working with our beta testers, fixing the AO3 importer (yes, again), and creeping closer to MVP.

Highlights

  • Our pilot instance has a new homepage! More work to come, of course, but it's looking a bit more like a real website now.
  • We added caching to a few key views - just database caching for now, but this is a great first step to supporting higher loads.
  • We also implemented admin announcements, a small bit of low-hanging fruit that will allow admins to communicate with users by using the Django admin site.
  • We have a new contributor, J, a frontend dev who helped with some key UI issues like dropdown visibility at lower resolutions. Thank you, J!
  • We're currently refining search, an area of continuous improvement that gets a little less painful to work with each time. Soon we'll be meeting our Trello-documented acceptance criteria, illustrated below:
Acceptance criteria from Trello with Jiang Cheng jokes.
  • Our QA lead (who is also my wife), Kate, has an automated build with UI tests running in Azure. This is a key step for MVP, since our current "whoops we broke it" ethos simply won't fly when we have an actual release.
  • Our product guy, verity, met with their icons/UX guy, and we have a bunch of UI improvements to implement as a result.
  • Our beta testers continue to provide invaluable feedback, including low-effort but high-value UI tweaks that make posting more straightforward.

Lowlights

  • We've been letting the pilot instance sit on a pretty standard stack, not behind a CDN, to see how it performs. Those days are rapidly coming to a middle as we experience automated spam against our Django Rest Framework endpoints. We're taking a multi-pronged approach to address this:
    • We're cleaning up our logs so they stop logging stack traces on harmless 404s.
    • We're reviewing DRF's own configuration to see if there's more we can do in the core software to prevent the scan spam from impacting user experience.
    • We're reviewing nginx configuration to see if we can use it + our VPS firewall to bounce more of the bogus requests.
    • We'll probably be implementing a CDN and documenting it for our MVP release.

The good news is this was more or less expected - it's a common and predictable result of using popular frameworks. Going into beta with a naive setup has let us identify areas small installations will likely struggle with, so in the long run this is a valuable component of beta testing. Having said that, if you are a sysadmin with experience mitigating these issues, feel free to get in touch; various team members have experience, but none of us are sysadmins as our primary job.

  • Spur of the (deeply inopportune) moment cat acquisition is affecting our velocity. Fortunately, our roadmap takes "anything could happen at any time" into account, and cat acquisition is less disruptive than, say, a broken arm. Plus, look at her face. Could you say no if she showed up under your car on a dangerously hot day with no microchip and a can-do attitude? We couldn't.
  • We continue to refine our approach to quality, which is a fancy way of saying we still need more unit tests. Buttoning up search is a great opportunity to add more tests to the API layer.

And that's it for this week. Catch you again next week, same place, same-ish time.