Queue links in Firefox instead of switching applications each time.
Have you ever wanted to open a link in your browser? Of course you have — everyone has. But after that, you’re going to find yourself at a crossroads — “this tab” or “a new tab”?
On a desktop computer, there isn’t really much of a problem. Simply right-click the link and select “Open Link in a New Tab”. Bam, it’s done.
The content will begin loading, and by the end of this sentence it will probably be finished too. This all happened in the background, out of your way. Switching tabs at any time is easy too. It’s all very reliable.
This is not a completely revolutionary idea. But we felt that there still might be an opportunity to improve this user experience on mobile.
- The idea of “apps” on mobile platforms create a lot of friction
- Linking or switching between apps is kind of hard and kind of sucks — even with Android’s “Recent Apps” button
- If you’re already in the browser, this isn’t so much of an issue
- “What if I want to more than one link?”
- “What if I don’t want to look at that link right now?”
- Users should still be able to keep their current browsing habits
For whatever reason, we find ourselves making users reprioritize and instantly consume the content. Maybe, there’s room for improvement.
“Opening links in the background” — the original idea. We wanted to give users the ability to load links, without having to switch apps every time. The idea is to defer that choice to the user.
Do you want that now, or later?
We did our homework and took a look at some of the alternative solutions out there. From Link Bubble, to Instapaper, to email, even the classic pen & paper. At the end of the day, it seemed like users just chose what they’re most comfortable with — whatever suited their individual needs. We think we can serve those needs for Firefox on Android users.
Our first road block— we couldn’t actually load pages without Firefox open. Maybe there were ways around this, but we wanted to rapidly iterate on this in the wild and so we put a pin in that idea. The goal was to get something out there (quickly) to test, measure, and improve.
While not as elegant, we decided to simply create a “list” of tabs. The idea was that Firefox would load all the links in this “list” next time the user opened the app. Hence the ever elegant internal name, “tab queue”.
After that, we moved onto the “feedback”. What happens when a user presses a link? There needed to be a way users could easily switch at any given time. Android’s toasts worked great for instant feedback but it also forced users to take immediate action. We wanted to be more flexible than that.
Especially with users possibly on the move, there might be an unpredictable amount of delay between opening and consuming. So, we opted to use notifications as well — a more subtle way to remind users “those links are waiting for you”.
I think that the potential user impact could be substantial. Especially alongside some of our other features like Synced tabs, and even Reader view & Reading list. But, of course there’s always a cost of change involved.
The goal was to be clear, but not annoying. What did we already have in Firefox or up our UX sleeves that we could leverage?
Frankly, not a whole lot. But, I saw some similarities with our first-time user experience project (also in the works). I had deliberately redesigned that to be more extensible due to the nature of a continuous theme like “onboarding”. So, we started there.
This in-product feature UI is designed to trigger only after you open a link in Firefox a couple of times. While we’ve never had any UI/UX like this before, this was designed to be fully extensible for other similar initiatives in the future. It’s valuable to consider reusability of both interaction and code.
One of the improvements that we’ll have to save for “V2” is to be smarter about when this is triggered. That way, if you don’t actually jump in between apps that often, you’ll probably never see this.
New features are tricky. The truth is, habits are very hard to change. Sometimes users never see what they’re missing until they try it. After all, why fix it if it’s not broken?
A very early version of this feature is available today (if you’re using our Nightly builds) and you can enable it inside “Settings”. Hopefully you’ll find it useful. If not, leave a comment, tell us why and hopefully we can improve this feature together.