(EDIT: this is the relevant quote, but worth reading the whole article)
I have to say that this article is actually quite terrible, as is the opinion that any option that might ever be confusing to a user is an option that shouldn't ship with the product. The thesis of the article is:
"Well, we have met the enemy, and he is us.* In the currently shipping version, Firefox ships with many options that will render the browser unusable to most people, right in the main settings ui."
The solutions offered? Kill it all with fire. I'm paraphrasing, of course.
Problem: People today change some feature then have a "broken" browser (basically, they forgot to turn it back to the default, or they didn't realize they changed it in the first place).
Solution: reset button, also notification to the user that "this page might not work correctly", some sort of an extension of how Chrome shows you that a popup and/or a cookie was blocked, based on your settings. Don't treat your users like idiots, just provide information that clears up certain odd states by explicitly informing them of something like:
"The webpage you are viewing may not work correctly because the following options differ from their default values:
1. Enable automatic loading of images.
These features of Firefox are essential for most webpages to run properly. If the webpage you are trying to access is behaving strangely or appears to be working incorrectly, <click here> to load the page with the default browser configuration."
Done, and done. No removing useful features from the browser, no treating users like morons, but now I have a new, useful, awesome, self-debugging feature which is user friendly, and doesn't require a pesky IT guru's assistance navigating the sea of 10 trillion options.
This was true 10 years ago. These days, every additional setting the application has is a liability. There is a growing group of people, who are scared to have conversation with their browser and make any informed decisions. They ignore such messages. Other people will change any setting they can find and then forget about it. Then they will be surprised and angry at the application that it is not working.
You are absolutely right that configurability is a sign of laziness, the opposite of hard work. But removing configurability is _not_ the sign of hard work. Hard work means addressing the interests of all parties, and Mozilla did not do that.
Assuming you're correct (which I'm not convinced you are), when you then continue, "I have a checkbox that will make it so they don't track you, but it will also break those sites. Is that ok?" They will also respond "hello no".
Right, because you can easily say that a non-user-triggered window.open() is almost always unwanted. I can't think of any other cases where it's so clear-cut and related to JS, or that disabling a particular facet of JS always would be a net win.
If you're going to claim that there's something like that, provide examples. How do you know people at Mozilla haven't already thought hard about this problem and decided there isn't much more they can do? I bet they have.
-> This overstates the case, because you'd still presumably load the 1x1 tracking png with ?resid=<X>&uid=<Y>.
> "I have a checkbox that will make it so they don't track you, but it will also break those sites. Is that ok?" They will also respond "hello no".
This overstates the case most of the time because doing this generally breaks relatively little for those domains listed, and to the extent it doesn't, making that decision on a domain-by-domain basis seems to work pretty well (ask any Noscript user)
> When you are on Google search and you click on a link it's tracked that you went to that link.
Perhaps, but Mozilla should do it anyways.
Make no mistake: advertisers believe that they have a right to know what links you click and sites you visit across the whole web, and even a right to enlist your browser to aid in informing them. And Mozilla is complicit!
(And why not? Recall who pays Mozilla’s bills.)
As far as blowing off your leg, sometimes you just really hate tennis elbow, you know?
I did read them, and I did consider them. After thinking up a reply as why you think basic client display capability querying mechanisms are inappropriate, I decided you were most likely being sarcastic.
At this point, with your reply taken into consideration, I'm confused. Feel free to elaborate.
> If ... you are doing Internet wrong
Well, my first sentence was actually asking you, since I wasn't sure.
Correct. I'm being completely serious, with the exception of the remark about exploding limbs (obviously).
JS has more features than it deserves for learning about and (critically) sharing information about the host platform. Yes, you can still learn some things as a website operator by watching what browsers load/don't load, and what they put in their requests.
Edit: I should hasten to add that there are other concerns beyond privacy, like accessibility and the fact that a web page has no bloody business deciding that I'm likely running an iPad and therefor I shouldn't have access to X or Y. This is dumb, and contrary to the idea of the open internet. It's the same thing that's wrong with this EME nonsense.
Ah, I took your position as being able to determine screen size (or have it determined automatically through CSS or some other hands-off mechanism) itself was also unneeded, not just that JS should not have this capability.
I can get behind most of what you say - as long as we are talking about simple, presentation based websites.
Where I think there's a breakdown in this view is when you consider complex web applications, including games. At that point, I believe some level of inspection capabilities are required, if we desire to have complex web apps delivered through the internet. I'm by no means sold that on-demand web delivered code is necessarily a good thing though. There's far too large a surface area to adequately secure while still making it useful, IMHO.
"These days, every additional setting the application has is a liability."
If we follow this thinking too far, we end up with a closed console like device, or Gnome 4 as parodied last April .
Surely there is a case for progressive revealing/enabling of advanced functions?
In the UK, the Blackberry phones are very popular with teenagers because of BBM. This desire to access BBM even extends to students carrying two phones, one an old blackberry handset on wifi and the other an iPhone or whatever. You will find small groups in corners at lunchtime exploring the features of the handsets. Experts will coach those who know less. If I could get that level of peer tutoring going in Maths, I'd have my OBE in the bag quite soon! Users can increase their knowledge provided the unfolding of extra features is managed.
Removing options is NOT the way to go. If anything, there should be more options, until computers understand natural language.
To be most intuitive to use, computers should converse like a human. Humans have LOTS of options, and everyone understands that. E.g. if I ask a human to make a sandwich, I can specify all the ingredients I want, how and when I want it, and so on.
Far future of course, but that is the most intuitive end goal of computers: you ask them what you want in natural language, they understand and provide it.
For now, because the above does not yet work, please provide options. Fortunately Firefox provides many options for those who need them: about:config. I find it really awesome if you can adjust an application to your needs at such fine grained level.
I think your sandwich analogy is spot on in the sense that I can also just ask a human "please make me a sandwich" without specifying anything, and (most) humans could proceed to do so without more details. There should be more options, and a good "default" mode for people who don't want to fiddle with them. To my knowledge this is why most wizards have basic configuration options and a "advanced" button to click for the detailed configuration, and I don't see why Firefox can't just have the same thing.
Because some help desk told them to. The other day chase manhattan was down with a full on 500 server fucked up. Their twitter account responded to me telling me to clear my cache and delete my cookies. Classic.
Sorry to be blunt, but it's clear you have never had to design or support a user-facing product. Anyone who has done either of these things will disagree with your base assumptions, ie. that users care about understanding their software, that they read warning texts, and that they don't mindlessly flip switches when trying to achieve unrelated goals.
That's the point that seems to be missed in the discussion: sure, let Mozilla shuffle options where they want, hopefully with some thought; but don't change the user's configuration. If you feel that it's absolutely necessary to do so, then pop up a big banner saying "We want to change your settings. May we?" To do otherwise is bordering-on-crapware-tactics rude.
> Problem: People today change some feature then have a "broken" browser
They forgot what is changed, how to return back, no reset is not a solution.
Solution: Educate users, provide "Undo" and "Redo" buttons, highlight changed controls
I am not planning on implementing that, but let's pretend I want to. When would that dialog come up?
Attempt #3: make that dialog less intrusive; do not require acknowledgment. Result: users get trained to overlook it; users who accidentally enable the mode will never figure out what happened to their browser.
Attempt #4: a whitelist of allowed scripts. Problem: users will disagree about what should make it into the whitelist.
Attempt #5: the JSBlock extension. This may have merit. So, if you want this feature, download it, or write it if it doesn't exist yet. If the API does not allow writing it, bicker Mozilla.
Understand that no dialog is necessary for such an idea to be implemented at all.
The webpage you are viewing may
not work correctly because the following
options differ from their default values:
1. Enable automatic loading of images.
These features of Firefox are essential
for most webpages to run properly. If the
webpage you are trying to access is behaving
strangely or appears to be working incorrectly,
<a href="">click here</a> to load the page
with the default browser configuration.
Also: how is that not a dialog? It presents a message to the user, and waits for a reply.
> Don't treat your users like idiots
The author of that article says: "Is it really worth having a preference panel that benefits fewer than 2% of users overall? — obvious spoiler alert: The answer is no."
The answer is yes. If 2% of users have a purpose for it, perhaps it wouldn't have been high up on the priority list to implement as a new feature, but it's already there, and removing it requires extra work. Is it really worth removing features from an application to deal with some hypothetical problem that's been posited under the assumption that most users are idiots?
If there really is a problem, it may be worthwhile to move it to an "advanced settings" panel, but removing it entirely is a terrible idea.
If users don't know the difference between Diesel and Gasoline, better option is to educate them in context (e.g. handle of fuel pump) rather than closing down all Diesel pumps.
If people don't know the difference between diesel and gasoline, is a note that says "Note: Diesel is not the same as Gasoline" going to help? Doubt it.
The assertion is that 'configuration creep' is overwhelming for the unsophisticated user in the first place, adding even more notes and explanations to all the configuration options is not going to help.
>If people don't know the difference between diesel and gasoline, is a note that says "Note: Diesel is not the same as Gasoline" going to help? Doubt it.
Really? I would think that sign would help everyone who knew how to read, bothered to read, and wanted their car to run. A sign with a simple message like that was enough to fix one national timeclock system that I worked on. "Do not do X before 12:00 Noon unless Y." in English, Spanish, and Polish.
For the people who still messed it up that we found by using heuristics on all of the punch data, we sent reports to their managers that said that they had probably done something wrong. After 3 or 4 cycles of this, the failure rate went from 15-20% to 1-2%.
Unsophisticated users remain unsophisticated users if you systematically remove configuration until the application only does one thing one way, badly.
Only if you want 9000 apps, because then it becomes a question of which of those super narrowly focused apps will work to do what you want to do. An email client that only emails your mother is a good emailing your mother client, but a bad email client. If they take away configuration for people with stepmothers or two mothers, because it's only a 5% use case, it's even a bad emailing your mother client.
If you know your car runs on gasoline, and you don't know the difference between gasoline and diesel, then you see a sign that says "diesel is not gasoline," you know that diesel is not what you're looking for - even though you still don't know the difference.
1. As the blog post has said, many web sites will fail in mysterious and unexpected ways. Some web apps may be rendered completely useless. In fact, you might as well just say goodbye to the modern web if you're gonna totally disable JS.
I wasn't aware I could set a field to SUM(..) etc from the gui... Most of the features in Excel are a bit under the covers.. and far more so than about:config... maybe the "advanced settings" tab should be a button that just takes you to about:config with a warning?
Err... I just opened up Excel (2002 since that is all I have at work), selected a cell, clicked on the SUM button (sure it uses the mathematical symbol for sum but if you hover over it, it says SUM), and then was able to click and drag (or CRTL + click for nonconsecutive cells) to select cells for the sum. This is all via the GUI. I'm not sure how this is hidden. Heck, I did this in a Japanese version of Office which I can't read.
Is this different in Office 2010 or any of the newer versions of Office? I mostly use LibreOffice and even there it has the same "all GUI" functionality.
Honestly, didn't know, I rarely use excel, but do know a lot of people who do a ton of VBA code to connect to database resources to create interactive spreadsheets.. and a lot of that is far from common, button-click functionality.
And in any case, for those that want it, it's in about:config ... I doubt anyone who should be disabling JS would be looking around for it in a config frame, and not do a quick google search. I've generally adjusted most of my settings via about:config, mostly cache related for me, but if I'm playing with js settings etc.. it's easier to keep a tab open with about:config than a modal.
While you may know a lot of people who do VBA code in Excel, that is actually far from the norm for the average corporate user. From my non-CS friends who have worked in both large and small companies, I have heard tons of horror stories of the insane spreadsheets that low-to-average users make using just the GUI functionality. Huge spreadsheets with formulas spanning tons of sheets to simulate what could be done in a simple function. These spreadsheets get huge over time as coworkers slowly add/update functionality over time. All using the GUI which makes it a cluster fuck (my friends' words) to understand.
And all of this actually is equivalent to the "uncommon" VBA coding that you hear of. I wouldn't be surprised if all of the VBA code / spreadsheets you hear about evolved from one of these massive GUI created spreadsheets. Why? Anecdote time:
Those VBA sheets tend to come into existence when a non-programmer decides to learn about macros, updates one of these sheets to be simpler (less data entry), and it actually works. One of my friends was one such employee and she ended up converting a few of the inefficient spreadsheets into a single faster (though still slow) one. Due to cutting down the amount of manual data entry and processing time, it made what used to take a few days of work into a single day of work (mostly to have the sheet run calculations). If this creation gets useful enough, it can take a life of its own in the company and eventually some manager might make it the responsibility of an "IT" guy to update the code. Usually because the original employee got promoted (or left for a better job) due to killing their performance reviews. My friend was one such employee who left and actually did this at more than 1 company leading to a pretty damn well paying job at a young age. Last she heard, her original spreadsheet was still being used and semi-maintained by IT. And this it how I believe a lot of those VBA coding projects come into existence.
My dad takes great pride in complex VBA code. Unfortunately, this can backfire. A few years ago he was brought in to help manage a particular support system for a large telecoms company here in the UK, which involved a lot of Excel donkey work. He understandably figured out a way to automate about 50% of the work of the entire system.
This meant that he freed up plenty of time for the entire team he was on. Unfortunately, this meant that they now had surplus staff, and as the newest arrival, he was the first to let go.
Yeah, incredibly backwards internal politics, but I swear it's true.
100% believe you because this was one of the concerns my friend had about sharing her work. Only management didn't go the firing route. They ended up giving the employees even more work because of their newly found free time.
What makes you say "Advanced settings" dialogs mean poorly thought out UI? I think it's a very good way to tell novice users, "don't open this panel if you don't know what you are doing". And if they still do it and something wrong happens, they'd immediately know the reason.
User has trouble with software. User says that software is "too hard to use". A usability/interaction team are tasked with making the software "easier to use" and set off to find "confusing and infrequently used" features they can kill off.
Obviously anything on the 'Advanced...' dialog makes an easy target.
Implementation isn't the only cost of features. You need to test them so they don't break. Features can be a burden for the codebase and removal can lead to many edge cases becoming unnecessary. A magnitude of features can overwhelm users, especially occasional users. They steal attention from other features that you may find more important.
And the most important point here: This feature really is broken as of today. Nobody can persuade me that they use it on their main browsers. I don't believe them.
But you don't need to disable JS altogether to prevent that, only disable replacing context menus. Unfortunately for that argument, updating to FF23 removes all of the 'advanced' JS options, not just the checkbox to disable it altogether.
Try disabling cookies. This exactly describes the effect, except that it's not mysterious once you're used to it. If something doesn't work, I open it in Chrome (where I have cookies enabled), and it works.
In many cases, I suppose the developer doesn't know about the cookie dependency (because of a framework or some other dependency). In other cases, I guess they don't care. Rarely does the page actually tell you that cookies are required.
That is a terribly user-unfriendly design decision because it does not distinguish between failure modes. Maybe your site is broken because I am running noscript or maybe it broken because it is mis-configured or recently hacked or my ISP's proxy is black-holing things or a dozen other things that could go wrong.
The point is that it is relatively trivial for the developer to add automated checks for per-requisites and display warnings for the ones that are missing. It is a lot harder for each user to manually run down through the list of all the things that could go wrong.
Just don't make the warnings into roadblocks. Inform the user and let them decide to proceed or not.
Actually, it's possible to implement in it an unobtrusive way that makes users feel more comfortable. The huge popups usually comes from the same websites that do popover ads (that commonly end up invisible and blocking scrolling with adblock) and auto-play videos.
Most of the time it's a small bar on the top or bottom of the screen. Stop whining.
Again, blame the web designers who don't even do enough diligence how others do the same. And demands of proper, obvious labeling is one of the better tools to stop companies from putting useless crap everywhere.
I don't see this. Web is filled with advertising, new laptops are filled with crapware. Labeling didn't do nothing to stop these things. What we get from lawers on the web are idiotic terms and conditions, "I agree" buttons under the wall of text, copyright craziness with idiotic cease and desist, persecution of people publishing secrets or just snooping around. I think if lawyers kept there noses out of the web it would be much safer place.
The other thing Alex posted is firefox really gives you no indication of why the internet looks weird and is breaking left and right. So you can disable js or images or ssl and unless you're lucky enough to know a programmer or IT person really have no guide to undoing whatever happened.
I remember a user flat out lying about what an error box said over the phone. I asked her to read it out, she gave be what was in her head, not on the screen. I asked her to read it word-by-word, she did the same. I asked her to read it out letter-by-letter ("I've never seen that error there before, I want to get it exactly right so I can ask the programmers...") and then she actually looked at what it said.
Oh the dread that phone support brings back to me... The number of "tricks" we had to use to get users to tell us what they actually saw, and do what we actually told them, rather then what they thought they were looking at or thought they should do...
Anyone interested in psychology should do phone support for a few weeks...
On the flip side, I remember playing "Windows XP: The Roleplaying Game" with AT&T support, when they wouldn't give some very simple network config information without me checking a bunch of things on Windows with IE first.
I still don't understand why people do this. They get so frustrated (or defensive or something else) that they refuse to tell you what is on the screen and/or make something up.
My guess is that they dismiss error boxes too quickly, or work ahead of you and are afraid that you'll figure it out if they tell you what their error box actually says, and they'll get an F on the test and will have to go to summer school.
You're presuming people know what they're doing. If someone clicks a bunch of boxes and things break, they might not know what boxes they checked/unchecked, they might not know how to get back to that window again (which menu item was it again?
If you think users aren't that stupid, you're wrong, they are that stupid. If you think people should not use the Internet if they don't understand that much, then you're suggesting kicking a large chunk of the population off the Internet. If you work in IT, kicking a lot of people off the Internet is a surefire way to reduce your industry's size.
replying to myself:
one more way apple simply makes better software: safari offers a simple reset option that seems to reset all browser settings. Now, this doesn't help in the case of a user not understanding what went wrong, but I can tell someone over the phone "click on safari -> reset safari" far more easily than walking someone through deleting a firefox profile while saving bookmarks or reinstalling firefox and creating a new profile. I don't like safari as a browser, but it's to apple's credit that they offer this simple option so I tell my mother / mother-in-law to just click reset if the internet is weird.
A novice was trying to fix a broken Lisp machine by turning the power off and on. Knight, seeing what the student was doing spoke sternly – “You can not fix a machine by just power-cycling it with no understanding of what is going wrong.”