🎉 Happy 21st Birthday to Danbooru! 🎉

Idea for Danbooru script: Pool mode

Posted under General

I don't know if such an idea is feasible, but thought I should throw it out there anyway in case it caught the eyes of a capable programmer.

Basically pool navigation has always been inconvenient since Danbooru 1 and got a bit worse with v2.0.0 (I do like the placement of pool title in v2 better though, no more huge ugly gray boxes stacked above images). To go to the next post, you have to go up from the end of the picture or comment section to the top, find the 'Next' link and click it.

My idea is to implement a [Pool Mode] button on each image (together with other options like Resize, Favorite, Add Note,...). Upon entering this mode, going to prev/next post can be done by hitting arrow keyboard. No more mouse clicking needed. This mode lasts until the user clicks on [Pool Mode] button again. If an image belongs to 2 or more pools, clicking [Pool Mode] will promt a list of pools (that image belongs to) for the user to choose.

Another way to arrange this is implementing a button for every pool title that appeared on an image. Users simply click on the button corresponding with the pool they wish to enter.

Updated by Sal.N

This seems like something that could be implemented in Danbooru itself without any problems, minus the unnecessary [Pool Mode] button (it can just use the pool you last clicked <prev or next> for instead).

It may be worth suggesting to Albert after the bugs die down.

It's part-way there already: you'll notice that the «prev and next» links (though not the thumbnails from the Pool page) pass the pool ID as a parameter anyway.

Danbooru doesn't currently do anything with it, but the obvious extension is to use that as the indicator for the "current" pool, and do things like make sure it appears first in the pool list (for consistent screen positioning) and bind it to keyboard shortcuts. On that note, I wouldn't use arrows - they're too common for regular navigation - but square brackets would be pretty safe, or angle-brackets if you want the extra protection of a shifted keystroke.

I think arrows are perfectly fine. They're also more consistent, as the arrows are already used to navigate between pages in a search.

Even if the user did hit an arrow accidentally it wouldn't do anything on most post pages; it would only work on the ones with ?pool_id=num at the end. And that would only appear if the user has already been browsing a pool.

Aristocrat said:

I'm pretty sure arrow key pool navigation has been a part of Danbooru - Miscellaneous Tweaks for at least a year now. The script author just has to update it for Danbooru 2.

Is that so? Wish I had known sooner. Thank you for pointing that out.

Toks said:

it can just use the pool you last clicked <prev or next> for instead

kounishin said:

It's part-way there already: you'll notice that the «prev and next» links (though not the thumbnails from the Pool page) pass the pool ID as a parameter anyway. Danbooru doesn't currently do anything with it, but the obvious extension is to use that as the indicator for the "current" pool, and do things like make sure it appears first in the pool list (for consistent screen positioning) and bind it to keyboard shortcuts.

Indeed. Since the upgrade, I go through a pool by opening all its images in tabs so I didn't notice the pool ID parameter if you click Prev/Next.

I don't mind which keyboard shortcut is assigned for this, as long as such a feature is available.

With the most recent updates, the pool_id parameter is now used: if it's set, the pool given is guaranteed to be the first in the pool list. (If the image isn't part of the pool given, that pool will still appear at the top of the pool list, which is probably a bug. The "prev" and "next" links will both be disabled in that case.)

Also, the "prev" and "next" links now have corresponding rel= attributes, so various tools that pick up on those will work already. (This might lead to confusion when you hit the end of a main pool, though - if the image is part of another pool as well, that'll be the first "rel=next" link on the page...)

1