Hi Pablo,

I favor the idea to make a better competition platform. I'm concerned a little 
that major changes are made without any public announcement and discussion; I'd 
like Code Jam team to publish information about new and upcoming changes, so 
that it would be possible to learn about them before participating in a round.

I have a couple of things to add to my previous post:

> > 1. Looks like Code Jam team already noticed that some people block
> third-party cookies, and made the website show a warning in this case.
> Still, it would be awesome if it were possible to actually log in without
> third-party cookies or, at least, with first-party isolation (currently, no
> warning is shown in this case, but login doesn't work).
> 
> After the problem was first reported, we decided that showing a warning
> message and educating users about how to enable the cookies was a
> reasonable fix for most users (as most people were satisfied when we
> suggested that over email). There are indeed better solutions, but they
> take longer to roll out and it just has lesser priority than other stuff
> (like other fixes you've noticed, and some you didn't because they were
> under the hood).

For some reason, the warning message is shown in Chromium but not in Firefox. 
An orange triangle next to Sign In button appears in both browsers. (It was 
fixed for some time, but not anymore).

> > 2. When entering a round, users should be directed to the problems, not
> to the scoreboard. This is how it worked in all previous versions, and this
> is how it should work. Also, the old version had a nice feature: it was
> possible to open the dashboard in advance of the round, and have the
> problems load automatically when it starts. I'd like to have this feature
> in the new version as well.
> 
> Regarding the dashboard begin possible to open in advance of the round, we
> have added that feature too. I agree that is a good idea. Regarding the
> "order" of pages, I am actually not sure. I see your point and it was my
> first impression too, but I also see the point of people who prefer it the
> current way. Most books have the index in the first pages, not in the last,
> for example. It's easy enough to switch and you have to do it once per
> contest, so the impact should be minimal.

I think that which "order" is more useful depends on whether someone is 
participating in a round or not. So, I suggest showing dashboard first if they 
are opening a round while it is running (or before it starts) and they can 
participate.

> > 3. Something has to be done with the code editor. Perhaps it should be
> put below the problem statement, or into a separate tab. I would also
> suggest to allow those users who don't need an editor to hide it
> completely, and to switch to an interface that supports submitting only
> from a file (this is how it was done before 2018).
> > 4. The editor should not be displayed if the user is not logged in, or
> not registered for the round. Instead, they should see a message stating
> that. Currently, a message is displayed in an editor, and only if the user
> is not logged in.
> 
> I agree. This is near the top of the things we want to address. Stay tuned.
> Regarding putting it below the statement, you may remember that being the
> default placement in the 2018 Code Jam interface, and we had a number of
> users reporting not finding it, that's why we are trying something
> different. Hopefully we'll converge to something that addresses everyone
> needs to a reasonable extent.

Another option is to put it above the statement, but make it small initially. 
As the user types their solution, it can automatically expand to fit the code.

> > 5. There should be a sidebar on the left, with tabs for switching between
> the problems. It may show additional information as well. The old version
> had submission statistics and a mini-scoreboard in a sidebar, which I find
> quite useful.
> 
> Most users reported the old mini-scoreboard being useless, actually.

Of course it is useless for those who are not anywhere near the top ten.

> We did
> ask (and got) a way for users to switch problems without going back to the
> round overview page. A left panel will further remove real estate for the
> important things.

There would be plenty of space if it had not been for the editor.

During a competition, an important part of the strategy is quickly choosing 
which problem to work on. Having a list of problems in front of you helps to 
keep track of them. Additionally, having submission statistics makes it 
possible to quickly identify problems that should be solved first (those which 
have many successful submissions) and those which need to have their solution 
double-checked (those which have many failed submissions). For those reasons, I 
found the old (pre-2018) left panel very useful. An alternative is to switch 
between the problems using the top bar, as it is done on CodeSignal:

https://i.imgur.com/OFej7FV.png

The buttons for switching between the problems are in the top left corner. In 
addition to allowing to switch between problems using a single click, this 
interface also shows which problems are already solved.

> > 6. In the new interface, there is a top bar, which doesn't scroll. I
> think that it is not useful enough to always be on the screen, so it should
> be made to scroll with the page.
> 
> I'm not sure whether you mean the problem page or the round page (the one
> with the stats and scoreboard). If you mean the problem page, the top bar
> is quite small and you need it to see alerts and sign-in status, which is
> important. If you mean the round page, keeping the round title is
> important, but I agree the top bar is pretty big and consuming of important
> real estate. We are trying to do something about it, but this one is tricky
> to fix properly (just scrolling is not a good solution in general,
> unfortunately).

