Project

General

Profile

Actions

Feature #525

open

Consider adding a secondary tab interface that fills the entire screen

Added by Adam Fontenot almost 5 years ago. Updated about 1 year ago.

Status:
New
Priority:
3.x
Start date:
01/17/2020
Due date:
% Done:

0%

Estimated time:

Description

Hi, hope you don't mind other people leaving bug reports; the issue tracker was open registration so I figured it couldn't hurt.

User story: I discovered Privacy Browser yesterday, and was shocked by how full-featured it was given that I had never heard of it before. I want to be able to consider making it my primary browser, but can't currently. The reason is that I use (and prefer) smaller phones, but the tab bar is too small to accurately click on, and the "scrolling" mechanic makes it very difficult for me to close many tabs at a time.

Feature request: a button that would open a full screen tab switcher. I like the one in Firefox the most, personally, but really any full screen interface with larger tab buttons for people with big fingers would be fine. Obviously this feature, when enabled, should automatically disable the current tab bar because it takes up a lot of screen space.

This might be considered an accessibility request, if you have a tag for that. I'm sure there are people who need larger click areas for a variety of reasons.

I've included a screenshot comparing the UX of Privacy Browser and Firefox for 8 tabs open. Note that with a single button within thumb's reach, Firefox has shown me all eight of my tabs, with large easy-to-click buttons. I can click or swipe to close each tab, or click a tab to open it. Privacy Browser has no clear visual indication of how many tabs I have open. To close a tab, I have to repeatedly click on an 'x' button on the top left corner of my screen, which is not within reach of my thumb (meaning I have to switch to using the phone with two hands). Opening a tab means trying to scroll on the small tab bar to find the tab I want.

Thanks for your hard work, it looks to me like Privacy Browser has a lot of great features that you can't get elsewhere at present.


Files

tab-switch-story-firefox-v-privacybrowser.png (499 KB) tab-switch-story-firefox-v-privacybrowser.png Adam Fontenot, 01/17/2020 04:43 PM
browser_thumb_reach_compare.png (96.4 KB) browser_thumb_reach_compare.png Adam Fontenot, 01/31/2020 07:57 PM
FFfocus-TabButton.png (80.6 KB) FFfocus-TabButton.png FFF tab button Just Root, 05/10/2020 07:49 AM
FocusTabList.png (54.7 KB) FocusTabList.png Pressed tab button, shows list of all open tabs Just Root, 05/10/2020 07:49 AM
Actions #1

Updated by Soren Stoutner almost 5 years ago

  • Assignee set to Soren Stoutner

This is the perfect place to leave a bug report or feature request and users are encouraged to do so.

First, you might be interested in reading a little bit of background regarding the tab interface. I wrote a fair amount about it at https://www.stoutner.com/privacy-browser-design-guidelines/. If you search for the word "tab" you will find a section that starts about halfway down the page.

There is also some discussion about the evolution of the close button at https://redmine.stoutner.com/issues/416.

You are the first person who has reported difficulty with the size of the tabs being too small for accurate interaction. Android adjusts the height of the tabs so that it should be an appropriate size for fingers on any device. I am curious about the resolution and physical screen size of the device you are using, the Android display size you have selected (in the main Android OS settings), and if you have difficulty interacting with many of the button in other apps (which are often smaller/closer together than the tabs in Privacy Browser).

As you might or might not already know, if you desire to close all the tabs you can do so by tapping Clear and Exit from the navigation menu. However, as you pointed out, if you desire to close some of your tabs, currently the only way to do so is to tap on each one and then tap the close button (or tap the back button if the tab is the at the beginning of its history). Although this isn't ideal in all circumstances, I am not initially inclined to create a secondary tab interface just for that purpose, mostly because, as I describe in the link above, for a majority of cases I feel that secondary tab interfaces are inferior UIs, something I personally do not like about using most mobile browsers, and something I specifically designed Privacy Browser not to do. I didn't want a system that would end up with dozens of tabs in the background because there is no way to close them from the main screen, I didn't want the tab interface to be buried behind two taps (although what I have ended up with on small phones is that sometimes it requires a swipe and tap, which I admit isn't ideal), and I didn't want any type of popup or secondary activity that would replace or cover the screen when dealing with tabs.

