14

I just saw this for the first time after a delayed page load:

Stack Overflow works best with jQuery enabled

I looked for the "Enable jQuery" setting, but my browser doesn't have it.

It sounds really silly, could this be changed? A lot of people actually don't even know the difference between JavaScript and jQuery, it would be a better world if we don't perpetuate this misunderstanding.

Phew OK, it says JavaScript when you actually disable JavaScript - that's good, I understand that, it means JavaScript is disabled. Maybe I forgot to turn it back on after disabling it earlier.

Now, I understand why this jQuery message appears from reading this post, but as a user, what is the purpose of the message in its current form? It seems unclear or not useful.

Suggestions:

  • We were unable to load some resources...
  • We are having trouble connecting to our CDN...
  • An error was encountered...
  • Teh jQueryz is broken!

With:

  • ...some features may not be available,...

And possibly:

  • Click here to refresh the page.

I don't mean to nitpick, but it was hands-down the goofiest error message I've ever seen.

2
  • Unfortunately, 'CDN', 'error' & 'resources' will be foreign to most, too. Heck, 'we', 'were' & 'unable' will be. But on the whole I do agree that it is, for all intents and purposes, a redundant message. :/ In fact, given the current climate of client-side script-able awesomeness, why not just insult them for using inferior networks and/or browsers. Commented May 3, 2011 at 15:32
  • I do agree with you on "CDN" and "resources" as not being optimal phrases. I'm not saying the current message is foreign in the sense that I don't know what jQuery is, I'm saying it doesn't give you any indication of what the message means, and makes the user feel like it's their fault/responsibility, hence the question title. If someone would know what jQuery means, and they're a Stack Overflow user, chances are they'll understand whatever you tell them as long as it reasonably describes the actual problem.
    – user159834
    Commented May 3, 2011 at 15:39

4 Answers 4

12

Edit: I like the suggestion of the stalker and the troll, so we've changed the message to a variant of it:

{sitename} requires external JavaScript from another domain, which is blocked or failed to load.

We're not going to add the same for sstatic, because that would mean serving extra stuff for every request in the network, and if sstatic.net JavaScript is not available, the chances are about 100% that this is the result of a conscious NoScript blocking (because if this was due to e.g. network issues, the CSS files would be gone as well, which makes it pretty easy to notice something's wrong).


I'm not opposed to better suggestions. However, I consider none of your suggestions to be better.

They all sound like the stereotypical "Let's not give a meaningful message; that might confuse stupid users".

"An error was encountered..."? Really?

what is the purpose of the message in its current form?

Tell the user that there experience might suck, because (in most cases) they have activated Internet breaking software like NoScript. If they do that, they can be expected to figure out themselves what's blocked and need to be unblocked if they want to post comments on the site.

The other reason why this message would show up would usually be network issues – and we can hardly put troubleshooting tips for that into the message.

...some features may not be available,...

How is that any better than "{sitename} works best with"?

As I said, I'm open to suggestions though. Maybe people can post them as answers here.

6
  • 2
    I don't see what's wrong with "An error was encountered" although I don't think it's optimal, just figured I give some suggestions instead of just complain. It describes the situation better than the current message, which really could be displayed even when "jQuery is enabled" and mean the same thing. How is that any better than "{sitename} works best with"? - because enabling jQuery is not an option for the user, while something like "This site works best in Firefox" is an option the user has control over. It would even make more sense to simply say "jQuery is not enabled"
    – user159834
    Commented May 3, 2011 at 16:56
  • @balpha aren't you mixing up "...works best with JavaScript enabled" and "... works best with jQuery enabled" here? The user has no way to influence the latter, it will come up only if there was an error, won't it? I'm not aware of any tool that can turn off jQuery but leave all other JavaScript intact
    – Pekka
    Commented May 3, 2011 at 18:18
  • @Pekka: The usual reason this message comes up (besides the recent Chrome update issue) is googleapis being blocked by NoScript, IE9 Tracking Protection, and the like.
    – balpha StaffMod
    Commented May 3, 2011 at 18:47
  • @balpha ah, okay.
    – Pekka
    Commented May 3, 2011 at 18:50
  • @Arjan how about "... which seems to be blocked or failed to load"?
    – Pekka
    Commented May 4, 2011 at 8:16
  • Minor note: are you sure you want requires rather than works best with?
    – Arjan
    Commented May 4, 2011 at 9:07
7

What about changing the message into something like:

{sitename} works best with access to {domain}, which seems to be blocked or failed to load.

It would be great if this is doable for both ajax.googleapis.com (rephrasing the existing jQuery warning) and for sstatic.net (not currently implemented). Bonus if it could even check if reCAPTCHA's resources aren't blocked...

Maybe the message could also link to Which browsers are officially supported, and what else do I need? But I guess that might be a bit too much for non-Trilogy sites.

This is the domain for Stack Exchange static resources, except on Meta. Successful access is not currently checked, and implementing that needs the warning script to be loaded from the site's own domain, like from within the HTML itself, or from /content/js or something similar. The current jQuery warning won't even show if sstatic.net is blocked.

0
6

The error message doesn't really say why jQuery isn't working. If it was unable to load, that should be one error message. If it's loaded but not running then that's another - probably something the user can do something about.

@balpha is right that users with NoScript probably know how to enable jQuery, but this error message provides no help to them that that is what they should be doing.

8
  • I didn't consider script blocking etc. as noted here, I assumed the message was shown because of a network issue, I don't have any jQuery blockers enabled. I didn't even realize it was possible to explicitly block jQuery, but in that case I would consider any message that claims there was an error, as I suggested, to be inaccurate. I really gasped when I saw it at first because I thought it was the actual "no javascript" message.
    – user159834
    Commented May 3, 2011 at 17:12
  • @Wesley I would have thought the same thing, despite being a JavaScript developer. I'm not sure why the message, but that just shows how unhelpful the message is - it's suggesting there's something you can do about it, but no clear indication of what.
    – Dan Blows
    Commented May 3, 2011 at 17:15
  • "If it's loaded but not running then that's another" -- why would it be loaded but not running?
    – balpha StaffMod
    Commented May 4, 2011 at 8:32
  • @balpha If the file itself is loaded, but the NoScript plugin is preventing it from executing, for example.
    – Dan Blows
    Commented May 4, 2011 at 8:37
  • Blowski, when "not running", the JavaScript objects won't exists. The check only validates if the expected objects exist. So, it's not really checking if the resources are accessible.
    – Arjan
    Commented May 4, 2011 at 8:42
  • @arjan But if it's going to give a specific message about jQuery not working, then it should check whether jQuery is not present because the file couldn't load or because something is preventing it from executing. The user can't do anything about the first one, but should be able to do something with the second.
    – Dan Blows
    Commented May 4, 2011 at 8:44
  • Surely most users can solve both issues, but if the error message is generic enough to point them into some direction then I'd say that suffices. (I actually wonder if NoScript allows the scripts to be downloaded to start with?)
    – Arjan
    Commented May 4, 2011 at 8:47
  • @Arjan I don't know, although the documentation says that it prevents from executing. I agree that a generic error message should suffice - I'm used to seeing 'Site xxx works better with JavaScript turned on messages' so I would know where to go. 'Site xxx works better with jQuery' is much more unusual and unhelpful.
    – Dan Blows
    Commented May 4, 2011 at 8:58
2

The concept of searching a browser setting for

Stack Overflow works best with JavaScript enabled

is not always correct, since other script blockers/extensions/plugins can block JavaScript too.

Likewise, one should not only search for a browser setting for

Stack Overflow works best with jQuery enabled

0

You must log in to answer this question.