akhodakivskiy / VimFx

Vim keyboard shortcuts for Firefox
https://addons.mozilla.org/firefox/addon/vimfx
Other
1.42k stars 175 forks source link

Feature: Make "open links in the same tab" optional. #452

Closed abastardi closed 9 years ago

abastardi commented 9 years ago

Version 0.5.17 includes the following change:

Fixed: The 'f' command now always opens links in the same tab. Links used to be able to force a new tab or window.

To me, this new behavior is not desirable -- if a link is defined to open in a new tab, then that's usually the behavior I want -- I would rarely want to force a link to open in the same tab if that's not what it is intended to do. This new behavior is particularly annoying when following Google search results links, which I have configured to open in a new tab.

I would recommend reverting to the old behavior and then defining a new shortcut to force opening in the same window (or alternatively, define a new shortcut that allows the old behavior). Failing that, maybe at least include a setting that allows the user to choose the preferred behavior.

As an aside, Vimium has a nice additional feature that allows you to open a link in a new tab and then focus that new tab.

lydell commented 9 years ago

http://xkcd.com/1172/

But, sure, we could add an option.

abastardi commented 9 years ago

Funny. I certainly don't want to be that guy, as I really appreciate all the work that has gone into VimFx. It has made a big difference in my RSI symptoms.

To be fair, though, this change didn't just break my workflow -- it broke the workflow of the entire web. There's usually a reason for particular links being defined to open in a new tab, and most users would reasonably expect the default "follow link" action to mimic what would happen if the link was clicked with the mouse (principle of least surprise). Forcing links to open in the same tab should be considered a special action, just like "F" for forcing links to open in a new tab.

Anyway, as long as there's an option, that would be great.

Thanks a lot.

lydell commented 9 years ago

To be fair, though, this change didn't just break my workflow -- it broke the workflow of the entire web.

I’m afraid that we disagree here. In my opinion links that open in new tabs break the entire web. I expect all links work the same way—that’s the least surprising to me.

There's usually a reason for particular links being defined to open in a new tab

In my opinion there isn’t. Far too often I don’t understand at all why some links open in new tabs. That’s why I’ve used tab-related addons for Firefox that blocks this behaviour for a long, long time. I’ve also seen lots of people getting lost when links are opened in new tabs since they don’t notice that they did and then suddenly the back button doesn’t work anymore.


We could make a new boolean option such as “Force the f command to always open links in the same tab”. But then I’m sure somebody would say after a while that they usually want that option off, but sometimes wish to force a link to open in the same tab. Therefore I think it would be better to add a new separate command. But what’s the workflow for that command? Perhaps you can learn that on this page, that link opens in a new tab, but you don’t want it to so you’ll use the other f command on it. Or perhaps you follow the link and think “oh, that opened in a new tab, that’s not what I wanted” (there is not always any indication that says that the link will open in a new tab) and you’ll close the tab and follow the link again with the other command. That does not sound very convenient.

This new behavior is particularly annoying when following Google search results links, which I have configured to open in a new tab.

Why bother with configuring stuff this way, when you could just choose either the f or F command, and that would always do what you want?

It has made a big difference in my RSI symptoms.

If the problem with the F shortcut is that it requires you to hold shift, then I’d suggest you rebind it to an easily reachable single keypress.

lydell commented 9 years ago

As an aside, Vimium has a nice additional feature that allows you to open a link in a new tab and then focus that new tab.

Btw, I just implemented that in #451.

abastardi commented 9 years ago

I’m afraid that we disagree here. In my opinion links that open in new tabs break the entire web.

OK, but I guess my point was that I'm not arguing for the need to support some idiosyncratic workflow (as implied by the cartoon) -- this is standard browser behavior. In any case, perhaps we can at least agree that there is likely to be some diversity of preference here.

I expect all links work the same way—that’s the least surprising to me.

With regard to "surprise," I was referring to the behavior of VimFx, not websites in general. In other words, one would generally expect the "follow a link" action to have the same behavior as clicking the link with a mouse.

I suppose it's fine to override that, but then you should at least make sure the alternative behavior is well documented (e.g., the label in the help page should say something like "Follow a link on the current page (force to same tab)"). And given that this represents a change from a long-standing behavior, it would also be a good idea to pop up a notification upon upgrade. When VimFx silently upgraded to 0.5.17, my first thought was that something was wrong with Google search, as my links stopped opening in a new tab. It might not be obvious to the typical user that VimFx is overriding standard browser behavior, so this could lead to confusion (particularly for someone who is used to the old behavior).

There's usually a reason for particular links being defined to open in a new tab

In my opinion there isn’t.

Aside from Google search results, two other examples that come to mind are links in emails and map links to locations in contacts and calendars. Those are usually set to open in a new tab, and I think that is generally what is preferred (at least by some non-trivial minority).

We could make a new boolean option such as “Force the f command to always open links in the same tab”. But then I’m sure somebody would say after a while that they usually want that option off, but sometimes wish to force a link to open in the same tab. Therefore I think it would be better to add a new separate command. But what’s the workflow for that command? Perhaps you can learn that on this page, that link opens in a new tab, but you don’t want it to so you’ll use the other f command on it. Or perhaps you follow the link and think “oh, that opened in a new tab, that’s not what I wanted” (there is not always any indication that says that the link will open in a new tab) and you’ll close the tab and follow the link again with the other command. That does not sound very convenient.

