Bookmarks

You can bookmark stories if you want to continue reading them later. For this to work, you have to use an account and you have to be logged on to the site.

To bookmark a story, you can simply click on a paragraph in the story. The paragraph will be marked like this:

image

If you open the same story later, the browser will automatically scroll to the paragraph you’ve bookmarked before, so you can continue reading from there.

Clicking another paragraph within the same story will move the bookmark.

There are also buttons where you can toggle the bookmark for the whole story:

The menu item User->Your Bookmarked Stories will list all stories you’ve currently bookmarked. In this list you can also remove bookmarks by clicking the little x button right of the bookmark:

The percentage number shows the position of the bookmark in the story.

7 Likes

Yes! Thanks for this feature, its really helpful

1 Like

Is it possible to turn off the “scroll to bookmark” feature? Or just not have it bookmark inside a story? Its really annoying to have it scroll to a random bookmark in a story that I only put in by accident.

Because clicking in a paragraph will just add a bookmark. It would be much better if it needed a right click or something that positively adds a bookmark.

Is this still such an issue that people keep accidentally activating bookmarks? Clicking a paragraph doesn’t activate a bookmark, you have to click and hold (without movement) for a second to activate the paragraph. What’s the typical situation you set a bookmark by accident?

Right click is not an option because there is no right click on mobiles and on a desktop, a right click has a different purpose.

The bookmark feature doesn’t make much sense without the “scroll to bookmark” feature.

I have never intentionally bookmarked a paragraph, but I seem to create them accidentally quite often.

I haven’t created on accidentally since Martin’s last updates to the feature. I’m generally on Safari on an iPhone 12. This could be a browser thing.

Again, I need to know how this happens accidentally. Of course, if you touch the screen and don’t move your finger for a while, it’ll create a bookmark. But it’ll also activate the browser’s “select text” mode. Touching the screen without moving (to scroll) is just not a good idea on a phone.

And on the desktop, I don’t see any reason why to click on a paragraph for a longer time in the first place, unless you want to create a bookmark.

So, please just tell me how you use this so I can figure out a way to resolve this for you.

I’m in Chrome, on Windows 10.

I hadn’t realised there was a length of time to click. That explains why I was finding it so erratic, and sometimes adding or removing bookmarks didn’t work.

Knowing that is helpful with intentionally doing these things.

I had a bit of a fiddle around, trying some different things.

1: If I middle mouse click and drag down, it activates the mouse auto scroll, but at the same time, it activates the bookmark. Seems because its still dragging through the paragraph. I do sometimes accidentally activate the middle click when I’m trying to use the mouse wheel, which would explain the random bookmarks in my stories.

2: A right click in a paragraph will activate the bookmark as well.

I don’t think you’re using jQuery? But heres a note about their mousedown event, that seems to indicate that a click event may be preferable?

https://api.jquery.com/mousedown/

Because it would ignore the case where a pointer is dragged using a mouse click - drag - mouse up. At least I think that’s the case. I just did a fly by.

At the least, differentiating between the mouse buttons would probably go a long way towards removing some confusion by just making it the left click.

I also had no idea that book marks were being created in the story. I had seen the pink bookmark blocks at the top and bottom and thought that was what bookmarking was. Just a more neutral way than favourite of keeping track.

Hi @NZGymin

thanks for your insight and suggestions.

The actual code I use to detect the click looks like this:

        if(isMobile.any()) {
            TextParArray.on("touchstart", function (e) {
                touchedElem = e.target;

                window.setTimeout(function () {
                    if (e.target === touchedElem) {
                        let par = TextParArray.index($(e.target));
                        bookmarkButtonClick(null, par);
                    }

                    touchedElem = undefined;
                }, touchDelay);
            });
            TextParArray.on("touchmove touchend", function (e) {
                touchedElem = undefined;
            });
        }
        else {
            TextParArray.on("mousedown", function (e) {
                touchedElem = e.target;

                window.setTimeout(function () {
                    if (e.target === touchedElem) {
                        let par = TextParArray.index($(e.target));
                        bookmarkButtonClick(null, par);
                    }

                    touchedElem = undefined;
                }, touchDelay);
            });
            TextParArray.on("mouseup",function (e) {
                touchedElem = undefined;
            });
        }

just in case you’re interested and, yes, I appreciate suggestion to improve that. My primary goal was to make sure that there are no accidental activations on a mobile phone when the user wants to scroll.

That the right and middle mouse button also toggles the bookmark on a desktop is actually not intended. Since I never click right or middle for a longer time (I don’t use the middle mouse button for scrolling myself), this never occurred to me. But you’re right, that has to be fixed, which is easy enough. I could also detect mouse movement or scroll offset change. It just never thought that there’s even an issue on the desktop until you told me about your problems.


That the bookmarks are supposed to remember your position inside of a story is the actual reason I added that feature. I think this is really neat, especially with longer stories, or in case you happen to be finished with fapping (could happen … :slight_smile: ) and want to finish the story later.

One issue, though, is that this functionality is hard to communicate the user, especially as users never read any documentation (which I understand). So if you have any idea how to improve the user experience so that the user understands the options and function better, just go ahead, I’m very open to suggestions!

I’ve just uploaded an update which should make it harder to accidently toggle a bookmark on desktops. Only the LMB is now recognized, and movement of the mouse while holding the button will also cancel the toggling.

I suspect that will be much better. The proof of the pudding though is in the using. I’ll keep an eye out.

One thing that may cause problems… It seems like even a tiny movement of the mouse is enough to cancel the bookmark toggling. Most people are probably a bit sloppy in their mouse clicks. I often am. And for mobile, it’s reasonably common for the touch position to wander by a few pixels. (I think??)

I was wondering if it’s possible to capture the double click radius form whatever pointing device the user is using, and use that to work out if the pointer has moved enough to cancel the bookmark update. I only suggest the double click radius because it’s a user setting, especialy for accessibility, so being able to honour that seems quite useful.

Otherwise, can there be an acceptable mouse movement to still capture the held click? 4, 5 pixels? Less? I’m just making up numbers…

As for discoverability, I am no expert at all, but it always seems hard ot get right. UIs either over explain, annoying the seasoned users, or underexplain, frustrating new people. And not just new people. When new features are added. seasoned people often miss them.

The way I THINK I’ve seen it handled best is to have tips that come up, and the user can acknowledge them, and then not see them again. But that’s got to be a LOT of work for the coders…

For this particular feature, I suspect just adding a bit of text to the hover text that comes up over the pink bookmark buttons. “Bookmark for later, click and hold in a paragraph to toggle the bookmark to the paragraph”

Hover text can be great. Usually. :slight_smile:

Again, thank you for your suggestions!

I actually already had implemented a “acceptance zone” for movements in the past, but it turned out, that it was not necessary for phones, as the “touchmove” only triggers if the user is clearly moving his finger intentionally.

For the desktop it might be a bit different, I guess the mousemove event will trigger even with the slightest movement. But when I tried it, I had no problems triggering the toggle, so I left it like this.

As for the tool tips (what you call “hover text”), I use them a lot, as you might have seen already. Unfortunately, the only work on desktops, not on phones, as there is no hovering on a touch screen.

I could extend the current tooltip for the “Bookmark” buttons as you suggested (they’re only pink on the theme you’re using btw, the standard color is blue :slight_smile: ), but again this could only be seen for desktop users.

A “tip of the day”, which also nobody ever reads and is just annoying most people anyway, doesn’t help either.

The only thing I can think of, would be to show a message when a bookmark is created on a paragraph, so users understand what just happened when they accidently trigger that. But again, this should only pop up once to not become a nuisance…

I mean, that would be great (and I;m sure could be used for other features) but unless there’s already code that enables that kind of tracking, that’s likely to be a fair amount of work… The benefit may not outweigh the effort. The site already keeps track of our favourites and so on, so obviously there is user data that is stored. Having a very quick fiddle, it looks like Favourites and Bookmark buttons must do some kind of AJAX call. (How that’s done is beyond me at the moment. I haven’t done any serious web work in over 15 years, so I actually don;'t know how the call is being made, since there’s no javascript being called on the Favourites button. … ) And I had a look in the Inspector. And oh, theres and event listener attached to the CSS for the Favourites button. Which does an AJAX call to set the Favourite. Nice.

Since that process exists, I would imagine it would not be hard to do something for pop up Help where needed.

BTW, is this code yours? If so, or even if mostly, I hope you have a job in the industry. Because to me it looks damn elegant and sophisticated. (And commented. Yay!)

Implementing it wouldn’t be the issue, there are many other places with similar mechanisms. I just wonder if it would be helpful or a nuisance to the user. This is sometimes hard to forsee.

Yes, all the code is mine (where it hasn’t been ‘inherited’ from Hugh’s original coding. And yes, I’m working in IT. And I’m glad that I have GSS to be allowed to code whatever I want :slight_smile: