PAPA 20 results online? (PAPA Scoring Software Feedback)


A humble request for those of us using the web interface rather than a downloaded app: Bundle JS/CSS/template files and gzip them. Currently over 200 files are download every time I open in my browser and it takes about 9 seconds for everything to arrive (on a wired connection).

A handful of small changes will allow the app to load many many many times faster:

  • Bundle files so there’s one JS file, one CSS file (currently the browser downloads both desktop and mobile CSS files, doing double work) and one file with templates
  • Compress these files using gzip on the server before sending them
  • Add cache headers so I don’t have to download anything if I’ve visited the app before
  • Over 90% of the CSS isn’t used

Chrome has a nice “audit” feature in the developer tool you can use to check these things.


Before I forget too, for those of us playing, it’d be nice if it always highlighted your own name and if you could easily see what you were queued on. Sometimes I’d forget what I was queued up on. Maybe if you click you own name at the top of the main page (which was underlined but didn’t go anywhere) it could show you what you were queued on as well as current standings etc.

Some people wanted a way to see how much you had spent to date at the tourney although I think maybe you didn’t do that so people wouldn’t freak out :joy:


I think it would be great to have that for each player page (as @Snailman mentioned above). It’s helpful to see “Currently playing: Iron Man” or “In cue at X position on: Skateball” whether it’s for you or the person you’re rooting for from home. I guess for participants, you’d need an easy way to find your specific player page.