As you suggested, it would be possible to create an optional tab interface that users could enable. However, having multiple, optional, UI interfaces is more difficult than most people who have never tried to program probably imagine, and it makes maintaining the codebase significantly more difficult because changes in seemingly unrelated sections of the code can create bugs that only manifest when particular UI options are combined, making the testing of new features require running through every possible UI combination. In addition, creating an optional interface would require a significant amount of time that I would prefer to spend developing other features I feel are more important.

However, I will leave this feature request open. If there are enough users who have accessibility problems with the current tab interface then I will consider doing something to address it.

Actions #2

Updated by Adam Fontenot almost 5 years ago

You are the first person who has reported difficulty with the size of the tabs being too small for accurate interaction. Android adjusts the height of the tabs so that it should be an appropriate size for fingers on any device. I am curious about the resolution and physical screen size of the device you are using, the Android display size you have selected (in the main Android OS settings), and if you have difficulty interacting with many of the button in other apps (which are often smaller/closer together than the tabs in Privacy Browser).

This is a Moto X4. The screen is 5.2 in (130 mm) 1920 × 1080 (16∶9, 424 px/in) according to Wikipedia. I have the display size set to "small" (my preferred setting). I think some Android devices have more than three display size settings, but this Motorola phone has only three, and "small" is the smallest of the three. I don't remember the default offhand.

Here's a little more information that may help explain. I use my phone (almost) exclusively with one hand. This means that pushing a button is always done with my right thumb, which has to reach over the screen to push the button. Certain parts of the screen are completely out of reach unless I completely reposition the phone in my hand temporarily (balancing the phone on the tips of my fingers to give my thumb extra reach). The "x" tab close button is like that currently on Privacy Browser. Even when a button is just within reach of my thumb, if it requires stretching my thumb over the screen, the touch accuracy of my already large thumb is greatly reduced, and the possibility of misclicks because of the thumb's proximity to the screen is high.

I'm attaching an image with two photos of the furthest reach of my thumb without requiring repositioning. This is about the point at which misclicks and general inaccuracy becomes a problem, and stretching my thumb this far is a little uncomfortable. As you can see from the photos, it's difficult for me to accurately swipe and click on the tab bar. Parts of the bar and the "x" close button are entirely out of reach. If I were a "peck" smartphone user, where the phone remains cradles in one hand while the dominant forefinger "pecks" at the screen, this might not be a problem. Not so easy for people with smaller phones who use them one-handed, however. (I do it by preference, other people might have to.)

Compare with the screenshot of Firefox I uploaded initially. While opening the tab manager requires one slightly uncomfortable button press, tab management at that point can be done entirely with clicks on the easy-to-reach lower-middle-right of the screen. Basically every app I use regularly has the same affordances.

I didn't want the tab interface to be buried behind two taps (although what I have ended up with on small phones is that sometimes it requires a swipe and tap, which I admit isn't ideal)

My thought here is that in fact the tab interface on a phone usually requires many swipes, given the number of tabs I typically have open.

Obviously you can do what you want with the browser, it's your project! Just thought that feedback on how at least one person uses their phone might be helpful for UX design.

Actions #3

Updated by Soren Stoutner almost 5 years ago

I appreciate the detailed comment. Not everyone takes the time to be that descriptive, which I find to be helpful.

You might be aware that there is a pending feature request to have an option to move the app bar to the bottom of the screen. This is actually unimaginably difficult to do as an option (think, for a second, about how the logic would have to work to scroll the app bar off the screen, which is the opposite of how it has to work at the top of the screen and quite difficult to have it optionally switch back and forth), and I am not yet sure I am even going to implement it.

https://redmine.stoutner.com/issues/143

But if I did do this, would it resolve the issue of the reach of your thumb (still providing a suboptimal tab experience compared to what you have requested)?

Actions #4

Updated by Just Root over 4 years ago

I am a different person and cannot speak for the OP. But I have a desire to see the tab system be more user-friendly (especially when dealing with a high number of open tabs.)

Again I am not the OP: but IMHO moving the existing tab structure to the bottom would not help much (if at all.) I could see it helping people with bigger phones and lazy thumbs (like myself) but I could also see it being annoying (throwing a user out of "balance" so to speak) and possibly overlapping/messing with a keyboard and/or dictionary selection above a keyboard.

IMHO do not waste your time moving the existing bar to the bottom of the browser. If you did do that, you would have to make a toggle switch for it (because a lot of people would want to keep it at the top) and this is just a waste of your good development time IMHO.