The top bar on the round page could be made thinner as well. I think that it 
should also display the user's score and rank, like the old interface did.

> > 7. There should be an option to receive desktop notifications when a
> submission is judged. Also, there should be notifications when there is an
> announcement, and when problem statement is changed. During the previous
> years, there were multiple occasions when problem statements were changed
> during the round without any notification whatsoever, and it was necessary
> to reload the page to see the changes.
> 
> There is a notification when there is an announcement or any answered
> question, your alerts icon (top left) will display that. If you mean a
> browser notification that pops up on top of non-browser windows, using
> those is a good idea, we'll look into that, but don't hold your breath as I
> would expect that to take longer since it will be a completely new feature.

I meant browser notifications. They are convenient because you can see them 
even when working in an IDE, for example.

> > 8. The scoreboard should be made to look better. It should be made to
> show more than three problems at once, and preferably at least 100 rows per
> page. Submission statistics should appear below the scoreboard, not above.
> The part of the header that remains on the top of the screen while the page
> is scrolled should be at most as tall as a single row.
> 
> I'll address the specifics. If you meant something in addition by "look
> better", please be specific about that. I happen to thing the look is
> pretty good.
>
> The number of problems displayed depends on the width of your browser
> window. If you make it wider, it will show more problems.

That was not true when I was making those screen shots. Then, I could only see 
three problems even on a Full HD screen.

> The part about
> the header is basically my answer for #6b (I agree it could work better, we
> are looking into it, but it's harder than it looks to get a good design,
> regardless of implementation). Regarding the total number of rows, I agree
> that we should have an option to display more, but 100? Do you really use
> 100? Isn't seeing 100 at once close enough to just seeing the overall
> stats? The old Code Jam app (2017 and before) had only 30, for example.

For rounds with many participants (such as qualification rounds), that would 
mean having tens of pages of scoreboard instead of hundreds. For smaller 
rounds, if it makes the entire scoreboard fit in one page, that's great! The 
only reason to split scoreboard into pages is to reduce the load on the browser 
(and the server), and modern browsers can easily show a table with 100 rows. In 
fact, some online judges, such as AtCoder, can show 1000 rows per page.

> > 9. Round overview should be on its own page, not tucked above the
> scoreboard.
> 
> I disagree. Why? I mean, that may be good, but it also means one more page.
> Right now there are 2 pages total (for the competition experience): one
> that is general to the round and one that is problem-specific. That seems
> sound and simple to understand, which is important for many users,
> especially new ones.

I think that the interface for switching between round overview and statistics 
is poorly designed. For starters, it uses a toggle switch. Those should be used 
to change settings, not for navigation. Also, that means that you really have 
two pages, one with round overview and one with statistics, and both have a 
scoreboard beneath them. I would prefer if there were a separate page for the 
scoreboard, and one page for both the round overview and the statistics.

The statistics itself could be improved. Currently, it shows the number and the 
percentage of participants that attempted to solve each of the problems, but I 
think that the number of participants that actually solved it is more 
important. The latter information is only shown in form of graphs, which is 
imprecise (for example, in this round 
<https://codingcompetitions.withgoogle.com/codejamio/round/0000000000050fc5>, 
it is impossible to tell from the graphs whether anyone solved the last test 
set of the last problem, and this is an important). All other online judges 
that I checked show all statistics in form of numbers, so there is no such 
ambiguity.

Also, the scoreboard shows the score on the left, but the penalty time on the 
right. Given that they are both used for ranking, it would seem logical to show 
them next to each other.

Some other issues:
* The text "Finalized" or "In review" is shown in such a place that it looks 
like a column heading.
* The numbers in the scoreboard (total attempts and penalty attempts for each 
problem) are not explained, so most people who look at the scoreboard would not 
understand their meaning.
* It is possible to view a user's submissions by clicking a nick name, but most 
people don't know this because the interface doesn't indicate that it is 
possible. I think that either each nick name should be made look like a 
hyperlink, or there should be a separate "View submissions" button in every 
row. Or open the list of submissions when the user clicks anywhere in the row, 
not just on the nick name.

That's all for now. I hope to see more people discussing this. There were a 
couple of replies recently, but I think that the number of people concerned 
about this is much higher (my Codeforces post about this currently has 451 
upvotes).

-- 
You received this message because you are subscribed to the Google Groups 
"Google Code Jam" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-code/c48cef6e-ed97-4fca-a9e6-d0091818efe4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to