I would be happy with a boolean option. If a separate "force same tab" command were introduced, I would probably only use it on sites I am familiar with where I know a particular link opens in a new tab but I don't want it to. For me, this would be rare (I can't actually think of a single example at the moment).

This new behavior is particularly annoying when following Google search results links, which I have configured to open in a new tab.

Why bother with configuring stuff this way, when you could just choose either the f or F command, and that would always do what you want?

I don't want to have to hit a modifier key when browsing search results, and I also don't want to have to consciously think about opening in a new tab. I also sometimes click links with my trackball if my hand is already on it or if I'm taking a break from the keyboard.

If the problem with the F shortcut is that it requires you to hold shift, then I’d suggest you rebind it to an easily reachable single keypress.

The only available key ergonomically on par with "f" is "m", and I'm already using that.

Thank you.

lydell commented 9 years ago

I'm not arguing for the need to support some idiosyncratic workflow (as implied by the cartoon)

Hey, forget about the silly cartoon. It was just a joke :) It’s hard to communicate through text sometimes, where you can’t see each others facial expressions and such like.


Alright, so all this boils down to:

I don't want to have to consciously think about opening in a new tab

Ok, I can buy that. But before I say anything else, there is one thing I need to know: How do you deal with sometimes getting a new tab when you didn’t want to? Doesn’t that bother you?

abastardi commented 9 years ago

Hey, forget about the silly cartoon. It was just a joke :)

Oh, no problem. I did think it was funny.

But before I say anything else, there is one thing I need to know: How do you deal with sometimes getting a new tab when you didn’t want to? Doesn’t that bother you?

I'm really having a hard time thinking of cases where that's a problem for me nowadays (admittedly, it was more of a bother before browsers had tabs). I'll have to start paying special attention to see if I really do encounter such annoyances (it's possible I have just gotten used to them).

I agree, though, that if that is a problem, there was no easy solution prior to 0.5.17. And the alternative workflow of having one shortcut to force links in the same tab and one to force links in a new tab does seem reasonable, as it simply allows the user to choose in each case. But for me, I think the costs (taking up an extra easy-hit key, and needing to make a conscious choice for every click) outweigh the benefits (which I perceive to be minimal).

GreenHapi commented 9 years ago

I updated this function in new patch #457 . Also, I think it will be very easy to add option in preferences to open links in new tab as default or vice verse, though it will be redundant, because it's possible to just change keyboard shortcuts.

abastardi commented 9 years ago

Also, I think it will be very easy to add option in preferences to open links in new tab as default or vice verse...

Note, the request was not to default to open links in a new tab vs. the same tab, but for the standard "follow link" action to obey the link as defined on the page rather than force it to open in the same tab (even if the page defines it to open in a new tab).

loonies commented 9 years ago

I strongly disagree with this, i.e. following the default behaviour.

If I press f I want link to open in the current tab, because I instructed VimFx to do so. Same goes for opening in a new tab, I'll use F, because this is exactly what I want.

abastardi commented 9 years ago

I strongly disagree with this, i.e. following the default behaviour.

To be clear, I am not suggesting a reversion to the old behavior. Rather, I am simply suggesting that the new behavior be made optional, so if you like the new behavior, you can stick with it, but others will have the option to keep the old behavior.

flybayer commented 9 years ago

Lol, what a thread :) I found this because I share the same frustration as abastardi

I too have Google search set to open links in a new tab. My prefered workflow is this:

  1. Search google for something
  2. Go down through the search results, and when I find something I want to look at, I click on it.
  3. It opens in a new tab where I can browse that site.
  4. When I'm done with that site, I close the tab which lands me back on the Google search tab.
  5. Find another interesting link, and repeat the process.

The primary reason I do this is that I often click through to other pages and/or sites from a search result. Therefore, I'm left with these options when I'm done with that search "trail"

  1. If search result opened in same tab as search, I must hit back multiple times to return to Google search
  2. If search result opens in a new tab, I only have to close the tab to instantly return to Google search no matter how many links I clicked on after initially opening the search results.

Hopefully that helps explain this more. So I too would really like to see an option in settings to disable the "new tab override" that VimFx currently uses.

As for the suggestion to just use F in this case, that doesn't work for me. I have Firefox set to not focus on new tabs. This is because when I read an article and see a link I want to read, I hit F to open it in a new tab (without focusing on it) so that I can continue reading the current article without interruption.

lydell commented 9 years ago

@feedthebayer Then we browse the exact same way. In the development version, 'F' always opens new tabs in the background while 'gf' always opens new tabs in the foreground, so you won't need this option. I'll add it anyway, though.

flybayer commented 9 years ago

:+1:

utylee commented 9 years ago

Thank you for the great add-on. Vimfx is my favorite firefox add-on.

I feel inconvenient for this fix especially in google-searching, too. In general, I expected that 'f' and 'F' will work just same as clicking mouse 'left-button' and 'shift + left-button'. In consistency side, the updated behavior may have a merit. But in my case, the old way seems more intuitive.