PuzzleHunt Recommendation - PuzzleServer/mainpuzzleserver GitHub Wiki

The PuzzleTech team has been hard at work for the last half-year working on a new and updated site for hosting puzzle competitions with PuzzleHunt and PuzzleDay in mind. The new website is not yet complete, but we feel that it will be ready in time for the PuzzleHunt event.

This recommendation is based on our confidence in being able to deliver the remaining requirements for the website in time for the event as well as the costs associated with using the existing website. Some of the risks associated with using the current website include:

  • Unknown deployment location – we’ll need to talk research into letting us keep the website, which may require additional GDPR work
  • E-mail capabilities are gone – the service we were using has been deprecated and is no longer usable
  • Unvalidated work in master branch – some work was done in the master branch that has not yet been validated, requiring either validation / asking the person who worked on it to do the deployment or taking a fork off of last year’s event which may be missing website fixes Given the work required for the old website, we are targeting mid-February as the final cut-off by which point if we have not addressed the risks below, we would switch back to the old site to ensure that we have a workable site for the event. However, as mentioned above, we feel confident that we will be able to address the risks and have a functional new site in time for the PuzzleHunt beta in March.

Below is a summary of the still-missing capabilities as well as our plans to address them.

Low Risk

User deletion

There is currently no way for users to automatically delete information about themselves or to permanently remove themselves from the site. Any requests would need to be sent from the user to the tech team, who would then need to manually delete the user and related data from the database.

Given the PuzzleHunt historical participants, we do not anticipate this to be an issue.

Usability

There site controls are usable but not optimal and are not polished. Recent navigation improvements have made progress, but site usability and navigation discovery are also still not polished.

The consistent navigation style solves the most glaring issues, and with small styling updates we believe we can make significant progress in this area before the event. For PuzzleHunt in particular, we anticipate that users will be willing to put up with sub-optimal UI as long as it is functional and the puzzles are good.

Accessibility

No accessibility testing has been done on the new site yet. While we are generally using standard web controls that should cooperate with screen readers and other assistive technologies, it is likely that we still have significant work to do to make the site accessible.

We will be working on this along with other usability updates. The increased availability of automated tools for testing will make it easier to find common issues and address them.

Impersonation

While the website does allow a user to switch between Admin, Author, and User roles, impersonating a different user is not currently possible through the platform.

This feature may not be completed by the time of the beta, but the role-switching functionality covers most scenarios, and the local nature of PuzzleHunt makes it easier to find users in person for debugging if necessary. A workaround for testing in the form of using two accounts or having a friend nearby also helps to cover this gap.

Team registration

Team registration is possible though the site although some cleanup work remains to make it easy for users to join teams. The way this works in the new site is different from the old – players request to join teams, and members already on the team can accept their request to add them to the team.

Given that the capability exists, we feel confident we can deliver the cleanup work in the coming weeks.

Medium Risk

Deployment

While we have done proof-of-concept deployments, they have not included authorization pieces. In addition, there is still an open question around hosting.

We plan to mitigate this by deploying a proof-of-concept deployment ASAP using MSDN credits in a personal subscription. We’ve calculated the estimated hosting costs of the site at around $200 per year, which is low enough that we hope that either UR will fund this or that the costs can be covered by PuzzleHunt funding. We plan to start the UR conversations after PuzzleDay resumes meetings this year.

Throughput / pace of development

Development slowed significantly over the holiday months (November / December), causing concerns around the pace of development and whether not enough work was being done to complete the site in time.

We had a hackathon last Sunday (1/13) where we made significant progress toward site organization, authentication, and team registration. We also now have weekly meetings to make early progress on completing the remaining critical work.

Authorization

Many pages on the site are still not properly restricted based on authorization and user roles to ensure that no user sees thing that they should not have permission to see.

We have an integrated authorization system that makes it simple to update the remaining pages, proven by the pages where it is already in effect. The improved site navigation will also help clarify the remaining work. With clear examples and common patterns, we expect to make quick progress in this area.

High Risk

Testing

Due to the rapid pace of current feature development, testing has not really been a part of the process, either in an automated or manual fashion. The new site has also never been used in a real event or tested end-to-end in an event-like scenario, leading to a high-probability that significant bugs exist, which is why this is classified as high risk.

We plan to make early progress on the website before mid-February to leave time for testing before the March PuzzleHunt beta. In addition, we are close to finishing all the ‘sweeping changes’ to the website that touch many pages, which will make it less likely that new features break existing ones. We also hope to ask for volunteers at a PuzzleDay meeting once meetings resume to help with a bug bash of the website.