4 ms·
Why new Firefox 13 'load tabs on demand' is bad UX.
- agumonkey 14y agoWhat about throttled loading ? processing wise, what is in the background will have 5% cpu allocated.
- daeken 14y agoOne thing that comes to mind is to do all the actual loading of assets (HTML, CSS, images, JS, etc) but don't decompress/run anything. That way it can be done 100% in the background and then spin up quickly without having to hit the network once a tab is clicked. Might have to look into trying something like that out; I work on Gecko, but in totally different parts of the code, so it'd be a fun little experiment if nothing else.
- agumonkey 14y agoResource prefetch would be good. I don't even know if it's possible for applications to throttle cpu/thread usage.
- illumen 14y agoThreads and processes can be given a lower priority. Edit for @barrkel: you can also do more advanced resource shaping on some OSen. Like limiting the number of network connections per second, and limiting the bandwidth. There are also cpu throttling possibilities where you can make sure a process only runs max 10% of cpu. Or as you say, putting scheduling into the app is another possibility.
- barrkel 14y agoLower priority does nothing to throttle activity unless there is a higher priority thread available to run; if the machine is otherwise idle, lowest priority threads will use 100% of CPU resources. If you want to avoid high CPU graphs, whirring fans from increased heat, etc., you need to make the thread or process sleep occasionally. For a thread, that's best done with explicit coding; for a process that isn't sharing resources with other processes, you can get away with more invasive freezing from the outside.
- agumonkey 14y agoI guess it's possible to code a tiny arbiter that will wake 'background' thread every few ms.
- bengoodger 14y agoWe used to do this in Chrome in our pre-release days. It was annoying to use so we turned it off. The downside is that our session restore startup time could definitely be better for large numbers of tabs. We could do a better job of prioritizing loads. The right balance is doing the right thing for the user without exposing an implementation detail IMO.
- illumen 14y agoInteresting. Putting in the work to just improve the speed is the hard fix usually. But I guess firefox and chrome are fairly optimized for loading already. However, some good heuristics might help. Things like number of tabs, most common tabs used, active tab, time to load and responsiveness(frame rate, latency etc) would be good indicators. I'm not sure how good hard coding stuff in like number of tabs would be. Whilst just loading up to 8 tabs would probably work, these numbers seem to change over time. Like the oldIE 4 connections limit for example. But! With frequent automatic updates, this value could be tweaked later if needed. Cpu, and IO could be set based on the indicators as well.
- malnourish 14y agoWhy not something like: If *n* tabs >= x Load tabs on demand Else Load tabs in background x can be set by default at some arbitrary number and also be changed.
- r00fus 14y agoProblem is, X will change based on a bunch of factors - type of browsing, screen real-estate, etc. If that isn't taken into account, it could result in what the user perceives to be a jarring interface shift. We could use much more subtle algorithms - what about loading visible page, then queuing up X background tabs to concurrently load (based tab order)? What about a logarithmic backoff (ie, load up visible and several background pages, then slowly load others)? Fact is, user-time is valuable, compute time (and for most users) bandwidth is not. What's valuable should be prioritized.
- Erunno 14y ago
- Yarnage 14y agoThis seems like an issue only power users will have for the most part. Firefox even has an option to disable this for power users. However, with that being said, I'm not a big fan. I think agumonkey's throttled loading is a nice idea though.
- illumen 14y agoThere's definitely different groups of users here. Without being able to spy on firefox users, I'd guess the 5-8 tabs people are a decently sized group. The one tab people, and the 50-400 tab people are probably other sizable groups. The new change helps out the 50-400 tab people a lot. Each group could all do with a good UX though.
- ta12121 14y agoExcept for users that have dozens of tabs loaded because they're digital packrats, and don't care about most of them most of the time.
- FreeFull 14y agoLike me. I can easily reach over 450 tabs, and have been using this feature since Firefox 4, when it was added.
- phaylon 14y agoI fully agree, I currently have 174 tabs open, and that's actually a low number for me (I closed a couple hundred down on the weekend). Having all of them reload when I restart my browser was a nightmare before this feature. Everytime I'd have to hunt down a couple tabs that contain auto-playing videos. All while getting Basic Auth password popups for work related resources. Plus, it is much better for over-all performance since some websites switched to an interface that polls for updates in the background. Of course I know I'm not a typical user, so I wouldn't really argue against this being an option that is off by default. But it would very much hurt my user experience if it weren't available at all.
- illumen 14y agoYeah, it's definitely an improvement for you 50+ tab peoples. Not so good for the 5-8 tab people. I think both groups should get a good user experience though.
- phaylon 14y agoI agree. That's why I said I just want to have the option, but I don't care about its initial state :) I wouldn't even care if it were only available in about:config. I just wanted to mention my viewpoint (started writing it before I saw the other replies), since I find it an important improvement. For example, I won't use Chromium regularly besides testing things in it, because it would be way too painful for me.
- Toshio 14y agoOff-topic: has anyone on HN spent time cataloguing either good UX choices or bad UX choices in today's web? I'm slowly beginning to take interest in user experience design (I'm a backend developer).
- naner 14y agoI don't care if it is bad UX, I prefer it. I also turn off all the different types of preloading in Chrome, but that's another story. The loading of a page hardly takes any time at all, and I generally have to reload the page when I finally get to older tabs anyways. And, this is silly, but it feels wasteful to have all tabs loaded all the time when I'm only using one or a few at any given moment. Also I wouldn't mind if someone invented the "next great thing" to get us away from tabs. They are unwieldy, encourage tab-hoarding, and it is difficult to quickly locate a specific tab within a nontrivial number of open tabs. My overloaded tab bar causes more anguish than my email inbox.
- mindctrl 14y agoThe author is confused.