Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TAG generation/suggestion #320

Open
360fun opened this issue Oct 12, 2018 · 10 comments
Open

TAG generation/suggestion #320

360fun opened this issue Oct 12, 2018 · 10 comments

Comments

@360fun
Copy link

360fun commented Oct 12, 2018

PROBLEM

Find proper TAGS for a post can be frustrating and often people skip this step, even it helps a lot to find information in the future.

SOLUTION

Would be cool to integrate a TAG generator + suggestion engine that is basically acting in the following way:

GENERATOR FROM TEXT
The script looks inside the text and find keywords.

Example:
"An Earthship is a type of house that is built with natural and recycled materials with energy conservation in mind. Designed by the architect Michael Reynolds and his company Earthship Biotecture, it is built to produce water and electricity for its own use. Mainly made of earth-filled tires it takes advantage of thermal mass, natural heat insulation and ventilation to maintain its temperature. Since it does not require any public utilities such as gas, electricity, water or sewage it can be considered as an off-the-grid housing, meaning that it can live away from public utilities."
found TAGS = built, earthship, electricity, house, natural, public, utilities, water (https://tagcrowd.com/ is doing this)

image

GENERATOR FROM LINK
In case of a link the script tries to get existing TAGS from the source (video, article...).

Example:
A YouTube video already integrates TAGS. (https://rapidtags.io/generator/ do this for YouTube)

image

SUGGESTIONS FROM GENERATED TAGS
In top of the previous TAGS discovered in the user input (text/link) could be great have an "AI like" feature that suggests other keywords (big data), not originally present: this would be really powerful since adds information in a quick way to the content we wanna share.

Example (in relationship of the previous ones):
suggested TAGS = natural building, bio-construction, recycling, ecology...

MOCKUP

image

Generated TAGS: light grey
Suggested TAGS: darker grey
Selected TAGS: green

NOTES

  • I think is better to start with the "generator part" and later add the "suggestion AI", since is more complex
  • I suggest to increase TAGS from 5 to 30 (like Twitter) or anyway a higher number
@appinteractive
Copy link
Member

Interesting approach. Are there any services that we could use internally? I mean without relying on third party services?

After testing the tools the suggested tags where not really promising ether. 😕

@360fun
Copy link
Author

360fun commented Oct 15, 2018

I found some code:

GENERATORS FROM TEXT
https://readwrite.com/2011/05/13/tagger/

GENERATOR FROM YOUTUBE
https://github.com/pprmint/ytvid-tag-recommender

Can be the starting point to create a new library! ;)

@ghost
Copy link

ghost commented Oct 15, 2018

wouldn't a simple first-3-letters autocomplete be sufficient for something to start with? Otherwise we would need some sort of recommendation service based on data.

@roschaefer
Copy link
Contributor

I like the approach but I also like to give the user full control, ie. no "magic". I am also afraid that this behaviour might require to send a lot of code to the frontend?

@360fun
Copy link
Author

360fun commented Oct 15, 2018

wouldn't a simple first-3-letters autocomplete be sufficient for something to start with? Otherwise we would need some sort of recommendation service based on data.

good idea! ;) and I suggest to make all tags lowercase!

@360fun
Copy link
Author

360fun commented Oct 15, 2018

I like the approach but I also like to give the user full control, ie. no "magic". I am also afraid that this behaviour might require to send a lot of code to the frontend?

The user has full control: tags are suggested but not selected by default (you can see the colors legend below the mockup).
The computation can be server side (easier) and (for the "text case") could be optimised in this way:
the user must select a category in order to post the comment, right? So we wait that behaviour to lunch the "tag generation" script, in this way it doesn't waste the server CPU (like in the case of lunching it several times on-typing) and the answer would be just the list of (suggested) tags. :D

Also adding the YouTube script could be a way to start: that should be really easy since the server is already called to generate the "link preview". Script will load the thumb, the description and the tags so in the answer is just needed to add those tags. ;)

Another idea: after implementing the suggestion system I would force the user to pick up at least 3 tags (or less but at least 1) in order to post the comment (like the category).

@appinteractive
Copy link
Member

The tag recommendations from links which you post into the post might be nice.

As I build the url preview fetcher (embed-api) which we use, we could extend the response with Tags that was found for links and videos.

But I also would suggest them in a autocomplete or hint the user that something was found for them.

@360fun
Copy link
Author

360fun commented Oct 15, 2018

You basically suggest to wait the user to start typing and then provide a list of suggested tags like when you write in a search engine?

image

Why do you prefer this solution? Sounds slower and less effective to me: if I don't write "re" I don't get "recycle" so I feel the whole point of the feature (help to find new keywords) would be lost. :(

@appinteractive
Copy link
Member

No sure you are right, but we could show the default suggestions at first before starting to type.

Also could we show a modal on save with the suggestions when the user did not give us any tags at all. There the user could get some help and guidance but could shut it off on the settings.

The questions is, what do we exactly want to achieve?

I thing the goal should be to get the best possible tags for as many posts as possible without overwhelming or forcing the User to much.

Also one thing would be to add plane hashtags from the editor as tags automatically!?

@360fun
Copy link
Author

360fun commented Oct 16, 2018

No sure you are right, but we could show the default suggestions at first before starting to type.

I don't understand how it differs, in my mockup I do pretty much the same, but the user doesn't have to waste time to write them since is just needed to "select" them. If some tag is missing there's still the input to add new ones. Can you show me a mockup of your vision?

Also could we show a modal on save with the suggestions when the user did not give us any tags at all. There the user could get some help and guidance but could shut it off on the settings.

Modals most of the time are redundant: I try to make the UI/UX simple and with less interactions possibile, without decreasing the user decisional power of course.

The questions is, what do we exactly want to achieve?

"Find proper TAGS for a post can be frustrating and often people skip this step, even it helps a lot to find information in the future."
Meaning people often don't write tags because it's time consuming, I'm looking for a way to make the process more natural, providing relevant tags and increase the possibility to have more consistent meta information.
This would be pretty fundamental to find posts in a decentralized way. For example Mastodon is designed to search only by tags.

I thing the goal should be to get the best possible tags for as many posts as possible without overwhelming or forcing the User to much.

For me is just a way to "help" and speed up the process, not a way to make it completely automatic: the user is the one who takes action and decides.

Also one thing would be to add plane hashtags from the editor as tags automatically!?

You mean "tags in the text"? like this:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants