---
# System prepended metadata

title: Unirep Social Features
tags: [Unirep]

---

---
title: Unirep Social Features
tags: Unirep

---
# Unirep Social
#### August 26th, 2021
Unirep Social is in Version 1 production. This document outlines Version 1 user scenarios the UI elements that will make those scenarios possible. Features and functions of later versions are listed at the end of this document.

The goal of this experimental project is to create a novel social media application, that utilizes concepts and UI elements from traditional social media apps to promote user adoption. Although the users will be participating in a new and unique system the barrier to entry should be low.

### Our goal is to identify the bounds of the system and develop a learnable UI.

Learnability and ease of use are key at this phase in order to create a community on the platform. We recognize that we need a large enough audience to adopt the system in order for us to observe how it is used socially.
.
.

## V1 User Scenarios

The first  version of Unirep Social will allow users to participate in an anonymous social network fueled by reputation points. Users can post, comment, and vote on other posts using reputation points. Users can gain reputation points by receiving positive votes and  use their points to interact with content shared by other users. 

The network runs on Epochs that last 1 week. Users participate in weekly User State Transitions (USTs) where their score is reconciled from the previous epoch. Users can generate 5 epoch keys each epoch, which will expire at the end of the epoch. Users have to perform a UST to move on to next epoch and generate new epoch keys.

A user can use any of the 5 epoch keys to post, comment or vote. There is no action limit to using epoch keys except lack of funds or failure to perform the UST.
### Signing Up + Logging In/Out ###

*The following is subject to change if InterRep is used instead of Twitter.*

Anyone can sign up for Unirep Social if they have a Twitter account. Having a Twitter account is a way of authenticating the sign up is being conducted by a person. We also believe that using Twitter to sign up lowers the barrier to entry. 

The Twitter account details are not stored in Unirep Social and a Unirep Social private key can not be traced to the Twitter account used to generate it. A user can log out manually and if they are logged out of the system involuntarily for any reason, they can use their private key to log back in.




**UI Elements:**

* Sign Up with a Twitter account
* Download private key
* Login with private key
* Logout button in header nav **(WIP)**


![](https://i.imgur.com/ZBaWiyK.png)
Sign Up

![](https://i.imgur.com/iqbkomI.png)
Private Key Download

--------
### Scrolling the Feed ###
The home page  will consist  of an input field at the top of the page for users to create posts and an infinite scrolling feed below. The feed can be sorted but we will not offer filters in  Version  1.

**UI Elements:**

* Create Post
    * Collapsed input field
    * Expands to include post form

* Sort
    * Value vs. Time Toggle
    * Sorting by *value* allows users to sort posts or comments by the lowest or highest number of reputation awarded to epoch keys during a certain period of time.
    * Sorting by *time* allows users to sort posts or comments from newest to oldest or vice versa.

![](https://i.imgur.com/KK00m0U.png)
Home Page Feed

--------

### Creating a Post ###

Creating a post requires users to choose what info to display for the post id field. They have the option to display a reputation score and must choose which epoch key they would like to display as the author of the post.  The epoch key is selected from a list of 5 keys available for that epoch. The reputation score is any number they choose between 5 and their total reputation score.

**UI Elements:**

* 200 character limit
* Choose epoch key from dropdown
* Display or hide reputation **(WIP)**
* Reputation point input field

![](https://i.imgur.com/kC29CzJ.png)
Create A Post Form

--------
### Interacting with a Post ###

Users with enough reputation points will be able vote and comment on others' posts

**UI Elements:**

* Up or down vote
* Comment
* See who voted via details modal **(WIP)**
* View post and all comments on post's page
* Link post date and time (transaction confirmation) to Etherscan

![](https://i.imgur.com/T55KUOP.png)
A Post

![](https://i.imgur.com/uVuZNTq.png)
Votes Details


--------
### Voting ###

Reputation points are used to up-vote or down-vote a post or comment. Up-voting decreases the reputation score of the voter and increases the reputation score of the poster. Down-voting decreases the reputation score of both the voter and the poster. For example, a user must have +10 points to down-vote by -10 points.

A user cannot exceed their own reputation score when applying points to the vote that they cast. 

**UI Elements:**
* Up and down vote buttons
* Voting modal with input field
* Placeholder text in input field: "Value between 1-10"

![](https://i.imgur.com/tEB73Ae.png)
Voting Modal

--------

### Commenting ###

3 reputation points are used to comment on other user's posts.

**UI Elements:**
* 200 character limit
* Choose epoch key from dropdown 
* Display or hide reputation **(WIP)**
* Reputation point input field 

![](https://i.imgur.com/Wgo0B5x.png)
Create a Comment Form

--------

### Participating in a User State Transition ###

If a user is logged in, the UST happens automatically (we will test to see if there are issues with this. If so, we could implement additional steps in V2). After the UST, every user will earn 20 points. 

**UI Elements:**
* Countdown clock in nav bar
* Show total amount of rep from previous epoch
* Updated rep score shows at beginning of new epoch

![](https://i.imgur.com/NSkrgng.png)
Header nav with UST countdown clock and reputation points from previous epoch. 

--------

### Viewing One's Page ###

A users wall shows their posts in an infinitely scrolling feed.

**UI Elements:**

* List of posts
* Sort newest to oldest or vice versa **(WIP)**
* Total reputation score which links to Reputation Score History Page 
* Default randomized icon as their persistent avatar. Also appears in the header nav. 

![](https://i.imgur.com/czacbmx.png)
My Page with Feed of My Posts

--------

### Reviewing Reputation Score History ###

After a UST occurs, users will be able to view their total reputation score from the epoch that just ended. They can also review the actions that occurred during the epoch that influenced their score. They will see all of their actions (posting, commenting, voting) that lowered their score and the votes from others that either had a positive or negative impact on their score.
 
**UI Elements:**

* Epoch totals page **(WIP)**
* Epoch details page **(WIP)**

![](https://i.imgur.com/JyIwRXZ.png)
Reputation Score History

![](https://i.imgur.com/Fzq1Igt.png)
Reputation Score Details

--------

### Sharing Content ###
In Version 1, users will be able to share content posted on the network via copy/paste of a link. 

**UI Elements:**
* Share button next to a post or comment
* Pop-up modal with button to copy link **(WIP)**

![](https://i.imgur.com/T55KUOP.png)
Share Using the Paper Airplane Button Near Top Right

-------



## Later Versions 
Unirep Social plans to support the following additional features/functions in later versions. All items will require future conversation and workshops.

* Sign up with Github or InterRep
* Login by uploading private key
* Filter options for feed
* Create a user name for posting
* Random avatar generator to accompany user name
* Share directly to Twitter 
* Increase character limit of posts
* Posts support pictures and videos 
* Support of different tokens (e.g. future POAP token)
* Ability to vote with different tokens 
* Followers
* Search 
    * hashtags
    * posts
    * comments
    * epoch keys
* Search results page
* User can create and join moderation committees
* User can enable moderated feed