I wonder what the consensus or average is of how much $$ spent per player in Division X at PAPA 20 vs PAPA 19 and earlier? After normalizing 20 and 19 somehow to account for the separate door fee this year, I’m guessing a bit more, driven by a number of factors:

  • lower cost to play just one more game, with greater impact of just one more good/improved game. (previously, there was always the hurdle to overcome of “Do I have it in me to put in another whole ticket?”)
  • presumably shorter lines due to increased “capacity” (greater # of pins per bank)
  • PAPA 20’s ease of purchasing additional entries right from your phone vs walking back to the front desk and standing in line to purchase entries, and being forced to spend time thinking how much you’ve spent :slight_smile:

Whatever the factor, it likely meant more time playing pinball… woohoo!


As a player: Would be great to have your position in the queue indicated in the pop-up notification. The current one just says “your position is changed” or something similar, and you have to go back into the app to see what # you are.

As a scorekeeper: If no one is queued, it would be great to have a “same player” button after entering a score - often in D, where lines were rare to nonexistent, folks would want to play again.


This is not about the software per se, but to echo Snailman (and Kokatu!) it would be great to have a scoreboard for the finals, both in streaming and live, indicating who is currently playing and showing the group point totals. It’s pretty difficult to follow what’s going on otherwise.

Also, how about announcements and walk-up music for the players? (Just kidding, kind of).


On the player page it would be great to see all the submitted entries the player had and the time that took place. Similar to Karl’s feature, you can see the list of all the entries the player made to see which games they are still trying on, which scores they beat previously and which scores were voided.

I like to see if a player is still trying to make it into the finals or if they have given up. I also like to see roughly how much their spent on entries for the tournament. :slight_smile:


I wanted to share my sentiment that I really enjoyed having the app while on-site and attempting to qualify.

Question: Would it be possible to do a text export of the scores from qualifying and finals? I am not sure of the technology that’s rendering the webpage, but there is no ability to copy/paste nor does the text of the scores actually render in the page source. I was very interested to perform some score analysis in a visualization tool, but at the moment there doesn’t seem to be a way to export.


  • Mobile App: In general, I thought that the mobile app was a fantastic addition for the event.
  • Queuing: The ability to virtually queue was amazing. I was able to queue and then walk away if needed to use the restroom, grab food, watch A-Division, or (most importantly) go play on one of the bajillion other pinball machines. I really hope this gets used if they repeat the Intergalactic Championship at Pinburgh. Agree that the icon indicating queue size helped me to quickly determine which game to go for next.
  • Payments: Awesomely convenient to pay from my phone (but bad for my credit card balances).
  • Queue Monitors: Great addition and a great way to see where you were at if you didn’t have your phone out.

Other Thoughts:

  • It would have been nice to have a running total of the number of purchases / games played / games voided.
  • I’ll echo the sentiment I saw above for timestamps of individual games & voids. It would help me with things like “No Corey, you really shouldn’t play Transformers for the 20th time even though you watched Bowen’s tutorial and you think you know what you’re doing so maybe you should try playing Black Pyramid instead.”
  • Agree that it would be nice if the notification could indicate queue position (and possibly the game you’re queued on).
  • I found the website difficult to navigate on a desktop. I was checking things out on Thursday and Friday from home to see what scores were being posted and what I would try to go for when I arrived, and I found the scroll wheel to go very slowly, and a right click (to open link in new tab) would just cause the page to navigate and not provide a right-click dialog.
  • Is there any way to get another monitor or two near each division that would highlight the current standings and (possibly) the top score listing for each game. When deciding which game to queue up for next, I had a lot of back and forths on multiple pages to try to figure out which scores were “attackable”
  • I had to force-close a few times, and every time I did I had to log-in again. Not a terribly big deal, but mildly inconvenient.
  • My wife played in Women’s, and as I understood it there was no queuing system for Womens/Seniors/Juniors/Split Flipper/D Division. I’m presuming that’s because they all shared the same bank, but she found it frustrating to have to wait in the physical queues, especially at the busier times on Saturday.

Overall, thank you. I really enjoyed my PAPA 20 experience this year. I had some separate thoughts on the streaming which I’ll type up in a separate post.


Oh yeah another thing - sorry this is stream of conscious style but wanna do it while I recall things.

For the scorekeepers and players, if a game had no queue, you couldn’t queue yourself up on it so had to get a scorekeeper. Would be nice if you could queue yourself up and if you were up next the scorekeeper could just let you start. Seems kinda minor but if two people were waiting for a scorekeeper to get on a machine, it wasn’t clear who was first and often people would just physically line up at the machine since no queue could be made via software.


The auto-queuing was an amazing improvement. As was the ability to purchase tickets on your phone as opposed to going to the front desk. Cheers to PAPA staff for their hard work.

Question re: the results at It looks like all of the player results are being cutoff around the 110-120 mark? In comparison, Classics II last year had 180 players–I don’t think attendance went down from last year.


Hi Everyone! After a much needed post-PAPA break from all things pinball, I’m reading through this thread. Thanks for all the feedback! The comments have been constructive and specific which is exactly what we are looking for in feedback. Instead of responding to individual posts, I’m going to summarize the requests/questions that were asked and answer them in one post. If I don’t cover something that was posted about, please remind me and I’ll address it.

Viewing results on the Desktop : Testing the website on a desktop was limited to macbooks. And because of the fact that the macbook supports gestures (like swiping to scroll up and down), we never noticed the problem with scrolling with a normal mouse. This is something that is high up on the “to be fixed” list.

Selecting text/exporting results : The javascript framework that is being used defaults to not letting text be selected. Setting it to allow text to be selected is possible, and is also high up on the “to be fixed” list. As for exporting results directly to text files, it is possible right now. A post will be made in the next few days explaining how to do it.

System does not show players previous scores or full history with timestamps : For the foreseeable future, this will not be implemented. It is a computationally expensive operation and a bandwidth expensive operation. If we have 250+ players (half the number of players playing at PAPA 20) trying to get thousands of rows out of the database at once, it significantly slows the system down. But that doesn’t mean the information can’t be provided in another form. Over the course of last weekend I asked a number of players what they would do with their own full history - the answer boiled down to “see how much my play has changed (or remained consistent) on a given machine”. We can provide that information (and more) in the form of summary statistics. For example, we could provide a “how much has your score improved or suffered on a given machine” statistic. This feature is high up on the todo list, and when we goto design it we will be collecting feedback from players on what they would want to see.

Finals Results : There were a number of bugs in the code that handled the recording and reporting of finals results. The end result was we had to use paper and pencil for recording scores, and it took a while for results to get entered into the system. Some of the finals results (Classics III for example) are still in a bad state, but should be fixed by the end of the week. Unfortunately, all this meant results were not available for the broadcast. The good news is that the finals code is the first thing we are going to work on fixing.

Highlighting yourself/seeing what machine you are playing or queued on : Highlighting yourself (when you are logged into the app) is already on the list of features to add. If you are logged into the app, you can also currently see which machine you are playing on or are queued on ( on the home page, the “player info” page gives this information ). We can make the player name/icon at the top of the player page a link to that.

The big download size if you are accessing the site from a web browser : Yeah - unfortunately, we didn’t get around to minimizing/zipping up things before PAPA 20. It’s on the list of things that need to be improved.

Make push notifications more specific (i.e. instead of “the queue has changed”, it should say “you are now Xth place in the queue”) : This is on the list of things to change

The shared machine bank (i.e. D division/Womens/Seniors/Juniors/Split) : As some people noticed, the shared bank proved to be troublesome for the software. We will be looking at how feasible it is to use queuing on that bank for next year, and any improvements we can make so that scorekeepers have an easier time with that bank.

Results cut off at 120 players : As some folks noticed, there were more than 120 players in Classics. The software cutoff displaying division results at 120 players. This was due to performance problems on older phones once you got past displaying 100 players at once. The correct solution (which will be implemented) is to lazy load the results, so that all results are displayed, but they are not all loaded and rendered at once.

If you didn’t see a response in this post to your question/request, post it again and we will respond.


Having the app was great, and thank you for fixing country access before the event started.

My number 1 UX suggestion is around queuing. After I add myself to a queue, the next action I always wanted to do was look at the queue i just added myself to. This was largely to see how many people got in before me. However, the software takes you back to the main menu and there are many clicks to get back to the queue.


The app generally worked great. The biggest issue, by far, was that it was useless on my tablet over wifi most of the time; wound up having to just use my phone over 4G, but that’s more of a wifi saturation issue given the number of devices attempting to hammer it I’d think.

A quick fix to @gammagoat’s comment (which I agree with) might be to show that you are “x in line on y game” on the “my results” page?


You’re not showing all games from all players at once, right? You only need to get game information for one player at a time. So it’s more like getting 100 rows from the DB.


I’ll second this


In general, the queueing worked great for scorekeeping. Absolutely faster and less error-prone than entering player ids.

I had one situation during scorekeeping that seemed unfair:

  1. Player A is up next on the queue. I call A’s name several times but get no response and have to skip A.
  2. Player B is up next. I call B’s name several times and don’t get a response. Skip.
  3. Player A comes up next again. It’s maybe 90 seconds after (1), so odds are low that A is going to show up. No response and skip.
  4. Player B comes up again. Ditto the short timeframe. No response and skip.
  5. Player C is up, gets on the game, and both A and B are dropped off the queue entirely.

My proposed solution to this situation would be to require at least one game is played before calling again for a player that is skipped. When a player is skipped, add to a skip queue (if eligible). When a game is started, put the skip queue at the front of the game’s main queue.


I would also suggest:

Combine the “Player info” and “My Results” sections. I always expected both sets of information to be in the same place, and would often click the wrong one looking for the other data.

I would combine the “purchase tickets” and “purchase prices” There is a lot of room in the Existing tickets section to feed-forward the prices of those tickets.

In the purchase tickets section, if there are price breaks (like 3 for $12), Highlight them in the purchase screen drop down so players can see where the deals are (so, highlight every multiple of 3 in this case).

iirc the queues showed the average time each game took to play. I didn’t find this information useful as a player and would have rather it fed forward the estimated wait time until I would get to play should I join that queue (so, average game time X number of people currently waiting and playing).

Final note - I had to use my cell data as well - the network was hammered and it was unusable at times on the wifi. Was always speedy on my cell data. i would have loved more wifi bandwidth in a perfect world so i could have used that instead.


I think a simple solution would be to assign three scorekeepers to D Division, especially during last-minute qualification periods on Friday night and Saturday morning. In contrast, there were three scorekeepers in A Division. When I scorekept there, I had a lot of down-time since A players tend to have long ball times.


If all you wanted was a list of scores, then yes it would be (at most) a few hundred rows per person - but that is not what I heard people asking for last weekend. What people were asking me for was their complete history - this includes voids and timestamps for what was played and rankings. That is what I was referring to when I said “thousands of rows”.

But, even if we are just talking about a 100 rows, it still has a computational cost - granted that it is a small cost (it takes about .1 seconds to run the query and return JSON) - but that cost adds up quickly when you are talking about 200+ people trying to hit the system at once. I’d much rather provide summary statistics (like I described above) which can be calculated in batches at regular intervals.


Did you find it common that the queue information changed significantly in the time it took you to go through the confirm screen? If that was a common occurence, then the app shouldn’t return you to the queue list for the machine - it should directly alert you to the fact that the change happened while you were queueing yourself.