1. Games
  2. Login
  3. Register
  4. Support
  5. 23:08:23
  6. en

moonID.net - Please discuss stuff about moonID hereAnnouncements → Details about today's moonID update

aszlig RedMoon
avatar
Posted May 21, 2019, 12:17 p.m.

TL;DR

Following the last update from March, we have rolled out a few more user-visible changes this time.

Here is a summarised list of the changes:

  • Improve browser-side caching of static content
  • Make the mobile/tablet experience less painful
  • Group "My Games" by game name
  • Loosen constraints to retain import information after deletion
  • A few database performance improvements

Detailed Changes

The following sections are in-detail explanations of the changes that we've just deployed.

Improved browser-side caching of static content

Our front-end web server (https://en.wikipedia.org/wiki/Nginx">nginx) is now using https://en.wikipedia.org/wiki/HTTP_ETag">ETags, which basically make sure that browsers won't retrieve the content again if the file already exists in the cache and has the same ETag as the current file on the server, hence increasing page load performance in subsequent requests after the initial one.

The technical reason why we had ETags disabled so far, was that files inside of Nix store paths always have the same modification time and by default, nginx generates the ETag by concatenating the modification time with the file size.

To illustrate this: Let's say we have a file containing the text hello world, which has a size of 11 characters. This would result in the ETag 1-11.

Now let's assume the content of file got changed to adios world, which has the same length. The same ETag (1-11) as the one from the old file would be sent to the browser and the server will respond with an https://en.wikipedia.org/wiki/HTTP_304">HTTP 304 (Not Modified), causing the browser to load the old file from the cache.

Static files (everything beginning with /static in the URL) are served from Nix https://nixos.org/nixos/nix-pills/nix-store-paths.html">store paths, which would mean that we'd always get the same modification time, even after an upgrade. This is obviously not intended and could possibly distort the site, which is why we've disabled it so far.

We've rolled out a patch which addresses the issue by https://github.com/NixOS/nixpkgs/pull/48337">using the hash portion of the Nix store path as the ETag.

Better user experience for mobile and tablet devices

Another quite visible change was introduced for mobile phone/tablet users, where we have changed the navigation/layout a bit to make it less frustrating to browse moonID on smaller resolutions (about time, I'd say).

At the moment the mobile view should be treated more like an interim solution, because it's nowwhere near complete and in some cases quite rudimentary, but we do have a full site re-design on our roadmap where we intend to support mobile targets from the get-go.

The "My Games" menu is now grouped by game name

If you're playing on a lot of game worlds, navigating the My Games menu becomes quite tedious to use after a while, because the list is not sorted in a natural order.

In order to make the menu more convenient to use, we now list game worlds under their appropriate game name and they are also sorted naturally (or more accurately: According to a new rank field in the database table).

So let's say you're playing on a few German MonstersGame and KnightFight worlds, the list was looking like this:

  • KnightFight DE 10
  • KnightFight DE 12
  • KnightFight DE 2
  • MonstersGame DE 1
  • MonstersGame DE 20
  • MonstersGame DE 4

After applying natural sorting, the list now looks like this:

  • KnightFight
    • KnightFight DE 2
    • KnightFight DE 10
    • KnightFight DE 12
  • MonstersGame
    • MonstersGame DE 1
    • MonstersGame DE 4
    • MonstersGame DE 20

Retaining important information after deletion

Right now if you want to delete your moonID account, you need to create a ticket and the actual deletion has to be done manually on our side, which is not a very good experience and we think that users should be able to do this for themselves.

However, there are a few things we need to retain by law, for example the purchases made by the user on the account.

While you'll still need to open a support ticket for deleting your account, we now have sufficient tests so that we won't accidentally delete too much information. This allows us to add account deletion within the next few updates.

Database performance improvements

So far some pages have issued an unnecessary amount of database queries, up to several thousand per request.

We have improved those queries a bit and now almost all pages (only a few internal ones are more demanding) use less than 100 queries. We intend to lower this in future updates, but even getting from a four figure number down to two digits is already a huge improvement.

Heroe
avatar
Posted May 21, 2019, 7:03 p.m.
niceeeeeeeeeeeeeeeee
RMS ON FIRE
Thanks for the updates you all guys!!! ♥
Show comments (1)
cvd RedMoon
avatar
Posted May 22, 2019, 1:12 a.m.
thank you for the post
and its just the beginning :)
Page:  1
You need to login to add a post.

Connecting... Connecting