A suggestion to reduce E2 load

[EDEV: Quick Confirmation|full node

What proportion of pages served are simply refreshed versions of the page the user is currently viewing?

E2 refreshes the screen in a number of cases:

  • When a /msg is sent, or when a message is sent to the chatterbox
  • When a C! is awarded
  • When a vote is awarded
  • Any other time the user doesn't specifically request a different node, but wishes to send data to the server.
However, the existing system that just returns a 1 has a few failings:

  • It is not userfriendly
  • It cannot be used easily as it isn't programmed in as a possible choice.
I propose changing this system to an system where it's value is the output to the browser, so that adding a &quicksys=Thank you for your vote! will suppress the refresh and display the message which requires far fewer system resources.

This would be best set up as a User Preference.

Apparently, this confirmation could be opened in a new window with <form target=_blank>, allowing the pop-up window to be closed quickly... thanks kaatunut!

The basic idea is that by presenting the user with a small page (ie: less than 1k) instead of a full node (can be huge) with no additional E2 backend work (no need to load up a node, nodelets etc) we can reduce server load and therefore E2 lag. By allowing the user to set up an option which doesn't advise him of the reputation of the writeups he voted on, doesn't reload the node just to advise him his message has been successfully sent (he'll see when he visits his next node), etc, etc.. hopefully E2 lag should decrease.

So the option in user preferences toggles between the current system (see votes, refresh screen) and the new (open pop-up window, display a small amount of text ('Thank you for your votes' or 'Your message has been sent' or whatever).

It's not so much queued as just not recieving the full node as confirmation. Admittedly, it's nice to see the votes you've sent. But if you have just C!hung someone, then do you really need to see the node again, just with a C!?

No Javascript would be required: if you want to C!, upvote and send a message, then three opcodes will be sent as three different requests. It's just that three less nodes are dragged up from the database. Opening in a new window isn't hard, either.

And I think most of the code already exists. I can't remember the parameter, but bunging something like &nodata=1 on the end just returns a '1'. Does anyone remember the name?