I would like to see the tab system changed (it's not a priority, but the current layout is not easy to use when you open many tabs... I'm a tabber, I have over 40 open tabs in Bromite (de-googled Chrome) right now. I keep them open so I can refer back to them... yeah maybe that goes against a "privacy" browser. But "privacy" and "delete everything after you open it" are two different things that are not mutually exclusive. A browser can be private while still saving your tabs IMHO. That's why Chrome has a "private browsing" mode... so your "private mode" tabs aren't saved, but you can save your research (open tabs) in regular mode. Now Google Chrome is not private and I don't like the way Chrome handles tabs on Android either... it doesn't let you pick to open directly to the tab or to open it in the background (like you can with Privacy Browser) on Chrome you set in settings if tab opens in background or foreground, but I like to choose for individual links. Firefox does this (when you open a tab it asks you at the bottom if you want to go directly to that tab.)

I like Firefox's tab design... but I can see how regular Firefox screen/row tabs wouldn't fit quite right with P.B. (Privacy Browser from now on) without some major changes. So I'd like to bring attention to Firefox Focus (github /mozilla-mobile/focus-android)

Firefox Focus has an appearing (when you scroll upwards) button at the botton right that shows a number (the number of tabs open) and when you click the button, it shows all of those tabs listed out so you can click on the tab you want to go to.) IMHO you'll need to install Firefox Focus (github link above, release page) to really see what I'm talking about.

I think this tab button idea would be great for P.B. (a PIA to implement? Probably... I don't even know the half of it.) But it would be better than the current tab layout because it lets you easily scroll through many open tabs to find the tab you want (I've had ~70 tabs open in FF Focus before it got OOM killed lol.)

But FF Focus's tab button isn't perfect (I like the idea for P.B. though.) FFF (Firefox Focus from now on.) FFF's tab button has one important thing missing... you cannot close individual tabs (except if you back, back, back, back until it closes, which is annoying.) Not being able to close individual tabs means the tabs buildup fast and they eat more and more RAM until FFF is killed (on low RAM phones) then you lose all your open tabs and that always upsets me when I was reading good website info that I have to then refind.

