Ourchive Beta: Week Two

Hello to new subscribers and slightly less new subscribers! Week two of our beta period is in the books, and personally, I can feel the cold fingers of Father Time creeping around my neck, preparing for strangulation, thus ensuring I hit my deadlines. Imagine your OTP.

Work Completed

We deployed a number of UI/UX updates this week, along with a bunch of bugfixes.

  1. Multichapter vs single chapter editing: we implemented a "single form" workflow for posting single-chapter works. It broke a lot of shit, so then we fixed that.
  2. Bugfixes: various small fixes to stuff like importer mapping, importer error handling, 404'ing URLs that needed refactoring, misaligned buttons, and so on.
  3. Tags: more improvements to tag handling, namely around handling special characters and making the code more DRY so the tags are handled the same way each time. Importing AO3 data has meant a lot of juggling special characters and idiosyncratic data design choices. It's still a work in progress, but so far the tag architecture seems to be functioning the way we want it to (meaning: flexible/non-prescriptive but not incoherent).
  4. Frontend work, especially on mobile: alignment updates, accessibility updates, mobile-specific views for stuff like tag lists.

Lessons Learned

We are definitely in the period where bad choices come back to bite us in the ass. In this case, that means we're feeling the need for regression testing, tighter/less repetitive JavaScript for common and brittle elements (tag posting, forms), and more careful development around higher complexity features like work import.

But, our philosophy is that you have to balance the fun stuff with the less-fun stuff. We know we have tech debt and that's okay. We're building features while fixing problem areas, and the balance is what keeps this project manageable.

What's Next?

We're inviting our full list of beta testers this evening. Very exciting, also means shit is likely to break with a quickness.

The site currently doesn't have caching in place, so we'll be focusing on implementing Django's cache framework to help the site withstand a load of more than a couple of users. We're likely to identify problem areas that need performance tuning sooner rather than later.

Verity has been performing an accessibility audit, so we'll be updating the UI to better conform to accessibility standards. Our frontend framework UIKit already does a lot of the heavy lifting; we'll be focused on stuff like "ensuring all our links have appropriate targets and titles".

We've begun adding detailed unit tests and hope to have much better coverage by mid-September. Test coverage in general is a major dependency for MVP.

And of course, we're excited to see how more people break things in new and different ways. We <3 beta testers.