[2019-05-08] Arena preloading, new personal homepage, and other improvements

Over the last few weeks, we have been experimenting with a preloader for the contest arena to further optimize its loading. We also revamped the personal homepage and made a small improvement in how we process C and C++ submissions.

Here are the highlights of some of the improvements we made recently:

Implemented a preloader for the arena.

Toph provides some features that our users have come to love. Take the IDE for example. We see so many problem solvers using it on a regular basis. But these features come at a cost of larger front-end application code, and in turn, leads to longer loading periods. And, we wanted to improve the loading experience of the arena without compromising these features.

With the introduction of the preloader you can now come to the contest landing page 30 minutes before the contest starts and then have all of the front-end application code preloaded by the browser so that when you are about to enter the arena, it can load quicker.

A bolt symbol on the Enter button indicates that the arena has been preloaded.

At on-site events, by having the arena preloaded, we hope to reduce network contention. This will provide a better experience for the contestants when entering the contest arena. It will also make it fairer for users who are running on slower Internet connections.

We have been running this feature experimentally for the last 2 weeks. We noticed a significant improvement in user experience because of this. A number of contestants have also reported about how fast the arena is loading for them now.

The preloader is known to be working in the web browsers listed in our Minimum Requirements help page. We hope to expand the list based on the browser share and popularity among our users.

Revamped the personal homepage.

Our goal with the revamped personal homepage is to give you an overview of your progress and guide you through our problem archive so that you can practice better on Toph.

At this point, we have added some visualizations for some essential performance metrics. Since this is a work in progress, you can expect more updates over the next few weeks.

We have some really cool improvements planned for this. You can also let us know what you think you would find useful to see on your personal homepage.

Added symbolic constant ONLINE_JUDGE for C and C++ submissions.

You can now use the symbolic constant ONLINE_JUDGE in your C and C++ submissions. You can learn more about how these languages are configured in our languages page.

Fixed an issue with how Toph rendered timestamps.

There was an issue that would prevent the timestamps in Toph (especially in the arena) from showing the correct values sometimes. This was a cosmetic issue and has now been fixed.

Fixed an issue with the language selection field not remembering the last selection.

We came to know that the Language field in the problem archive pages was not persisting the last selection. This issue has been fixed. We thank @AkramKhan for bringing this to our attention.

Improved asset loading prioritization.

In a few areas of Toph, we added some prioritization to asset loading to make sure only the essential things get loaded first.

As always, your feedback is welcome!