Anyways I think it'd be cool for P.B. to have a tab button (or slideout window, whatever) to list the tabs so you can easily scroll up and down to see all the open tabs. P.B.'s current tab structure requires that you scroll left/right through many tabs to find what you want... this is much harder (unless the tabs were word wrapped to fit the screen, but that's only plausible on a desktop size screen.)

I have 2 screenshots of FFF with 5 tabs open (you can see the tab button) and the second screenshot I clicked the tab button to expand and show the five open tabs. I think a tab button similar to FFF (where you can scroll up/down and easily view many tabs simultaneously) would be great for P.B. But we'd also need to keep the ability to close individual tabs (maybe swipe to the left or right to close a single tab.) I also do not like that FFF has a "trash can" (close all tabs) at the bottom of the tab button display... it is too easy to accidentally touch that and lose all your open tabs.

I'll upload my screenshots and leave it at this. Just an idea. You probably have better things to work on (like Privacy WebView sounds awesome... kinda like Bromite WebView; maybe you can use some of their code.)

If you want to understand FFF's tab button better... you should try it out: github /mozilla-mobile/focus-android/releases (they have 64 and 32 bit ARM binaries.) But FFF constantly contacts some Amazon servers even when sending diagnostics data is switched off... so I wouldn't recommend it anymore. I used FFF (and Klar) on my old phone, but when I got my new phone I refused to install it because I don't want to be complacent with tracking. It was hard for me to switch from long-term FFF use to using mostly P.B; but only because I missed the easy tab scrolling button of FFF. I've gotten over that though, I use P.B. as my everyday browser.

Updated by Just Root over 4 years ago

I think it wouldn't let me post due to github links. I was getting an error webpage something about contacting the redmine admin. I don't know how to delete my test post :/

Here are the screenshots (I didn't put them in my prior post because I thought maybe they were causing the inability to post issue.)

Actions #6

Updated by Soren Stoutner over 4 years ago

  • Subject changed from Consider adding more touch friendly tab switcher, like Chrome, Firefox, Edge, Brave, etc to Consider adding a secondary tab interface that fill the entire screen

Thanks for your feedback.

As described at https://redmine.stoutner.com/issues/143, if I do implement a bottom app bar design, it would be optional and not the default. Because of the complexity of doing so, I am not sure it will even happen.

Regarding the tabbed layout, as I have described in other places, one of my requirements for handling tabs is that they need to be visible on the main interface without having to open up another activity or popup. However, I realize that this doesn't work well on small screens with lots of tabs. Perhaps I will look at some type of secondary interface that can be opened, where the tabs fill the entire screen. This would give the best of both worlds.

You might find what I have written at https://www.stoutner.com/privacy-browser-design-guidelines/ helpful.

Actions #7

Updated by Soren Stoutner over 4 years ago

  • Subject changed from Consider adding a secondary tab interface that fill the entire screen to Consider adding a secondary tab interface that fills the entire screen
Actions #8

Updated by ask low about 1 year ago

(As Of #1077) I believe there is no need to addon any sort of interface for tabs. That would further clutter the browser interface & won't be as per within the Android Standard Guidelines.
Dynamically filtering out existing tabs within the tab strip, based on the text we type in the url bar, would solve the problem of multiple opened tabs.

Actions #9

Updated by Soren Stoutner about 1 year ago

Modifying the tabs when text is typed in the URL bar is not something I would consider implementing. It would be confusing to users who were typing things they didn't intend as a tab filter. (Not to mention that the standard TabLayout doesn't have any ability to do this, and extending it to do so would introduce numerous bugs in the relationship between the tabs and the page layout.)

However, if I do implement a second tab activity as described in this feature request, I was planning to add a search functionality, as it seems like a natural and easy place to do so.

Actions #10

Updated by ask low about 1 year ago

That makes sense. However I haven't quite understood what you mean by Secondary Tab Activity. Would that be another pop-up like interface under the main tab activity? If that's the case, then I would believe it'll complicate the landscape usage (as we previously discussed about the no. of rows issue).

I think it's better to overlay that secondary tab activity ontop of main tab activity, and dismiss it whenever you come out of url bar. That shouldn't interfere with main tab, as the user would type in the url bar with an intention of searching an existing tab, but not to scroll through existing tabs.

Actions #11

Updated by Soren Stoutner about 1 year ago

In Android, Activities are entirely separate screens.

https://developer.android.com/reference/android/app/Activity

Contrast this with Fragments, which can be part of a screen. An Activity often displays one or more Fragments.

https://developer.android.com/guide/fragments

Both Fragments and Activities can include Views, which are the most basic layout element.

https://developer.android.com/reference/android/view/View

In Privacy Browser, the Main Activity has the URL bar, the tab interface, and the web pages. Examples of other Activities in Privacy Browser are the Settings Activity, the Requests Activity, the Domain Settings Activity, the Import/Export Activity, the Logcat Activity, etc.

You can get some idea of how Privacy Browser is designed by looking at the names of the files in each of the subfolders.

https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=tree;f=app/src/main/java/com/stoutner/privacybrowser;hb=HEAD

All of the Dialogs are also Fragments, but I have separated them into their own folder for ease of organization.

Actions #12

Updated by Soren Stoutner about 1 year ago

An example of what I mean by secondary tab activity can be seen with how bookmarks are currently implemented. The main activity has a bookmarks view in a drawer, which is similar to how it has a tab view.

However, I have also implemented two separate bookmark activities with additional functionality.

Something similar is what is being discussed in this feature request, which is a secondary activity that could be launched that would present the tabs in a different fashion that would make it easier to work with large numbers of tabs at once.

Actions #13

Updated by Soren Stoutner about 1 year ago

Regarding the URL bar, I am fundamentally opposed to anything popping up or changing anywhere on the screen when the user types in the URL bar. I dislike it when other browser do that and I can't imagine anything that would justify implementing such bothersome behavior in Privacy Browser.

Actions #14

Updated by ask low about 1 year ago

I can understand your decision. I thought it could've been better if feature activities like these, would integrate well if they're interactive within the existing interface itself.
Although, sticking to the standard guidelines is one way to keep the codebase simple & keep UI/UX consistent throughout the wide range of Android devices.
I didn't knew how restrictive the Android standard libraries were.

Actions #15

Updated by v ... about 1 year ago

Just so you know, I often open a lot of tabs, so I'm interested having the secondary tab activity implemented. It'll allow us to easily jump from one tab to another. Thank you for considering implementing this feature.

Actions #16

Updated by ask low about 1 year ago

Although it's good to have tab searching, currently I restrict the no of tabs I concurrently have inorder to have less clutter.
It's overall a better practice to close unwanted tabs frequently in web surfing, especially for a privacy oriented surfing.

My device has 6 gigs of ddr4. So sometimes I feel like I'm not reaping it's full potential though.

Actions

Also available in: Atom PDF