In response to the call for community input announced by @steemitblog :
Now that the communities feature is about to being implemented, I think that many things will change as a result. With things being a lot more organized, quality will become critically important to maintaining user engagement. I don't know what new features you will include in the new design, but I would like to think beyond having communities and a new design, to what will eventually be a deciding factor in Steemit's mainstream adoption. People need to enjoy being on Steemit and fall in love with the experience.
I have identified discoverablility of posts, communities and authors as an important part of the user engagement process. The easier and quicker it is for someone to discover content they feel is worth their time and attention, the more time they are willing to spend. Just like with money. The easier it is to buy good things, the more people tend to buy, and with "spending time" this process has far less friction than spending money, in my opinion.
Undoubtedly, the thing that keeps most people from spending a lot of time on Steemit right now is that the interface kills engagement. It's hard to find content and discussions you connect with, and things need to be organized.
With communities, all of this will change. People will actually want to spend as much time as they can on the platform, getting all the valuable intellectual property they can absorb. It is this synergy between the multiple voices on Steemit that will need to be nurtured.
We need more features that focus on improving engagement. Features that make it almost effortless to bump into something that you'll appreciate spending your time on.
One such feature is User Profiling.
User Profiling
This feature will probably come as a precursor to a more elaborate recommendation system. I've got ideas for the recommendation system and I will post them soon. I'm still working on them. It will be more like a "Discover" tab in a person's feed. Here's just a basic mockup of what it could look like:
To bring this feature to life, it will be necessary to come up with user profiling mechanisms, using a combination of the public data that's already on the blockchain and other off-chain data sets that can be populated. I'm not sure if all of this is possible to implement, I'm not a pro developer, so I'll just suggest. The " user profile" will be used to generate relevance scores for individual posts to decide whether or not to recommend them to a user.
It's interesting to note though, that since every action a user takes on Steemit will be recorded on the blockchain and will be public, creating a profile for someone will be possible for any third party. Maybe we'll see someone come up with that kind of tool. :)
How to create a User Profile
preferences
It would be good to give people the chance to state what they like from the beginning, especially if their accounts are new and they haven't generated enough data for the AI to recommend stuff. It would also be good to let them know why this information is needed and how their recommendations will impove with time, as they read, vote and comment. (Gamification)
reading habits
A few data points can be utilized from the way a user interacts with the posts he or she opens:
- What a person reads
- How long they read it (in comparison to how long the post is)
- And what action they take after reading it (leave without doing anything, or vote, or comment, or resteem)
voting habits
Since there are two options (Upvote or Downvote) this should bring in a lot of useful data.
- Downvotes give data on the types of posts/authors the person doesn't like
- Upvotes should affect the profile more, because a peron is more likely to upvote a post they like than downvote a post they don't like (unless it's really bad).
- I'm sure a web of sorts can be generated from all the votes a person makes (and their weights), in such a way that we can calculate the probability of a person upvoting a post they haven't read yet, before recommending it to them, by comparing it to other posts the person interacted with.
commenting habits
We can take this to the commenting aspect as well. Most people only take the time to comment on things they connect with and the commenting habits of a person will reveal the types of content that they are drawn to. If it would be possible to add this metric to the whole set, then we could factor in the types of conversations a person engages with mostly, and then match them with conversations happening elsewhere. This could be a factor in deciding what to recommend to a user.
All the metrics above can be used to evaluate a potential recommended post for relevance and score it. This will mean all posts made within a reasonable time frame (maybe seven days, or three) that the user has not seen, can be scored for relevance and then recommended in a sortable manner.
simple flow chart:
I'm working on this idea some more and I'll write about the individual processes we might employ, and the data sets we can work with for each type of relevance score metric.
Posted on Utopian.io - Rewarding Open Source Contributors