NewsBlur
NewsBlur copied to clipboard
Android: Saved story tags
A user brought up that Android allows you to read by saved story tags but not yet save stories with tags. So lets build that. Check out the iOS implementation, but it's basically a popover with a selectable list with counts.
https://forum.newsblur.com/t/android-article-save-issues/8631
@samuelclay I need some guidance on saving/unsaving the story tags with the backend.
Let's say that I have a saved story with 2 tags, test1
and test2
. The tag test1
has count = 3 and the tag test2
has count = 1.
In the saved story tags dialog, I decide to remove test1
from this story and add test3
to it. I'm using /reader/mark_story_hash_as_starred/
to send all of the story's user_tags
but it looks like it's not overriding all the tags. The tag test1
is still attached to the story but its count is decreased by 1 as expected. Tag test3
does get attached correctly and shows up after remote sync.
What would be the correct steps to make this update on the backend?
One thing that came to mind is that user_tags[]
is an array and there may be a ios/web/android difference here.
This is how iOS send user_tags: https://github.com/samuelclay/NewsBlur/blob/dashboard3/clients/ios/Classes/StoriesCollection.m#L761-L767
And here's how the backend expects user_tags (and idempotently sets them as a complete set): https://github.com/samuelclay/NewsBlur/blob/dashboard3/apps/reader/views.py#L2506-L2512
TODO: Allow user to add tags when the story is saved via the Save
button on the story reading view.
How close is this?
The TODO item is still pending and I can focus on it now that the UI changes are done. I should have it ready this week.
I've found this change confusing and even a bit annoying.
-
I was not aware of this tagging feature so at first I thought the Save button was broken and triggering some other feature which I did not want - seeing a dialog "Saved Tags" and the action "Save Tags" creates a disconnect from "Save Story".
-
Once I had the time to learn more and understand the feature I was a bit frustrated that the action which I could previously perform in one tap now requires two taps and finger travel.
-
Deciding I really had no need for this tagging feature I went hunting for a Preference to disable it and found none.
Please give this a preference or make it less intrusive by having the button save the story without tags and then presenting a way to add tags which can be ignored.
One source of inspiration that I think works really well is the Pocket app's Quick Save Actions: https://blog.getpocket.com/2013/12/pocket-5-1-for-android-introduces-a-new-way-to-tag-share-when-you-save/
What about a long tap to save without specifying a tag? Also, we should change the “Save Tags” button to just “Save Story”.
I'm willing to give long tap a try.
However, it is not my ideal solution. I find long tap not easily discoverable by users and it seems a less intuitive for quick save.
I'm struggling to think of examples where long tap is used as a shortcut to accomplish less or do it quicker. It seems to me the most common use in Android is showing what an icon button does, followed by context menus or more actions.
A possible solution would be to save story on single tap and open custom saved story tags dialog/popup on long press.
Yeah I agree that long tap is undiscoverable. What about making the dialog half the screen height, so the user can just tap on half of the screen to dismiss, like a popover? This is what we do on web and iOS.
I'm unsure what that would look like on Android - could we get a screenshot from iOS?
On the web I drive Newsblur almost entirely from the keyboard and I'm typically just hammering 's' then 'j' to move to the next unread item. It was only in the past week that I even noticed that it shows a Save Tag form. I like that design and if something like that could be done on Android it would be nice. I'm picturing the Save button saves the story and opens a collapsed section below the story containing the Save Tag form and a Save Tag button.
The other thought I've had is a kind of split button like (excuse the crude ASCII art): [🕓 Save | ➕]
So the left portion 'Save' would be the old way and the right '+' would trigger the new dialog. Unfortunately, I haven't been able to find a good example of this out in the wild so it's probably a bad idea. The closest I've been able to find on Android is the Material Design toggle button:
But it would be a bit of an abuse to make it work as I'm thinking.